AWS CloudWatch Application Insights 使用的 Systems Manager (SSM) 套件 - Amazon CloudWatch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS CloudWatch Application Insights 使用的 Systems Manager (SSM) 套件

本節中列出的套件由 Application Insights 使用,並且可以透過 AWS Systems Manager Distributor 獨立管理和部署。如需 SSM Distributor 的詳細資訊,請參閱《AWS Systems Manager 使用者指南》中的 AWS Systems Manager Distributor

AWSObservabilityExporter-JMXExporterInstallAndConfigure

您可以從 Prometheus JMX Exporter 為 Application Insights 擷取工作負載特定的 Java 指標,進而設定和監控警示。在 Application Insights 主控台的 Manage monitoring (管理監控) 頁面,從 Application tier (應用程式層) 下拉式清單選取 JAVA 應用程式。然後,在 JAVA Prometheus exporter configuration (JAVA Prometheus 匯出程式組態) 下,選擇 Collection method (集合方法) 和 JMX port number (JMX 連接埠號碼)。

若要使用 AWS Systems Manager Distributor 來封裝、安裝和設定獨立於 Application Insights AWS提供的 Prometheus JMX 匯出工具套件,請完成下列步驟。

使用 Prometheus JMX Exporter SSM 套件的先決條件
  • 已安裝 SSM agent 2.3.1550.0 版或更新版本

  • 已設定 JAVA_HOME 環境變數

安裝和設定 AWSObservabilityExporter-JMXExporterInstallAndConfigure 套件

AWSObservabilityExporter-JMXExporterInstallAndConfigure 封裝是一種 SSM Distributor 套件,您可將其用於安裝和設定 Prometheus JMX Exporter。當 Java 指標由 Prometheus JMX Exporter 傳送時,您可以設定 CloudWatch 代理程式來擷取 CloudWatch 服務的指標。

  1. 根據您的偏好設定,在 Prometheus GitHub 儲存庫中準備 Prometheus JMX Exporter YAML 組態檔案。使用範例組態和選項描述來引導您。

  2. 將編碼為 Base64 的 Prometheus JMX Exporter YAML 組態檔案複製到 SSM 參數存放區中的新 SSM 參數。

  3. 導覽至 SSM Distributor 主控台,並開啟 Owned by Amazon (由 Amazon 擁有) 索引標籤。選取 AWSObservabilityExporter-JMXExporterInstallAndConfigure 並選擇 Install one time (一次性安裝)。

  4. 以下列方式取代「其他引數」,更新您在第一個步驟中建立的 SSM 參數:

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

    連接埠 9404 是用來傳送 Prometheus JMX 指標的預設連接埠。您可以更新此連接埠。

範例:設定 CloudWatch 代理程式以擷取 Java 指標
  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 檔案。以下範例組態檔案會記錄以下內容:

    • 指標擷取任務間隔和逾時期間。

    • 指標擷取任務 (jmxsap),也稱為抓取,其中包括任務名稱、一次傳回的時間序列上限,以及服務探索檔案路徑。

    $ 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. 確認您的 Amazon EC2 執行個體上已安裝 CloudWatch 代理程式,且版本為 1.247346.1b249759 或更新版本。若要在您的 EC2 執行個體上安裝 CloudWatch 代理程式,請參閱安裝 CloudWatch 代理程式。若要確認版本,請參閱尋找 CloudWatch 代理程式版本的相關資訊

  5. 設定 CloudWatch 代理程式。如需如何設定 CloudWatch 代理程式組態檔案的詳細資訊,請參閱手動建立或編輯 CloudWatch 代理程式組態檔案。下列 CloudWatch 代理程式組態檔案範例會執行下列操作:

    • 指定 Prometheus JMX Exporter 組態 YAML 檔案路徑。

    • 指定要發佈 EMF 指標日誌的目標日誌群組。

    • 為每個指標名稱指定兩組維度。

    • 傳送 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

您可以從 Prometheus HANA 資料庫匯出工具為 Application Insights 擷取工作負載特定的 SAP HANA 指標,進而設定和監控警示。如需詳細資訊,請參閱本指南中的 設定您的 SAP HANA 資料庫以進行監控

若要使用 AWS Systems Manager Distributor 來封裝、安裝和設定獨立於 Application Insights AWS提供的 Prometheus HANA 資料庫匯出工具套件,請完成下列步驟。

使用 Prometheus HANA 資料庫匯出工具 SSM 套件的先決條件
  • 已安裝 SSM agent 2.3.1550.0 版或更新版本

  • SAP HANA 資料庫

  • Linux 作業系統 (SUSE Linux、RedHat Linux)

  • 具有 SAP HANA 資料庫監控憑證的機密,使用 AWS Secrets Manager。使用索引鍵/值配對格式建立機密、指定金鑰使用者名稱,然後輸入值的資料庫使用者。新增第二個金鑰密碼,然後針對值輸入密碼。如需建立機密的詳細資訊,請參閱《AWS Secrets Manager 使用者指南》中的建立機密。機密的格式必須如下:

    { "username": "<database_user>", "password": "<database_password>" }
安裝和設定 AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure 套件

AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure 封裝是一種 SSM Distributor 套件,您可將其用於安裝和設定 Prometheus HANA 資料庫匯出工具。當 HANA 資料庫指標由 Prometheus HANA 資料庫匯出工具傳送時,您可以設定 CloudWatch 代理程式來擷取 CloudWatch 服務的指標。

  1. SSM 參數存放區中建立 SSM 參數,以存放匯出工具組態。以下是範例參數值。

    {\"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 參數,以存放匯出工具指標查詢。套件可以接受多個指標參數。每個參數都必須具有有效的 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 儲存庫。

  3. 導覽至 SSM Distributor 主控台,並開啟 Owned by Amazon (由 Amazon 擁有) 索引標籤。選取 AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure*,然後選擇 Install one time (一次性安裝)。

  4. 以下列方式取代「其他引數」,更新您在第一個步驟中建立的 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 擷取工作負載特定的高可用性 (HA) 叢集指標,進而設定和監控警示,以進行 SAP HANA 資料庫高可用性設定。如需詳細資訊,請參閱本指南中的 設定您的 SAP HANA 資料庫以進行監控

若要使用 AWS Systems Manager Distributor 來封裝、安裝和設定獨立於 Application Insights AWS提供的 Prometheus HA 叢集匯出器套件,請完成下列步驟。

使用 Prometheus HA 叢集匯出工具 SSM 套件的先決條件
  • 已安裝 SSM agent 2.3.1550.0 版或更新版本

  • 適用於 Pacemaker、Corosync、SBD 和 DRBD 的 HA 叢集

  • Linux 作業系統 (SUSE Linux、RedHat Linux)

安裝和設定 AWSObservabilityExporter-HAClusterExporterInstallAndConfigure 套件

AWSObservabilityExporter-HAClusterExporterInstallAndConfigure 封裝是一種 SSM Distributor 套件,您可將其用於安裝和設定 Prometheus HA Cluster Exporter。當叢集指標由 Prometheus HANA 資料庫匯出工具傳送時,您可以設定 CloudWatch 代理程式來擷取 CloudWatch 服務的指標。

  1. SSM 參數存放區中建立 SSM 參數,以使用 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 儲存庫。

  2. 導覽至 SSM Distributor 主控台,並開啟 Owned by Amazon (由 Amazon 擁有) 索引標籤。選取 AWSObservabilityExporter-HAClusterExporterInstallAndConfigure*,然後選擇 Install one time (一次性安裝)。

  3. 以下列方式取代「其他引數」,更新您在第一個步驟中建立的 SSM 參數:

    { "SSM_EXPORTER_CONFIG": "{{ssm:<*SSM_CONFIGURATIONS_PARAMETER_STORE_NAME>*}}" }
  4. 選取具有 SAP HANA 資料庫的 Amazon EC2 執行個體,然後選擇 Run (執行)。

AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure

您可以從 Prometheus SAP 主機匯出程式為 Application Insights 擷取工作負載特定的 SAP NetWeaver 指標,進而為 SAP NetWeaver 分散式和高可用性部署設定並監控警示。

若要使用 AWS Systems Manager Distributor 封裝、安裝和設定 SAP 主機匯出程式套件 (獨立於 Application Insights),請完成下列步驟。

使用 Prometheus SAP 主機匯出程式 SSM 套件的先決條件
  • 已安裝 SSM agent 2.3.1550.0 版或更新版本

  • SAP NetWeaver 應用程式伺服器

  • Linux 作業系統 (SUSE Linux、RedHat Linux)

安裝和設定 AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure 套件

AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure 套件是 SSM Distributor 套件,可用於安裝和設定 SAP NetWeaver Prometheus 指標匯出程式。如果 Prometheus 匯出程式傳送了 SAP NetWeaver 指標,您可以設定 CloudWatch 代理程式來擷取 CloudWatch 服務的指標。

  1. SSM 參數存放區中建立 SSM 參數,以使用 JSON 格式存放匯出工具組態。以下是範例參數值。

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

      將 Prometheus 指標傳送到的目標地址。預設值為 localhost

    • port

      將 Prometheus 指標傳送到的目標連接埠。預設值為 9680

    • is-HA

      對於 SAP NetWeaver 高可用性部署,為 true。對於所有其他部署,為 false

  2. 導覽至 SSM Distributor 主控台,並開啟 Owned by Amazon (由 Amazon 擁有) 索引標籤。選取 AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure,然後選擇 Install one time (一次安裝)。

  3. 以下列方式取代「其他引數」,更新您在第一個步驟中建立的 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

您可以從 Prometheus SQL 匯出程式中為 Application Insights 擷取工作負載特定的 SQL Server 指標,進而監控關鍵指標。

若要使用 AWS Systems Manager Distributor 封裝、安裝和設定 SQL 匯出程式套件 (獨立於 Application Insights),請完成下列步驟。

使用 Prometheus SQL Exporter SSM 套件的先決條件
  • 已安裝 SSM agent 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 套件是 SSM Distributor 套件,可用於安裝和設定 SQL Prometheus 指標匯出程式。當指標由 Prometheus 匯出程式傳送時,您可以設定 CloudWatch 代理程式來擷取 CloudWatch 服務的指標。

  1. 根據您的偏好設定,準備 SQL Exporter 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 Exporter YAML 組態檔案複製到 SSM 參數存放區中的新 SSM 參數。

  3. 導覽至 SSM Distributor 主控台,並開啟 Owned by Amazon (由 Amazon 擁有) 索引標籤。選取 AWSObservabilityExporter-SQLExporterInstallAndConfigure 並選擇一次性安裝

  4. 使用下列資訊取代「其他引數」。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 執行個體,然後選擇執行。