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
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
-
ご自身の好みに基づいて、Prometheus GitHub リポジトリにある Prometheus JMX Exporter の YAML 設定ファイル
を準備します。設定例とオプションの説明を参考にしてください。 -
Base64 としてエンコードされた Prometheus JMX Exporter の YAML 設定ファイルを、SSM Parameter Store
の新しい SSM パラメータにコピーします。 -
SSM Distributor
コンソールに移動し、[Owned by Amazon] (Amazon 所有) タブを開きます。[AWSObservabilityExporter-JMXExporterInstallAndConfigure] を選択し、[Install one time] (1 回限りのインストール) を選択します。 -
「Additional Arguments」を次のように置き換えて、最初のステップで作成した SSM パラメータを更新します。
{ "SSM_EXPORTER_CONFIGURATION": "{{ssm:
<SSM_PARAMETER_STORE_NAME>
}}", "SSM_EXPOSITION_PORT": "9404" }注記
ポート 9404 は、Prometheus JMX メトリクスの送信に使用されるデフォルトのポートです。このポートは更新できます。
例: Java メトリクスを取得するための CloudWatch エージェントの設定
-
前の手順で説明したように、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
-
Prometheus サービスの検出 YAML ファイルを作成します。次のサンプルのサービス検出ファイルは、次の処理を実行します。
-
Prometheus JMX Exporter ホストポートを
localhost: 9404
として指定します。 -
メトリクスにラベル (
Application
、ComponentName
、および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
-
-
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"]
-
-
CloudWatch エージェントが Amazon EC2 インスタンスにインストールされ、バージョンが 1.247346.1b249759 以降であることを検証します。EC2 インスタンスに CloudWatch エージェントをインストールするには、「CloudWatch エージェントのインストール」を参照してください。バージョンを確認するには、「CloudWatch エージェントのバージョンについての情報の検索」をご参照ください。
-
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 データベースエクスポーター
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 パラメータストア
で 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
データベースからのすべてのテナント情報を取得できます。 -
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」を参照してください。 -
SSM Distributor
コンソールに移動し、[Owned by Amazon] (Amazon 所有) タブを開きます。[AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure*] を選択し、[Install one time] (1 回限りのインストール) を選択します。 -
「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>}}" }
-
SAP HANA データベースを持つ Amazon EC2 インスタンスを選択し、[Run] (実行) をクリックします。
AWSObservabilityExporter-HAClusterExporterInstallAndConfigure
Prometheus 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 エージェントを設定できます。
-
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」を参照してください。 -
SSM Distributor
コンソールに移動し、[Owned by Amazon] (Amazon 所有) タブを開きます。[AWSObservabilityExporter-HAClusterExporterInstallAndConfigure*] を選択し、[Install one time] (1 回限りのインストール) を選択します。 -
「Additional Arguments」を次のように置き換えて、最初のステップで作成した SSM パラメータを更新します。
{ "SSM_EXPORTER_CONFIG": "{{ssm:<*SSM_CONFIGURATIONS_PARAMETER_STORE_NAME>*}}" }
-
SAP HANA データベースを持つ Amazon EC2 インスタンスを選択し、[Run] (実行) をクリックします。
AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure
Application Insights の Prometheus SAP ホストエクスポーター
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 エージェントを設定できます。
-
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
です。
-
SSM Distributor
コンソールに移動し、[Owned by Amazon] (Amazon 所有) タブを開きます。AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure を選択し、[Install one time] (1 回限りのインストール) を選択します。 -
「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" }
-
SAP NetWeaver アプリケーションを含む Amazon EC2 インスタンスを選択し、[Run] (実行) を選択します。
注記
Prometheus エクスポーターは、ローカルエンドポイントで SAP NetWeaver メトリクスを処理します。ローカルエンドポイントには Amazon EC2 インスタンスのオペレーティングシステムユーザーのみがアクセスできます。そのため、エクスポーターパッケージをインストールすると、すべてのオペレーティングシステムユーザーがメトリクスを利用できるようになります。デフォルトのローカルエンドポイントは localhost:9680/metrics
です。
AWSObservabilityExporter-SQLExporterInstallAndConfigure
Application Insights の Prometheus SQL エクスポーター
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 エージェントを設定できます。
-
任意で、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'
-
Base64 としてエンコードされた Prometheus SQL エクスポーターの YAML 設定ファイルを、SSM Parameter Store
の新しい SSM パラメータにコピーします。 -
SSM Distributor
コンソールに移動し、[Owned by Amazon] (Amazon 所有) タブを開きます。AWSObservabilityExporter-SQLExporterInstallAndConfigure を選択し、[1 回限りのインストール] を選択します。 -
「Additional Arguments」を次の情報に置き換えます。
SSM_PARAMETER_NAME
は、ステップ 2 で作成したパラメータの名前です。{ "SSM_EXPORTER_CONFIGURATION": "{{ssm:
<SSM_PARAMETER_STORE_NAME>
}}", "SSM_PROMETHEUS_PORT": "9399
", "SSM_WORKLOAD_NAME": "SQL
" } -
SQL Server データベースを含む Amazon EC2 インスタンスを選択し、[実行] を選択します。