AWSCloudWatch Application Insights で使用される Systems Manager (SSM) パッケージ - Amazon CloudWatch

AWSCloudWatch Application Insights で使用される Systems Manager (SSM) パッケージ

このセクションに記載されているパッケージは Application Insights で使用されており、AWS Systems Manager Distributor で個別に管理およびデプロイできます。SSM Distributor の詳細については、AWS Systems Manager ユーザーガイドAWS Systems Manager Distributor を参照してください。

AWSObservabilityExporter-JMXExporterInstallAndConfigure

Application Insights の Prometheus JMX Exporter からワークロード固有の Java メトリクスを取得して、アラームを設定およびモニターリングできます。Application Insights コンソールの [Manage monitoring] (モニターリングの管理) ページで、[Application tier] (アプリケーション層) ドロップダウンから [JAVA application] (JAVA アプリケーション) を選択します。その後、[JAVA Prometheus exporter configuration] (JAVA Prometheus エクスポーター設定) で、[Collection method] (収集方法) と [JMX port number] (JMX ポート番号) を選択します。

AWS Systems Manager Distributor を使用して AWS が提供する Prometheus JMX Exporter パッケージを Application Insights とは別にパッケージ化、インストール、および設定するには、次の手順を実行します。

Prometheus JMX Exporter SSM パッケージを使用するための前提条件
  • SSM エージェントバージョン 2.3.1550.0 以降がインストールされている

  • JAVA_HOME 環境変数が設定されている

AWSObservabilityExporter-JMXExporterInstallAndConfigure パッケージをインストールして設定する

AWSObservabilityExporter-JMXExporterInstallAndConfigure パッケージは、Prometheus JMX Exporter のインストールおよび設定に使用できる SSM Distributor パッケージです。Prometheus JMX Exporter によって Java メトリクスが送信されると、CloudWatch サービスのメトリクスを取得するように CloudWatch エージェントを設定できます。

  1. ご自身の好みに基づいて、Prometheus GitHub リポジトリにある Prometheus JMX Exporter の YAML 設定ファイルを準備します。設定例とオプションの説明を参考にしてください。

  2. Base64 としてエンコードされた Prometheus JMX Exporter の YAML 設定ファイルを、SSM Parameter Store の新しい SSM パラメータにコピーします。

  3. SSM Distributor コンソールに移動し、[Owned by Amazon] (Amazon 所有) タブを開きます。[AWSObservabilityExporter-JMXExporterInstallAndConfigure] を選択し、[Install one time] (1 回限りのインストール) を選択します。

  4. 「Additional Arguments」を次のように置き換えて、最初のステップで作成した SSM パラメータを更新します。

    { "SSM_EXPORTER_CONFIGURATION": "{{ssm:<SSM_PARAMETER_STORE_NAME>}}", "SSM_EXPOSITION_PORT": "9404" }
    注記

    ポート 9404 は、Prometheus JMX メトリクスの送信に使用されるデフォルトのポートです。このポートは更新できます。

