

# CloudWatch 代理收集的 Prometheus 指标
<a name="ContainerInsights-Prometheus-metrics"></a>

具有 Prometheus 支持的 CloudWatch 代理可自动从多个服务和工作负载收集指标。以下部分列出了默认情况下收集的指标。您还可以将代理配置为从这些服务收集更多指标，并从其他应用程序和服务收集 Prometheus 指标。有关可收集的其他指标的更多信息，请参阅 [Prometheus 的 CloudWatch 代理配置](ContainerInsights-Prometheus-Setup-configure-ECS.md#ContainerInsights-Prometheus-Setup-cw-agent-config)。

从 Amazon EKS 和 Kubernetes 集群收集的 Prometheus 指标位于 **ContainerInsights/Prometheus** 命名空间中。从 Amazon ECS 集群收集的 Prometheus 指标位于 **ECS/ContainerInsights/Prometheus** 命名空间中。

**Topics**
+ [App Mesh 的 Prometheus 指标](#ContainerInsights-Prometheus-metrics-appmesh)
+ [NGINX 的 Prometheus 指标](#ContainerInsights-Prometheus-metrics-nginx)
+ [Memcached 的 Prometheus 指标](#ContainerInsights-Prometheus-metrics-memcached)
+ [Java/JMX 的 Prometheus 指标](#ContainerInsights-Prometheus-metrics-jmx)
+ [HAProxy 的 Prometheus 指标](#ContainerInsights-Prometheus-metrics-haproxy)

## App Mesh 的 Prometheus 指标
<a name="ContainerInsights-Prometheus-metrics-appmesh"></a>

从 App Mesh 自动收集以下指标。

**Amazon EKS 和 Kubernetes 集群上 App Mesh 的 Prometheus 指标**


| 指标名称 | Dimensions | 
| --- | --- | 
| `envoy_http_downstream_rq_total` | ClusterName、`Namespace` | 
| `envoy_http_downstream_rq_xx` | ClusterName、`Namespace`<br />ClusterName、`Namespace`、envoy\_http\_conn\_manager\_prefix、envoy\_response\_code\_class | 
| `envoy_cluster_upstream_cx_rx_bytes_total` | ClusterName、`Namespace` | 
| `envoy_cluster_upstream_cx_tx_bytes_total` | ClusterName、`Namespace` | 
| `envoy_cluster_membership_healthy` | ClusterName、`Namespace` | 
| `envoy_cluster_membership_total` | ClusterName、`Namespace` | 
| `envoy_server_memory_heap_size` | ClusterName、`Namespace` | 
| `envoy_server_memory_allocated` | ClusterName、`Namespace` | 
| `envoy_cluster_upstream_cx_connect_timeout` | ClusterName、`Namespace` | 
| `envoy_cluster_upstream_rq_pending_failure_eject` | ClusterName、`Namespace` | 
| `envoy_cluster_upstream_rq_pending_overflow` | ClusterName、`Namespace` | 
| `envoy_cluster_upstream_rq_timeout` | ClusterName、`Namespace` | 
| `envoy_cluster_upstream_rq_try_per_timeout` | ClusterName、`Namespace` | 
| `envoy_cluster_upstream_rq_rx_reset` | ClusterName、`Namespace` | 
| `envoy_cluster_upstream_cx_destroy_local_with_active_rq` | ClusterName、`Namespace` | 
| `envoy_cluster_upstream_cx_destroy_remote_active_rq` | ClusterName、`Namespace` | 
| `envoy_cluster_upstream_rq_maintenance_mode` | ClusterName、`Namespace` | 
| `envoy_cluster_upstream_flow_control_paused_reading_total` | ClusterName、`Namespace` | 
| `envoy_cluster_upstream_flow_control_resumed_reading_total` | ClusterName、`Namespace` | 
| `envoy_cluster_upstream_flow_control_backed_up_total` | ClusterName、`Namespace` | 
| `envoy_cluster_upstream_flow_control_drained_total` | ClusterName、`Namespace` | 
| `envoy_cluster_upstream_rq_retry` | ClusterName、`Namespace` | 
| `envoy_cluster_upstream_rq_retry_success` | ClusterName、`Namespace` | 
| `envoy_cluster_upstream_rq_retry_overflow` | ClusterName、`Namespace` | 
| `envoy_server_live` | ClusterName、`Namespace` | 
| `envoy_server_uptime` | ClusterName、`Namespace` | 

**Amazon ECS 集群上 App Mesh 的 Prometheus 指标**


| 指标名称 | Dimensions | 
| --- | --- | 
| `envoy_http_downstream_rq_total` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_http_downstream_rq_xx` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_cx_rx_bytes_total` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_cx_tx_bytes_total` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_membership_healthy` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_membership_total` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_server_memory_heap_size` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_server_memory_allocated` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_cx_connect_timeout` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_rq_pending_failure_eject` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_rq_pending_overflow` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_rq_timeout` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_rq_try_per_timeout` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_rq_rx_reset` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_cx_destroy_local_with_active_rq` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_cx_destroy_remote_active_rq` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_rq_maintenance_mode` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_flow_control_paused_reading_total` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_flow_control_resumed_reading_total` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_flow_control_backed_up_total` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_flow_control_drained_total` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_rq_retry` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_rq_retry_success` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_cluster_upstream_rq_retry_overflow` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_server_live` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_server_uptime` | ClusterName、`TaskDefinitionFamily` | 
| `envoy_http_downstream_rq_xx` | ClusterName、TaskDefinitionFamily、envoy\_http\_conn\_manager\_prefix、envoy\_response\_code\_class<br />ClusterName、TaskDefinitionFamily、envoy\_response\_code\_class | 

**注意**  
`TaskDefinitionFamily` 是网格的 Kubernetes 命名空间。  
`envoy_http_conn_manager_prefix` 的值可以是 `ingress`、`egress` 或 `admin`。  
`envoy_response_code_class` 的值可以是 `1`（代表 `1xx`）、`2`（代表 `2xx`）、`3`（代表 `3xx`）、`4`（代表 `4xx`）或 `5`（代表 `5xx`）。

## NGINX 的 Prometheus 指标
<a name="ContainerInsights-Prometheus-metrics-nginx"></a>

从 Amazon EKS 和 Kubernetes 集群上的 NGINX 自动收集以下指标。


| 指标名称 | Dimensions | 
| --- | --- | 
| `nginx_ingress_controller_nginx_process_cpu_seconds_total` | ClusterName、`Namespace`、Service | 
| `nginx_ingress_controller_success` | ClusterName、`Namespace`、Service | 
| `nginx_ingress_controller_requests` | ClusterName、`Namespace`、Service | 
| `nginx_ingress_controller_nginx_process_connections` | ClusterName、`Namespace`、Service | 
| `nginx_ingress_controller_nginx_process_connections_total` | ClusterName、`Namespace`、Service | 
| `nginx_ingress_controller_nginx_process_resident_memory_bytes` | ClusterName、`Namespace`、Service | 
| `nginx_ingress_controller_config_last_reload_successful` | ClusterName、`Namespace`、Service | 
| `nginx_ingress_controller_requests` | ClusterName、`Namespace`、Service、status | 

## Memcached 的 Prometheus 指标
<a name="ContainerInsights-Prometheus-metrics-memcached"></a>

从 Amazon EKS 和 Kubernetes 集群上的 Memcached 中自动收集以下指标。


| 指标名称 | Dimensions | 
| --- | --- | 
| `memcached_current_items` | ClusterName、`Namespace`、Service | 
| `memcached_current_connections` | ClusterName、`Namespace`、Service | 
| `memcached_limit_bytes` | ClusterName、`Namespace`、Service | 
| `memcached_current_bytes` | ClusterName、`Namespace`、Service | 
| `memcached_written_bytes_total` | ClusterName、`Namespace`、Service | 
| `memcached_read_bytes_total` | ClusterName、`Namespace`、Service | 
| `memcached_items_evicted_total` | ClusterName、`Namespace`、Service | 
| `memcached_items_reclaimed_total` | ClusterName、`Namespace`、Service | 
| `memcached_commands_total` | ClusterName、`Namespace`、Service<br />ClusterName、`Namespace`、Service、command<br />ClusterName、`Namespace`、Service、status、command | 

## Java/JMX 的 Prometheus 指标
<a name="ContainerInsights-Prometheus-metrics-jmx"></a>

**在 Amazon EKS 和 Kubernetes 集群上收集的指标**

在 Amazon EKS 和 Kubernetes 集群上，Container Insights 可以使用 JMX Exporter 从 Java 虚拟机 (JVM)、Java 和 Tomcat (Catalina) 收集以下预定义的 Prometheus 指标。有关更多信息，请参阅 Github 上的 [ prometheus/jmx\_exporter](https://github.com/prometheus/jmx_exporter)。

**Amazon EKS 和 Kubernetes 集群上的 Java/JMX**


| 指标名称 | Dimensions | 
| --- | --- | 
| `jvm_classes_loaded` | `ClusterName`, `Namespace` | 
| `jvm_threads_current` | `ClusterName`, `Namespace` | 
| `jvm_threads_daemon` | `ClusterName`, `Namespace` | 
| `java_lang_operatingsystem_totalswapspacesize` | `ClusterName`, `Namespace` | 
| `java_lang_operatingsystem_systemcpuload` | `ClusterName`, `Namespace` | 
| `java_lang_operatingsystem_processcpuload` | `ClusterName`, `Namespace` | 
| `java_lang_operatingsystem_freeswapspacesize` | `ClusterName`, `Namespace` | 
| `java_lang_operatingsystem_totalphysicalmemorysize` | `ClusterName`, `Namespace` | 
| `java_lang_operatingsystem_freephysicalmemorysize` | `ClusterName`, `Namespace` | 
| `java_lang_operatingsystem_openfiledescriptorcount` | `ClusterName`, `Namespace` | 
| `java_lang_operatingsystem_availableprocessors` | `ClusterName`, `Namespace` | 
| `jvm_memory_bytes_used` | `ClusterName`、`Namespace`、area | 
| `jvm_memory_pool_bytes_used` | `ClusterName`、`Namespace`、pool | 

**注意**  
`area` 维度的值可以是 `heap` 或 `nonheap`。  
`pool` 维度的值可以是 `Tenured Gen`、`Compress Class Space`、`Survivor Space`、`Eden Space`、`Code Cache` 或 `Metaspace`。

**Amazon EKS 和 Kubernetes 集群上的 Tomcat/JMX**

除了上表中的 Java/JMX 指标外，还收集 Tomcat 工作负载的以下指标。


| 指标名称 | Dimensions | 
| --- | --- | 
| `catalina_manager_activesessions` | `ClusterName`, `Namespace` | 
| `catalina_manager_rejectedsessions` | `ClusterName`, `Namespace` | 
| `catalina_globalrequestprocessor_bytesreceived` | `ClusterName`, `Namespace` | 
| `catalina_globalrequestprocessor_bytessent` | `ClusterName`, `Namespace` | 
| `catalina_globalrequestprocessor_requestcount` | `ClusterName`, `Namespace` | 
| `catalina_globalrequestprocessor_errorcount` | `ClusterName`, `Namespace` | 
| `catalina_globalrequestprocessor_processingtime` | `ClusterName`, `Namespace` | 

**Amazon ECS 集群上的 Java/JMX**


| 指标名称 | Dimensions | 
| --- | --- | 
| `jvm_classes_loaded` | `ClusterName`, `TaskDefinitionFamily` | 
| `jvm_threads_current` | `ClusterName`, `TaskDefinitionFamily` | 
| `jvm_threads_daemon` | `ClusterName`, `TaskDefinitionFamily` | 
| `java_lang_operatingsystem_totalswapspacesize` | `ClusterName`, `TaskDefinitionFamily` | 
| `java_lang_operatingsystem_systemcpuload` | `ClusterName`, `TaskDefinitionFamily` | 
| `java_lang_operatingsystem_processcpuload` | `ClusterName`, `TaskDefinitionFamily` | 
| `java_lang_operatingsystem_freeswapspacesize` | `ClusterName`, `TaskDefinitionFamily` | 
| `java_lang_operatingsystem_totalphysicalmemorysize` | `ClusterName`, `TaskDefinitionFamily` | 
| `java_lang_operatingsystem_freephysicalmemorysize` | `ClusterName`, `TaskDefinitionFamily` | 
| `java_lang_operatingsystem_openfiledescriptorcount` | `ClusterName`, `TaskDefinitionFamily` | 
| `java_lang_operatingsystem_availableprocessors` | `ClusterName`, `TaskDefinitionFamily` | 
| `jvm_memory_bytes_used` | `ClusterName`、TaskDefinitionFamily、area | 
| `jvm_memory_pool_bytes_used` | `ClusterName`、TaskDefinitionFamily、pool | 

**注意**  
`area` 维度的值可以是 `heap` 或 `nonheap`。  
`pool` 维度的值可以是 `Tenured Gen`、`Compress Class Space`、`Survivor Space`、`Eden Space`、`Code Cache` 或 `Metaspace`。

**Amazon ECS 集群上的 Tomcat/JMX**

除上表中的 Java/JMX 指标外，还收集了 Amazon ECS 集群上 Tomcat 工作负载的以下指标。


| 指标名称 | Dimensions | 
| --- | --- | 
| `catalina_manager_activesessions` | `ClusterName`, `TaskDefinitionFamily` | 
| `catalina_manager_rejectedsessions` | `ClusterName`, `TaskDefinitionFamily` | 
| `catalina_globalrequestprocessor_bytesreceived` | `ClusterName`, `TaskDefinitionFamily` | 
| `catalina_globalrequestprocessor_bytessent` | `ClusterName`, `TaskDefinitionFamily` | 
| `catalina_globalrequestprocessor_requestcount` | `ClusterName`, `TaskDefinitionFamily` | 
| `catalina_globalrequestprocessor_errorcount` | `ClusterName`, `TaskDefinitionFamily` | 
| `catalina_globalrequestprocessor_processingtime` | `ClusterName`, `TaskDefinitionFamily` | 

## HAProxy 的 Prometheus 指标
<a name="ContainerInsights-Prometheus-metrics-haproxy"></a>

从 Amazon EKS 和 Kubernetes 集群上的 HAProxy 自动收集以下指标。

收集的指标取决于您使用的 HAProxy Ingress 版本。有关 HAProxy Ingress 及其版本的更多信息，请参阅 [haproxy-ingress](https://artifacthub.io/packages/helm/haproxy-ingress/haproxy-ingress)。


| 指标名称 | Dimensions | 可用性 | 
| --- | --- | --- | 
| `haproxy_backend_bytes_in_total` | `ClusterName`、`Namespace`、Service | 所有版本的 HAProxy Ingress | 
| `haproxy_backend_bytes_out_total` | `ClusterName`、`Namespace`、Service | 所有版本的 HAProxy Ingress | 
| `haproxy_backend_connection_errors_total` | `ClusterName`、`Namespace`、Service | 所有版本的 HAProxy Ingress | 
| `haproxy_backend_connections_total` | `ClusterName`、`Namespace`、Service | 所有版本的 HAProxy Ingress | 
| `haproxy_backend_current_sessions` | `ClusterName`、`Namespace`、Service | 所有版本的 HAProxy Ingress | 
| `haproxy_backend_http_responses_total` | `ClusterName`、`Namespace`、Service、code、backend | 所有版本的 HAProxy Ingress | 
| `haproxy_backend_status` | `ClusterName`、`Namespace`、Service | 仅在 HAProxy Ingress 0.10 或更高版本中 | 
| `haproxy_backend_up` | `ClusterName`、`Namespace`、Service | 仅在 HAProxy Ingress 0.10 的更早版本中 | 
| `haproxy_frontend_bytes_in_total` | `ClusterName`、`Namespace`、Service | 所有版本的 HAProxy Ingress | 
| `haproxy_frontend_bytes_out_total` | `ClusterName`、`Namespace`、Service | 所有版本的 HAProxy Ingress | 
| `haproxy_frontend_connections_total` | `ClusterName`、`Namespace`、Service | 所有版本的 HAProxy Ingress | 
| `haproxy_frontend_current_sessions` | `ClusterName`、`Namespace`、Service | 所有版本的 HAProxy Ingress | 
| `haproxy_frontend_http_requests_total` | `ClusterName`、`Namespace`、Service | 所有版本的 HAProxy Ingress | 
| `haproxy_frontend_http_responses_total` | `ClusterName`、`Namespace`、Service、code、frontend | 所有版本的 HAProxy Ingress | 
| `haproxy_frontend_request_errors_total` | `ClusterName`、`Namespace`、Service | 所有版本的 HAProxy Ingress | 
| `haproxy_frontend_requests_denied_total` | `ClusterName`、`Namespace`、Service | 所有版本的 HAProxy Ingress | 

**注意**  
`code` 维度的值可以是 `1xx`、`2xx`、`3xx`、`4xx`、`5xx` 或 `other`。  
`backend` 维度的值可以是：  
适用于 HAProxy Ingress 0.0.27 或更早版本的 `http-default-backend`、`http-shared-backend` 或 `httpsback-shared-backend`。
适用于高于 HAProxy Ingress 0.0.27 版本的 `_default_backend`。
`frontend` 维度的值可以是：  
适用于 HAProxy Ingress 0.0.27 或更早版本的 `httpfront-default-backend`、`httpfront-shared-frontend` 或 `httpfronts`。
适用于高于 HAProxy Ingress 0.0.27 版本的 `_front_http` 或 `_front_https`。