CloudWatch Application Insights 使用的 AWS Systems Manager (SSM) 软件包
本节中列出的软件包由 Application Insights 使用,可独立管理并可通过 AWS Systems Manager Distributor 部署。有关 SSM Distributor 的更多信息,请参阅 AWS Systems Manager 用户指南中的 AWS Systems Manager Distributor。
软件包:
AWSObservabilityExporter-JMXExporterInstallAndConfigure
您可以从 Prometheus JMX Exporter
要使用 AWS Systems Manager Distributor 来打包、安装和配置 AWS 提供的 Prometheus JMX Exporter(独立于 Application Insights),请完成以下步骤。
使用 Prometheus JMX Exporter SSM 软件包的先决条件
-
2.3.1550.0 版或更高版本的 SSM Agent 已安装
-
JAVA_HOME 环境变量已设置
安装和配置 AWSObservabilityExporter-JMXExporterInstallAndConfigure
软件包
AWSObservabilityExporter-JMXExporterInstallAndConfigure
软件包是一个 SSM Distributor 软件包,您可以使用它来安装和配置 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(安装一次)。 -
通过将“Additional Arguments(其他实际参数)”替换为以下内容来更新您在第一步中创建的 SSM 参数:
{ "SSM_EXPORTER_CONFIGURATION": "{{ssm:
<SSM_PARAMETER_STORE_NAME>
}}", "SSM_EXPOSITION_PORT": "9404" }注意
端口 9404 是用于发送 Prometheus JMX 指标的默认端口。您可以更新此端口。
示例:配置 CloudWatch 代理以检索 Java 指标
-
如前面的步骤所述,安装 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 指标日志的目标日志组。
-
为每个指标名称指定两组维度。
-
发送 8 个(每个指标名称 2 组维度,每组 4 个指标名称)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 Database Exporter
要使用 AWS Systems Manager Distributor 来打包、安装和配置 AWS 提供的 Prometheus HANA Database Exporter 软件包(独立于 Application Insights),请完成以下步骤。
使用 Prometheus HANA Database Exporter SSM 软件包的先决条件
-
2.3.1550.0 版或更高版本的 SSM Agent 已安装
-
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 Database Exporter
-
在 SSM Parameter Store
中创建 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 实例上保持空闲状态,以免指标重复。该 Exporter 可以检索SYSTEM
数据库中的所有数据库租户信息。 -
在 SSM Parameter Store
中创建 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
存储库。 -
导航到 SSM Distributor
控制台,然后打开 Owned by Amazon(Amazon 所拥有)选项卡。依次选择 AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure* 和 Install one time(一次性安装)。 -
通过将“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 Cluster Exporter
要使用 AWS Systems Manager Distributor 来打包、安装和配置 AWS 提供的 Prometheus HA Cluster Exporter 软件包(独立于 Application Insights),请完成以下步骤。
使用 Prometheus HA Cluster Exporter SSM 软件包的先决条件
-
2.3.1550.0 版或更高版本的 SSM Agent 已安装
-
适用于 Pacemaker、Corosync、SBD 和 DRBD 的 HA 集群
-
Linux 操作系统(SUSE Linux、RedHat Linux)
安装和配置 AWSObservabilityExporter-HAClusterExporterInstallAndConfigure
软件包
AWSObservabilityExporter-HAClusterExporterInstallAndConfigure
软件包是一个 SSM Distributor 软件包,您可以使用它来安装和配置 Prometheus HA Cluster Exporter。当 Prometheus HANA Database Exporter 发送集群指标时,就可以配置 CloudWatch 代理来检索 CloudWatch 服务的指标。
-
在 SSM Parameter Store
中创建 SSM 参数,以 JSON 格式存储该 Exporter 的配置。以下为示例参数值。 {\"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}
有关该 Exporter 配置的更多信息,请参阅 GitHub 上的
ClusterLabs / ha_cluster_exporter
存储库。 -
导航到 SSM Distributor
控制台,然后打开 Owned by Amazon(Amazon 所拥有)选项卡。依次选择 AWSObservabilityExporter-HAClusterExporterInstallAndConfigure* 和 Install one time(一次性安装)。 -
通过将“Additional Arguments(其他实际参数)”替换为以下内容来更新您在第一步中创建的 SSM 参数:
{ "SSM_EXPORTER_CONFIG": "{{ssm:<*SSM_CONFIGURATIONS_PARAMETER_STORE_NAME>*}}" }
-
选择带有 SAP HANA 数据库的 Amazon EC2 实例,然后选择 Run(运行)。
AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure
您可以从 Prometheus SAP 主机导出器
要使用 AWS Systems Manager Distributor 来打包、安装和配置 SAP 主机导出器软件包(独立于 Application Insights),请完成以下步骤。
使用 Prometheus SAP 主机导出器 SSM 软件包的先决条件
-
2.3.1550.0 版或更高版本的 SSM Agent 已安装
-
SAP NetWeaver 应用程序服务器
-
Linux 操作系统(SUSE Linux、RedHat Linux)
安装和配置 AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure
软件包
AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure
软件包是一个 SSM Distributor 软件包,您可以使用它来安装和配置 SAP NetWeaver Prometheus 指标导出器。当 Prometheus 导出器发送 SAP NetWeaver 指标时,可以配置 CloudWatch 代理来检索 CloudWatch 服务的指标。
-
在 SSM Parameter Store
中创建 SSM 参数,以 JSON 格式存储该 Exporter 的配置。以下为示例参数值。 {\"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
。
-
导航到 SSM Distributor
控制台,然后打开 Owned by Amazon(Amazon 所拥有)选项卡。选择 AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure,然后选择 Install one time(安装一次)。 -
通过将“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
您可以从 Prometheus SQL 导出器
要使用 AWS Systems Manager Distributor 来打包、安装和配置 SQL 导出器软件包(独立于 Application Insights),请完成以下步骤。
使用 Prometheus SQL 导出器 SSM 软件包的先决条件
-
2.3.1550.0 版或更高版本的 SSM Agent 已安装
-
在启用了 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 导出器发送 Java 指标时,可以配置 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,然后选择一次性安装。 -
将“其他参数”替换为以下信息。
SSM_PARAMETER_NAME
是您在步骤 2 中创建的参数的名称。{ "SSM_EXPORTER_CONFIGURATION": "{{ssm:
<SSM_PARAMETER_STORE_NAME>
}}", "SSM_PROMETHEUS_PORT": "9399
", "SSM_WORKLOAD_NAME": "SQL
" } -
选择包含 SQL Server 数据库的 Amazon EC2 实例,然后选择运行。