例: Java メトリクスを取得するための CloudWatch エージェントの設定
  1. 前の手順で説明したように、Prometheus JMX Exporter をインストールします。その後、ポートのステータスをチェックして、インスタンスに正しくインストールされていることを確認します。

    Windows インスタンスでの正常なインストール例

    PS C:\> curl http://localhost:9404 (http://localhost:9404/) StatusCode : 200 StatusDescription : OK Content : # HELP jvm_info JVM version info

    Linux インスタンスでの正常なインストール例

    $ curl localhost:9404 # HELP jmx_config_reload_failure_total Number of times configuration have failed to be reloaded. # TYPE jmx_config_reload_failure_total counter jmx_config_reload_failure_total 0.0
  2. Prometheus サービスの検出 YAML ファイルを作成します。次のサンプルのサービス検出ファイルは、次の処理を実行します。

    • Prometheus JMX Exporter ホストポートを localhost: 9404 として指定します。

    • メトリクスにラベル (ApplicationComponentName、および InstanceId) をアタッチします。これは、CloudWatch メトリクスディメンションとして設定できます。

    $ cat prometheus_sd_jmx.yaml - targets: - 127.0.0.1:9404 labels: Application: myApp ComponentName: arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/sampl-Appli-MMZW8E3GH4H2/aac36d7fea2a6e5b InstanceId: i-12345678901234567
  3. Prometheus JMX Exporter 設定 YAML ファイルを作成します。次の設定ファイルの例では、次の項目を指定します。

    • メトリクスの取得ジョブ間隔とタイムアウト期間。

    • スクレイピングとも呼ばれるメトリクスの取得ジョブ (jmx および sap)。これには、ジョブ名、一度に返される最大時系列、およびサービス検出のファイルパスが含まれます。

    $ cat prometheus.yaml global: scrape_interval: 1m scrape_timeout: 10s scrape_configs: - job_name: jmx sample_limit: 10000 file_sd_configs: - files: ["/tmp/prometheus_sd_jmx.yaml"] - job_name: sap sample_limit: 10000 file_sd_configs: - files: ["/tmp/prometheus_sd_sap.yaml"]
  4. CloudWatch エージェントが Amazon EC2 インスタンスにインストールされ、バージョンが 1.247346.1b249759 以降であることを検証します。EC2 インスタンスに CloudWatch エージェントをインストールするには、「CloudWatch エージェントのインストール」を参照してください。バージョンを確認するには、「CloudWatch エージェントのバージョンについての情報の検索」をご参照ください。

  5. CloudWatch エージェントを設定します。CloudWatch エージェント設定ファイルの設定方法の詳細については、「CloudWatch エージェント設定ファイルを手動で作成または編集する」を参照してください。次の CloudWatch エージェント設定ファイルの例は、次の処理を実行します。

    • Prometheus JMX Exporter 設定ファイルパスを指定します。

    • EMF メトリクスログを発行するターゲットロググループを指定します。

    • メトリクス名ごとに 2 つのディメンションセットを指定します。

    • 8 個 (4 個のメトリクス名 * メトリクス名ごとに 2 セットのディメンション) の CloudWatch メトリクスを送信します。

    { "logs":{ "logs_collected":{ .... }, "metrics_collected":{ "prometheus":{ "cluster_name":"prometheus-test-cluster", "log_group_name":"prometheus-test", "prometheus_config_path":"/tmp/prometheus.yaml", "emf_processor":{ "metric_declaration_dedup":true, "metric_namespace":"CWAgent", "metric_unit":{ "jvm_threads_current":"Count", "jvm_gc_collection_seconds_sum":"Second", "jvm_memory_bytes_used":"Bytes" }, "metric_declaration":[ { "source_labels":[ "job" ], "label_matcher":"^jmx$", "dimensions":[ [ "InstanceId", "ComponentName" ], [ "ComponentName" ] ], "metric_selectors":[ "^java_lang_threading_threadcount$", "^java_lang_memory_heapmemoryusage_used$", "^java_lang_memory_heapmemoryusage_committed$" ] } ] } } } }, "metrics":{ .... } }

AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure

Application Insights の Prometheus HANA データベースエクスポーター からワークロード固有の SAP HANA メトリクスを取得して、アラームを設定およびモニターリングできます。詳細については、このガイドの「SAP HANA データベースをモニターリング用に設定する」を参照してください。

AWS Systems Manager Distributor を使用して、AWS が提供する Prometheus HANA データベースエクスポーターパッケージを Application Insights とは別にパッケージ化、インストール、設定するには、次の手順を完了します。

Prometheus HANA データベース Exporter SSM パッケージを使用するための前提条件
  • SSM エージェントバージョン 2.3.1550.0 以降がインストールされている

  • SAP HANA データベース

  • Linux オペレーティングシステム (SUSE Linux、RedHat Linux)

  • AWS Secrets Manager を使用しており、SAP HANA データベースのモニタリング認証情報を持つシークレット。キーと値のペアの形式を使用してシークレットを作成し、キーのユーザー名を指定して、値にデータベースユーザーを入力します。2 番目のキーのパスワードを追加して、値にパスワードを入力します。シークレットを作成する方法については、AWS Secrets Manager ユーザーガイドの「シークレットを作成する」を参照してください。シークレットは、次のようにフォーマットする必要があります。

    { "username": "<database_user>", "password": "<database_password>" }
AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure パッケージをインストールして設定する

AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure パッケージは、Prometheus HANA データベース Exporter のインストールおよび設定に使用できる SSM Distributor パッケージです。Prometheus HANA データベース Exporter によって HANA データベースのメトリクスが送信されると、CloudWatch サービスのメトリクスを取得するように CloudWatch エージェントを設定できます。

  1. SSM パラメータストアで SSM パラメータを作成して、Exporter の設定を保存します。パラメータ値の例を次に示します。

    {\"exposition_port\":9668,\"multi_tenant\":true,\"timeout\":600,\"hana\":{\"host\":\"localhost\",\"port\":30013,\"aws_secret_name\":\"HANA_DB_CREDS\",\"scale_out_mode\":true}}
    注記

    この例では、エクスポートはアクティブな SYSTEM データベースがある Amazon EC2 インスタンスでのみ実行されます。また、メトリクスの重複を避けるため、他の EC2 インスタンスはアイドル状態のままになります。エクスポーターでは、SYSTEM データベースからのすべてのテナント情報を取得できます。

  2. SSM パラメータストアで SSM パラメータを作成して、Exporter メトリクスのクエリを保存します。パッケージでは、複数のメトリクスパラメータが受け入れ可能です。各パラメータには、有効な JSON オブジェクトの形式が必要です。パラメータの値の例を次に示します。

    {\"SELECT MAX(TIMESTAMP) TIMESTAMP, HOST, MEASURED_ELEMENT_NAME CORE, SUM(MAP(CAPTION, 'User Time', TO_NUMBER(VALUE), 0)) USER_PCT, SUM(MAP(CAPTION, 'System Time', TO_NUMBER(VALUE), 0)) SYSTEM_PCT, SUM(MAP(CAPTION, 'Wait Time', TO_NUMBER(VALUE), 0)) WAITIO_PCT, SUM(MAP(CAPTION, 'Idle Time', 0, TO_NUMBER(VALUE))) BUSY_PCT, SUM(MAP(CAPTION, 'Idle Time', TO_NUMBER(VALUE), 0)) IDLE_PCT FROM sys.M_HOST_AGENT_METRICS WHERE MEASURED_ELEMENT_TYPE = 'Processor' GROUP BY HOST, MEASURED_ELEMENT_NAME;\":{\"enabled\":true,\"metrics\":[{\"name\":\"hanadb_cpu_user\",\"description\":\"Percentage of CPU time spent by HANA DB in user space, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"USER_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"},{\"name\":\"hanadb_cpu_system\",\"description\":\"Percentage of CPU time spent by HANA DB in Kernel space, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"SYSTEM_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"},{\"name\":\"hanadb_cpu_waitio\",\"description\":\"Percentage of CPU time spent by HANA DB in IO mode, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"WAITIO_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"},{\"name\":\"hanadb_cpu_busy\",\"description\":\"Percentage of CPU time spent by HANA DB, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"BUSY_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"},{\"name\":\"hanadb_cpu_idle\",\"description\":\"Percentage of CPU time not spent by HANA DB, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"IDLE_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"}]}}

    メトリクスのクエリについての詳細は、GitHub の「SUSE / hanadb_exporter repo」を参照してください。

  3. SSM Distributor コンソールに移動し、[Owned by Amazon] (Amazon 所有) タブを開きます。[AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure*] を選択し、[Install one time] (1 回限りのインストール) を選択します。

  4. 「Additional Arguments」を次のように置き換えて、最初のステップで作成した SSM パラメータを更新します。

    { "SSM_EXPORTER_CONFIG": "{{ssm:<*SSM_CONFIGURATIONS_PARAMETER_STORE_NAME>*}}", "SSM_SID": "<SAP_DATABASE_SID>", "SSM_EXPORTER_METRICS_1": "{{ssm:<SSM_FIRST_METRICS_PARAMETER_STORE_NAME>}}", "SSM_EXPORTER_METRICS_2": "{{ssm:<SSM_SECOND_METRICS_PARAMETER_STORE_NAME>}}" }
  5. SAP HANA データベースを持つ Amazon EC2 インスタンスを選択し、[Run] (実行) をクリックします。

AWSObservabilityExporter-HAClusterExporterInstallAndConfigure

Prometheus HANA クラスターエクスポーター から Application Insights 用に ワークロード固有の High Availability (HA) クラスターメトリクスを取得して、SAP HANA データベースの High Availability セットアップ用のアラームを設定およびモニターリングできます。詳細については、このガイドの「SAP HANA データベースをモニターリング用に設定する」を参照してください。

AWS Systems Manager Distributor を使用して、AWS が提供する Prometheus HA クラスター Exporter のパッケージを Application Insights とは別にパッケージ化、インストール、設定するには、次の手順を完了します。

Prometheus HA クラスター Exporter SSM パッケージを使用するための前提条件
  • SSM エージェントバージョン 2.3.1550.0 以降がインストールされている

  • Pacemaker、Corosync、SBD、DRBD 用の HA クラスター

  • Linux オペレーティングシステム (SUSE Linux、RedHat Linux)

AWSObservabilityExporter-HAClusterExporterInstallAndConfigure パッケージをインストールして設定する

AWSObservabilityExporter-HAClusterExporterInstallAndConfigure パッケージは、Prometheus HA クラスター Exporter のインストールおよび設定に使用できる SSM Distributor のパッケージです。Prometheus HANA データベース Exporter によってクラスターメトリクスが送信されると、CloudWatch サービスのメトリクスを取得するように CloudWatch エージェントを設定できます。

  1. SSM パラメータストアで SSM パラメータを作成して、Exporter の設定を JSON 形式で保存します。パラメータ値の例を次に示します。

    {\"port\":\"9664\",\"address\":\"0.0.0.0\",\"log-level\":\"info\",\"crm-mon-path\":\"/usr/sbin/crm_mon\",\"cibadmin-path\":\"/usr/sbin/cibadmin\",\"corosync-cfgtoolpath-path\":\"/usr/sbin/corosync-cfgtool\",\"corosync-quorumtool-path\":\"/usr/sbin/corosync-quorumtool\",\"sbd-path\":\"/usr/sbin/sbd\",\"sbd-config-path\":\"/etc/sysconfig/sbd\",\"drbdsetup-path\":\"/sbin/drbdsetup\",\"enable-timestamps\":false}

    エクスポーターの設定についての詳細は、GitHub の「ClusterLabs / ha_cluster_exporter repo」を参照してください。

  2. SSM Distributor コンソールに移動し、[Owned by Amazon] (Amazon 所有) タブを開きます。[AWSObservabilityExporter-HAClusterExporterInstallAndConfigure*] を選択し、[Install one time] (1 回限りのインストール) を選択します。

  3. 「Additional Arguments」を次のように置き換えて、最初のステップで作成した SSM パラメータを更新します。

    { "SSM_EXPORTER_CONFIG": "{{ssm:<*SSM_CONFIGURATIONS_PARAMETER_STORE_NAME>*}}" }
  4. SAP HANA データベースを持つ Amazon EC2 インスタンスを選択し、[Run] (実行) をクリックします。

AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure

Application Insights の Prometheus SAP ホストエクスポーターからワークロード固有の SAP NetWeaver メトリクスを取得して、SAP NetWeaver Distributed and High Availability デプロイ用のアラームを設定およびモニターリングできます。

AWS Systems Manager Distributor を使用して、SAP ホストエクスポーターパッケージを Application Insights とは別にパッケージ化、インストール、および設定するには、次の手順を実行します。

Prometheus SAP ホストエクスポーター SSM パッケージを使用するための前提条件
  • SSM エージェントバージョン 2.3.1550.0 以降がインストールされている

  • SAP NetWeaver アプリケーションサーバー

  • Linux オペレーティングシステム (SUSE Linux、RedHat Linux)

AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure パッケージをインストールして設定する

AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure パッケージは、SAP NetWeaver Prometheus メトリクスエクスポーターのインストールおよび設定に使用できる SSM Distributor パッケージです。Prometheus エクスポーターによって SAP NetWeaver メトリクスが送信されると、CloudWatch サービスのメトリクスを取得するように CloudWatch エージェントを設定できます。

  1. SSM パラメータストアで SSM パラメータを作成して、Exporter の設定を JSON 形式で保存します。パラメータ値の例を次に示します。

    {\"address\":\"0.0.0.0\",\"port\":\"9680\",\"log-level\":\"info\",\"is-HA\":false}
    • address

      Prometheus メトリクスの送信先となるターゲットアドレス。デフォルト値は localhost です。

    • port

      Prometheus メトリクスの送信先となるターゲットポート。デフォルト値は 9680 です。

    • is-HA

      SAP NetWeaver High Availability のデプロイでは [true]。他のすべてのデプロイで、値は false です。

  2. SSM Distributor コンソールに移動し、[Owned by Amazon] (Amazon 所有) タブを開きます。AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure を選択し、[Install one time] (1 回限りのインストール) を選択します。

  3. 「Additional Arguments」を次のように置き換えて、最初のステップで作成した SSM パラメータを更新します。

    { "SSM_EXPORTER_CONFIG": "{{ssm:<SSM_CONFIGURATIONS_PARAMETER_STORE_NAME>}}", "SSM_SID": "<SAP_DATABASE_SID>", "SSM_INSTANCES_NUM": "<instances_number seperated by comma>" }

    { "SSM_EXPORTER_CONFIG": "{{ssm:exporter_config_paramter}}", "SSM_INSTANCES_NUM": "11,12,10", "SSM_SID": "PR1" }
  4. SAP NetWeaver アプリケーションを含む Amazon EC2 インスタンスを選択し、[Run] (実行) を選択します。

注記

Prometheus エクスポーターは、ローカルエンドポイントで SAP NetWeaver メトリクスを処理します。ローカルエンドポイントには Amazon EC2 インスタンスのオペレーティングシステムユーザーのみがアクセスできます。そのため、エクスポーターパッケージをインストールすると、すべてのオペレーティングシステムユーザーがメトリクスを利用できるようになります。デフォルトのローカルエンドポイントは localhost:9680/metrics です。

AWSObservabilityExporter-SQLExporterInstallAndConfigure

Application Insights の Prometheus SQL エクスポーターからワークロード固有の SQL Server メトリクスを取得して、主要なメトリクスをモニタリングできます。

AWS Systems Manager Distributor を使用して、SQL エクスポーターパッケージを Application Insights とは別にパッケージ化、インストール、および設定するには、次のステップを実行します。

Prometheus SQL エクスポーター SSM パッケージを使用するための前提条件
  • SSM エージェントバージョン 2.3.1550.0 以降がインストールされている

  • SQL Server ユーザー認証が有効になっている Windows 上で SQL Server を実行している Amazon EC2 インスタンス。

  • 次の許可を持つ SQL Server ユーザー:

    GRANT VIEW ANY DEFINITION TO
    GRANT VIEW SERVER STATE TO
  • AWS Secrets Manager を使用したデータベース接続文字列を含むシークレット。シークレットを作成する方法については、AWS Secrets Manager ユーザーガイドの「シークレットを作成する」を参照してください。シークレットは、次のようにフォーマットする必要があります。

    { "data_source_name":"sqlserver://<username>:<password>@localhost:1433" }
    注記

    パスワードまたはユーザー名に特殊文字が含まれている場合は、データベースに正常に接続できるように特殊文字をパーセントエンコーディングする必要があります。

AWSObservabilityExporter-SQLExporterInstallAndConfigure パッケージをインストールして設定する

AWSObservabilityExporter-SQLExporterInstallAndConfigure パッケージは、SQL Prometheus メトリクスエクスポーターのインストールおよび設定に使用できる SSM Distributor パッケージです。Prometheus エクスポーターによってメトリクスが送信されると、CloudWatch サービスのメトリクスを取得するように CloudWatch エージェントを設定できます。

  1. 任意で、SQL エクスポーター YAML 設定を準備します。次のサンプル設定では、単一のメトリクスが設定されています。設定例を使用して、追加のメトリクスで設定を更新するか、または独自の設定を作成します。

    --- global: scrape_timeout_offset: 500ms min_interval: 0s max_connections: 3 max_idle_connections: 3 target: aws_secret_name: <SECRET_NAME> collectors: - mssql_standard collectors: - collector_name: mssql_standard metrics: - metric_name: mssql_batch_requests type: counter help: 'Number of command batches received.' values: [cntr_value] query: | SELECT cntr_value FROM sys.dm_os_performance_counters WITH (NOLOCK) WHERE counter_name = 'Batch Requests/sec'
  2. Base64 としてエンコードされた Prometheus SQL エクスポーターの YAML 設定ファイルを、SSM Parameter Store の新しい SSM パラメータにコピーします。

  3. SSM Distributor コンソールに移動し、[Owned by Amazon] (Amazon 所有) タブを開きます。AWSObservabilityExporter-SQLExporterInstallAndConfigure を選択し、[1 回限りのインストール] を選択します。

  4. 「Additional Arguments」を次の情報に置き換えます。SSM_PARAMETER_NAME は、ステップ 2 で作成したパラメータの名前です。

    { "SSM_EXPORTER_CONFIGURATION": "{{ssm:<SSM_PARAMETER_STORE_NAME>}}", "SSM_PROMETHEUS_PORT": "9399", "SSM_WORKLOAD_NAME": "SQL" }
  5. SQL Server データベースを含む Amazon EC2 インスタンスを選択し、[実行] を選択します。