モニタリング・アセットの構成およびデプロイ

Oracle Database 19cおよびApache TomcatでLinux ARMホストをオンボードするには、次のタスクを完了する必要があります。
  1. Apache TomcatにAPM Java Agentをデプロイします。
  2. アプリケーション・エンドポイントを監視するための合成モニタリングを構成します。
  3. 管理エージェントをデプロイします。
  4. スタック・モニタリングのDiscoverインフラストラクチャ。

Application Performance Monitoringの構成

まず、アプリケーション・パフォーマンス・モニタリングを構成します。

WebブラウザからOCIテナントにログインします。クラウド・シェルから次のコマンドの大半を入力します。詳しくない場合は、関連するドキュメントを参照してください。O&Mリソース(APMドメインなど)のコンパートメントがない場合は、ここで作成します:
  1. 「アイデンティティとセキュリティ」「コンパートメント」の順に選択します。「コンパートメントの作成」をクリックします。
  2. 次の例のように、意味のある名前および説明を指定します。
    • Name (名前) = om-demo
    • Description (摘要) = Compartment for Observability & Management resources
    コンパートメントがプロビジョニングされるまでしばらく待ちます。完了したら、コンパートメントのOCIDを書き留めます。

次に、次の手順を実行します。

  1. クラウド・シェルを開き、次のようにして、新しいAPM Free Tierドメインを作成します。
    1. 次のように入力して、O&Mリソースのコンパートメントを選択します:
      export COMPARTMENT_OCID=YOUR_COMPARTMENT_OCID
    2. 次のように入力して、APMドメイン名を選択します:
      export APM_DISPLAY_NAME=demoapm01 
      
      oci apm-control-plane apm-domain create --compartment-id $COMPARTMENT_OCID --display-name $APM_DISPLAY_NAME --is-free-tier TRUE --wait-for-state SUCCEEDED --wait-interval-seconds 15 
  2. 「監視および管理」「Application Performance Monitoring」「管理」の順に選択して、作成ステータスを表示します(必ず正しいコンパートメントを選択してください)。
    ドメインが作成されるまで待機します。これには約5分かかります。クラウド・シェルを使用して、次のコマンドを使用して進捗を確認することもできます。
    export COMPARTMENT_OCID=YOUR_COMPARTMENT_OCID 
    
    oci apm-control-plane apm-domain list --compartment-id $COMPARTMENT_OCID --all --query "data[].{\"display-name\":\"display-name\",\"lifecycle-state\":\"lifecycle-state\",\"id\":\"id\"}" --output table 
    次のようなレスポンスが表示されます:
    +--------------+-----------------------------+-----------------+
    | display-name | id                          | lifecycle-state |
    +--------------+-----------------------------+-----------------+
    | demoapm01    | ocid1.apmdomain.oc1.***.*** | ACTIVE          |
    +--------------+-----------------------------+-----------------+
  3. APMドメインOCIDを書き留め、次のコマンドを入力してdata-upload-endpointおよびdatakeys (後でJava APMエージェントのインストールに使用する)を生成します:
    export APM_OCID=YOUR_APM_DOMAIN_OCID
    
    oci apm-control-plane apm-domain get --apm-domain-id $APM_OCID --query "data.{\"data-upload-endpoint\":\"data-upload-endpoint\"}" --output table
    
    oci apm-control-plane data-key list --apm-domain-id $APM_OCID --all --query "data[].{\"name\":\"name\",\"type\":\"type\",\"value\":\"value\"}" --output table
    
    次のようなレスポンスが表示されます:
    +-----------------------------------------------------------------------------+
    | data-upload-endpoint                                                        |
    +-----------------------------------------------------------------------------+
    | https://***.apm-agt.***.oci.oraclecloud.com                                 |
    +-----------------------------------------------------------------------------+ 
    
    +--------------------------------+---------+----------------------------------+
    | name                           | type    | value                            |
    +--------------------------------+---------+----------------------------------+
    | auto_generated_private_datakey | PRIVATE | ******************************** |
    | auto_generated_public_datakey  | PUBLIC  | ******************************** |
    +--------------------------------+---------+----------------------------------+
  4. 「監視および管理」「Application Performance Monitoring」「管理」の順に選択し、APMエージェントのダウンロード・ページからJavaエージェントをダウンロードします。
  5. JARファイルを各Apache Tomcatホストにコピーします。
    [tomcat@stvociapp021 ~]$ pwd
    /home/tomcat
    [tomcat@stvociapp021 ~]$ ls -l apm-java-agent-installer-1.10.1.3.jar
    -rwxrwxr-x. 1 tomcat tomcat 11741769 Jul 26 07:39 apm-java-agent-installer-1.10.1.3.jar
    [tomcat@stvociapp021 ~]$
    
  6. 次のコマンドを使用してJava AgentをTomcatユーザーにインストールします(独自の環境に基づいてVARIABLESを構成します)。
    1. Apache Tomcatインストールのホームパスを設定します。
      export APM_INSTALL_DESTINATION=/opt/tomcat 
    2. APMインストールJARフルパスを設定します。
      export APM_INSTALLER=/home/tomcat/apm-java-agent-installer-1.10.1.3.jar 
    3. APMドメイン・エクスポートで使用するサービス名を選択します:
      APM_SERVICE_NAME=apex_tomcat_service
    4. APMドメイン情報を追加します。
      export APM_PRIVATE_KEY=YOUR_PRIVATE_KEY 
      export APM_ENDPOINT=YOUR_APM_ENDPOINT 
      export APM_PUBLIC_KEY=YOUR_PUBLIC_KEY
    5. 必要に応じて、スレッド・スナップショットやAPMブラウザ・エージェント・インジェクションの有効化などのAPMオプションを追加します。
      export APM_ADDITIONAL_OPTIONS="-property=com.oracle.apm.agent.deepdive.trace.snapshots.collection.enable=true" 
    6. JAVA_HOMEおよびPATH変数を設定します。
      export JAVA_HOME=PATH_TO_JAVA_HOME 
      export PATH=$JAVA_HOME/bin:$PATH
    7. APM Javaエージェントをインストールします:
      java -jar ${APM_INSTALLER} provision-agent -service-name=${APM_SERVICE_NAME} -destination=${APM_INSTALL_DESTINATION} -private-data-key=${APM_PRIVATE_KEY} -data-upload-endpoint=${APM_ENDPOINT} ${APM_ADDITIONAL_OPTIONS} -public-data-key=${APM_PUBLIC_KEY}
  7. javaagentプロパティを追加して、Apache Tomcat JAVA_OPTSを変更します。次に例を示します。
    export JAVA_OPTS="-Dconfig.url=${ORDS_CONFIG} -Xms1024M -Xmx4096M -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true -javaagent:${TOMCAT_HOME}/oracle-apm-agent/bootstrap/ApmAgent.jar "
  8. Apache Tomcatを再起動します。
  9. Javaエージェントのログ・ファイルを確認します(TOMCAT_HOMEをTomcatインストールのホーム・パスに変更します)。
    ls -l ${TOMCAT_HOME}/oracle-apm-agent/log/*/Agent* 
  10. 最後に、「監視および管理」「Application Performance Monitoring」「トレース・エクスプローラ」の順に選択し、トレースが正しく収集されていることを確認します。

合成モニタリングの構成

Apache TomcatでAPM Javaエージェントを構成した後、モニターを作成してアプリケーションのユーザー・アクティビティをシミュレートできます。OCIコンソールまたはOCI Cloud Shellを使用して、OCIリソースをプログラムで作成します。

「合成モニタリング」ページ(「監視および管理」「Application Performance Monitoring」「合成モニタリング」)にナビゲートして、アプリケーション・エンドポイントを継続的にテストするモニターを作成します。

クラウド・シェルを開き、アプリケーションのBROWSERモニターを迅速に作成します。その後、次を行います:

  1. 使用可能なバンテージ・ポイントのリストを取得します:
    export APM_OCID=YOUR_APM_DOMAIN_OCID 
    
    oci apm-synthetics public-vantage-point-collection list-public-vantage-points --apm-domain-id $APM_OCID 
  2. アプリケーション・エンドポイントをテストします(この例では、アッシュバーン・リージョンを使用してこれらのエンドポイントをテストします):
    echo "[\"OraclePublic-us-ashburn-1\"]" > $HOME/vantage_points.json
  3. 可用性構成のJSONファイルを作成します。
    echo {\"maxAllowedFailuresPerInterval\": 0, \"minAllowedRunsPerInterval\": 1} >  availability_configuration.json
  4. ネットワーク測定用のJSONファイルを作成します:
    echo {\"probeMode\": \"SACK\",  \"probePerHop\": 3,  \"protocol\": \"TCP\" } > network_measurements.json
  5. 最後に、モニターを作成します。
    1. APMドメインを特定します。
      export APM_OCID=YOUR_APM_DOMAIN_OCID
    2. モニター名を指定します。
      export MONITOR_DISPLAY_NAME=demo-monitor-01 
    3. アプリケーション・エンドポイントURLを指定します:
      export MONITOR_TARGET=http://LOAD_BALANCER_PUBLIC_IP/APPLICATION_TEST_URL
    4. モニタリング間隔を秒単位で指定します。
       export MONITOR_REPEAT_INTERVAL=360 oci apm-synthetics monitor create-browser-monitor --apm-domain-id $APM_OCID --display-name $MONITOR_DISPLAY_NAME --monitor-type BROWSER --repeat-interval-in-seconds $MONITOR_REPEAT_INTERVAL --vantage-points file://$HOME/vantage_points.json --is-certificate-validation-enabled FALSE --is-failure-retried true --target $MONITOR_TARGET --availability-configuration file://$HOME/availability_configuration.json --network-configuration file://$HOME/network_measurements.json
「合成モニタリング」ページから、作成したモニターのステータスを確認できます。この例では、指定されたURLは6分ごとにモニターされます(テスト結果の詳細を表示するには、モニター名をクリックし、「リソース」メニューから「履歴」を選択します)。

管理エージェントのデプロイ

スタック・モニタリングを構成する前に、モニターする各ホストにOracle Management Agentをインストールする必要があります。このデモでは、管理エージェントにRPMインストールを使用します(Linux ARMホストがオンプレミスまたは別のクラウド・プロバイダで実行されている場合は、この方法を使用できます)。

ノート:

Oracle Management Agentのインストール方法がわからない場合は、OCIドキュメントの「管理エージェントのインストール」を参照してください。このプレイブックの最後にある「詳細」のトピックからアクセスできます。
開始する前に、「ダウンロードとキー」ページから管理エージェント・ソフトウェアをダウンロードします:
  1. 「管理エージェント」「ダウンロードとキー」の順に選択します。
  2. パッケージ・タイプがRPMの「LINUXのエージェント(AARCH64)」を選択します。
  3. 同じページから、新しいインストール・キーを作成してエージェントを構成します。必要なパラメータを指定してください:
    • キー名= demo-key-01
    • コンパートメント= om-demo
    • 最大インストール= default

ノート:

インストール・キーの作成方法がわからない場合は、OCIドキュメントの「インストール・キーの作成」を参照してください。このプレイブックの最後にある「詳細」のトピックからアクセスできます。
次に、管理エージェントをデプロイします:
  1. SSHを使用してLinuxインスタンスに接続し、まだ存在しない場合はJDK8をインストールします:
    # dnf install -y java-1.8.0-openjdk 
  2. 管理エージェントをインストールします:
    # rpm -ivh oracle.mgmt_agent.230622.2155.Linux-Aarch64.rpm
  3. 次の例に示すように、管理エージェントを構成します。
    1. viエディタを開きます。
      # vi /usr/share/mgmt_agent/input.rsp 
      
    2. 次の内容を追加します。
      ManagementAgentInstallKey = <COPY_YOUR_KEY_HERE>
      CredentialWalletPassword = <CHOOSE_YOUR_WALLET_PASSWORD>
    3. 管理エージェントの所有者を変更します。
      # chown mgmt_agent. /usr/share/mgmt_agent/input.rsp 
  4. 管理エージェント構成をファイナライズするには、次のコマンドを実行します。
    # sudo /opt/oracle/mgmt_agent/agent_inst/bin/setup.sh opts=/usr/share/mgmt_agent/input.rsp  
数分後、「管理エージェント」、「エージェント」ページにエージェントが表示されます。Stack Monitoringプラグインを有効にする必要はありません。Stack Monitoringによって自動的に有効になります。

フル・ホスト監視の有効化

スタック・モニタリング・サービスを有効にすると、次に、アプリケーションが依存するホストの完全モニタリングを有効にします。スタック・モニタリングでは、OCIコンピュート・インスタンスのモニタリングを有効にするタスクが自動的に準備されます。完全モニタリングを有効にするには、「完全モニタリングにプロモート」を選択します。プロモートする使用可能なホストのリストからTomcatおよびOracle Databaseホストを識別し、「プロモート」を選択します。これによりスライドアウトが呼び出されます。このスライドアウトから、リソース名がホストの完全修飾ドメイン名と一致することを確認します。次に、「昇格」をクリックします。数分以内に、Stack Monitoringによって新しいホームページが作成され、新しいメトリックの収集が開始されます。

スタック・モニタリングの構成

最後に、スタック・モニタリングを構成する必要があります。

実際にサービスを構成する前に、次の前提条件を満たす必要があります。
  1. スタック・モニタリング・サービスを有効にします。
  2. JMXモニタリングを有効にします。
  3. Oracle Databaseモニタリング・ユーザーを作成します。
次に、次のステップを実行してスタック・モニタリングを構成します:
  1. ホストの完全なモニタリングを有効にします。
  2. Discover Oracle Database。
  3. Discover Apache Tomcat。
これらのプロセスについては、次のステップを実行します。
  1. スタック・モニタリング・サービスを有効にします:
    「監視および管理」「Application Performance Monitoring」「スタック・モニタリング」の順にナビゲートし、「スタック・モニタリングの有効化」をクリックします。
  2. Apache TomcatでJMXを有効にします。
    スタック・モニタリングでは、検出前にJMXを有効にする必要があります。Apache TomcatでJMXを有効にするには、次の手順を実行します。
    1. 次の行をsetenv.batに追加します。
      set CATALINA_OPTS=-Dcom.sun.management.jmxremote 
      -Dcom.sun.management.jmxremote.port=9012 
      -Dcom.sun.management.jmxremote.ssl=false 
      -Dcom.sun.management.jmxremote.authenticate=false
    2. jmxremote.accessおよびjmxremote.passwordファイルを格納する構成フォルダを作成します。
      mkdir -p /opt/tomcat/conf
    3. jmxremote.accessをtomcatユーザーとして作成します。
      cd /opt/tomcat/conf 
      echo "monitorRole readonly 
      controlRole readwrite" > jmxremote.access 
    4. jmxremote.passwordファイルに次を追加します。パスワード・ファイルは読取り専用で、オペレーティング・システム・ユーザーのTomcatが実行されている場合にのみアクセス可能である必要があることに注意してください。Tomcatユーザーとして:
      cd /opt/tomcat/conf 
      echo "monitorRole tomcat 
      controlRole tomcat" > jmxremote.password 
    5. Apache Tomcatを再起動します。
  3. データベース・モニタリング・ユーザーを作成します。
    スタック・モニタリング内でデータベースを検出する前に、モニタリング・ユーザーにアクセスできることを確認してください。Oracle Databaseに組み込まれており、データベースの監視に必要な権限を持つDBSNMPユーザーを使用するか、必要な権限のみを持つカスタム・ユーザーを作成できます。データベース監視ユーザーを作成するステップは、MOSノート: 2857604.1にあります。このノートは、このプレイブックの最後にある「さらに探索」からアクセスできます。
  4. フルホストモニタリングを有効にします。
    スタック・モニタリング・サービスを有効にすると、最初のステップは、アプリケーションが依存するホストの完全モニタリングを有効にすることです。スタック・モニタリングでは、OCIコンピュート・インスタンスのモニタリングを有効にするタスクが自動的に準備されます。完全監視を有効にするには:
    1. 「完全モニタリングにプロモート」をクリックします。
    2. プロモートする使用可能なホストのリストからTomcatおよびOracle Databaseホストを識別し、「プロモート」をクリックします。これにより、スライドアウトが起動します。
    3. このスライドアウトから、リソース名がホストの完全修飾ドメイン名と一致することを確認し、「Promote」をクリックします。

    数分以内に、Stack Monitoringによって新しいホームページが作成され、新しいメトリックの収集が開始されます。

  5. アプリケーションが依存するOracleデータベースのDiscover:
    Stack Monitoringの使いやすい盛り込み検出UIにより、リソースの検出が簡単になります。開始するには:
    1. 「リソース検出」ページに移動し、「Discover新規リソース」をクリックします。選択すると、スライドアウト・ウィンドウが表示されます。
    2. ドロップダウン・メニューから、Oracle Databaseを選択します。
    3. 「リソース名」「DNSホスト名」「サービス名」などのフィールドに入力し、「Discover新規リソース」をクリックします。

    ジョブが完了すると、すぐにスタック・モニタリングによってメトリックの収集が開始され、ホームページが作成されます。

  6. Apache TomcatサーバーのDiscover
    Apache Tomcatを検出するには:
    1. 「リソース検出」に移動し、「Discover新規リソース」をクリックします。
    2. ドロップダウン・リストから「Apache Tomcat」を選択します。
    3. JMXポートなどの空白のフィールドに入力し、ユーザー名とパスワードを監視して、「Discover新規リソース」をクリックします。

    ジョブが完了したら、スタック・モニタリングの「エンタープライズ・サマリー」に移動します。ダッシュボードには、Oracle Database、Apache TomcatおよびTomcatが依存するホストのパフォーマンスとステータスが表示されます。

    次に、リソースを関連付けます。これにより、アプリケーション・スタックを上下に簡単にナビゲートできます。リソースの関連付けの詳細は、「アプリケーション・トポロジの更新」を参照してください(このプレイブックの最後にある「詳細の参照」トピックからアクセスできます)。

    最後に、リソースのアラームを構成します。アラームの例:
    • ホスト
      • ファイルシステム使用率
      • CPUとメモリーの使用率
      • 監視ステータス
    • Oracle Database
      • 監視ステータス
      • CPUとメモリー
      • 待機時間
      • 表領域別ストレージ使用率
    • Apache Tomcat
      • 監視ステータス
      • JVMメモリー使用率(ヒープおよび非ヒープ)
      • CPU使用率