

# 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 지표**


| 지표 이름 | 측정기준 | 
| --- | --- | 
|  `envoy_http_downstream_rq_total` |  ClusterName, `Namespace`   | 
|  `envoy_http_downstream_rq_xx` |  ClusterName, `Namespace`  ClusterName, `Namespace`, envoy\$1http\$1conn\$1manager\$1prefix, envoy\$1response\$1code\$1class  | 
|  `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 지표**


| 지표 이름 | 측정기준 | 
| --- | --- | 
|  `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\$1http\$1conn\$1manager\$1prefix, envoy\$1response\$1code\$1class ClusterName, TaskDefinitionFamily, envoy\$1response\$1code\$1class | 

**참고**  
`TaskDefinitionFamily`는 Mesh의 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에서 자동으로 수집됩니다.


| 지표 이름 | 측정기준 | 
| --- | --- | 
|  `nginx_ingress_controller_nginx_process_cpu_seconds_total` |  ClusterName, `Namespace`, 서비스  | 
|  `nginx_ingress_controller_success` |  ClusterName, `Namespace`, 서비스  | 
|  `nginx_ingress_controller_requests` |  ClusterName, `Namespace`, 서비스  | 
|  `nginx_ingress_controller_nginx_process_connections` |  ClusterName, `Namespace`, 서비스  | 
|  `nginx_ingress_controller_nginx_process_connections_total` |  ClusterName, `Namespace`, 서비스  | 
|  `nginx_ingress_controller_nginx_process_resident_memory_bytes` |  ClusterName, `Namespace`, 서비스  | 
|  `nginx_ingress_controller_config_last_reload_successful` |  ClusterName, `Namespace`, 서비스  | 
|  `nginx_ingress_controller_requests` |  ClusterName, `Namespace`, 서비스, 상태  | 

## Memcached의 Prometheus 지표
<a name="ContainerInsights-Prometheus-metrics-memcached"></a>

다음 지표는 Amazon EKS 및 Kubernetes 클러스터의 Memcached에서 자동으로 수집됩니다.


| 지표 이름 | 측정기준 | 
| --- | --- | 
|  `memcached_current_items` |  ClusterName, `Namespace`, 서비스  | 
|  `memcached_current_connections` |  ClusterName, `Namespace`, 서비스  | 
|  `memcached_limit_bytes` |  ClusterName, `Namespace`, 서비스  | 
|  `memcached_current_bytes` |  ClusterName, `Namespace`, 서비스  | 
|  `memcached_written_bytes_total` |  ClusterName, `Namespace`, 서비스  | 
|  `memcached_read_bytes_total` |  ClusterName, `Namespace`, 서비스  | 
|  `memcached_items_evicted_total` |  ClusterName, `Namespace`, 서비스  | 
|  `memcached_items_reclaimed_total` |  ClusterName, `Namespace`, 서비스  | 
|  `memcached_commands_total` |  ClusterName, `Namespace`, 서비스 ClusterName, `Namespace`, 서비스, 명령 ClusterName, `Namespace`, 서비스, 상태, 명령  | 

## 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\$1exporter](https://github.com/prometheus/jmx_exporter)를 참조하세요.

**Amazon EKS 및 Kubernetes 클러스터의 Java/JMX**


| 지표 이름 | 측정기준 | 
| --- | --- | 
|  `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`, 영역  | 
|  `jvm_memory_pool_bytes_used` |  `ClusterName`, `Namespace`, 풀  | 

**참고**  
`area` 측정기준 값은 `heap` 또는 `nonheap`일 수 있습니다.  
`pool` 측정기준 값은 `Tenured Gen`, `Compress Class Space`, `Survivor Space`, `Eden Space`, `Code Cache` 또는 `Metaspace`일 수 있습니다.

**Amazon EKS 및 Kubernetes 클러스터의 Tomcat/JMX**

이전 테이블의 Java/JMX 지표 외에도 Tomcat 워크로드에 대해 다음 지표가 수집됩니다.


| 지표 이름 | 측정기준 | 
| --- | --- | 
|  `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**


| 지표 이름 | 측정기준 | 
| --- | --- | 
|  `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, 구역  | 
|  `jvm_memory_pool_bytes_used` |  `ClusterName`, TaskDefinitionFamily, 풀  | 

**참고**  
`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 워크로드에 대해 다음 지표도 수집됩니다.


| 지표 이름 | 측정기준 | 
| --- | --- | 
|  `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)를 참조하세요.


| 지표 이름 | 측정기준 | 가용성 | 
| --- | --- | --- | 
|  `haproxy_backend_bytes_in_total` |  `ClusterName`, `Namespace`, 서비스  | 모든 HAProxy Ingress 버전 | 
|  `haproxy_backend_bytes_out_total` |  `ClusterName`, `Namespace`, 서비스  | 모든 HAProxy Ingress 버전 | 
|  `haproxy_backend_connection_errors_total` |  `ClusterName`, `Namespace`, 서비스  | 모든 HAProxy Ingress 버전 | 
|  `haproxy_backend_connections_total` |  `ClusterName`, `Namespace`, 서비스  | 모든 HAProxy Ingress 버전 | 
|  `haproxy_backend_current_sessions` |  `ClusterName`, `Namespace`, 서비스  | 모든 HAProxy Ingress 버전 | 
|  `haproxy_backend_http_responses_total` |  `ClusterName`, `Namespace`, 서비스, 코드, 백엔드  | 모든 HAProxy Ingress 버전 | 
|  `haproxy_backend_status` |  `ClusterName`, `Namespace`, 서비스  |  HAProxy Ingress 버전 0.10 이상에서만  | 
|  `haproxy_backend_up` |  `ClusterName`, `Namespace`, 서비스  |  HAProxy Ingress 버전 0.10 미만에서만  | 
|  `haproxy_frontend_bytes_in_total` |  `ClusterName`, `Namespace`, 서비스  | 모든 HAProxy Ingress 버전 | 
|  `haproxy_frontend_bytes_out_total` |  `ClusterName`, `Namespace`, 서비스  | 모든 HAProxy Ingress 버전 | 
|  `haproxy_frontend_connections_total` |  `ClusterName`, `Namespace`, 서비스  | 모든 HAProxy Ingress 버전 | 
|  `haproxy_frontend_current_sessions` |  `ClusterName`, `Namespace`, 서비스  | 모든 HAProxy Ingress 버전 | 
|  `haproxy_frontend_http_requests_total` |  `ClusterName`, `Namespace`, 서비스  | 모든 HAProxy Ingress 버전 | 
|  `haproxy_frontend_http_responses_total` |  `ClusterName`, `Namespace`, 서비스, 코드, 프런트엔드  | 모든 HAProxy Ingress 버전 | 
|  `haproxy_frontend_request_errors_total` |  `ClusterName`, `Namespace`, 서비스  | 모든 HAProxy Ingress 버전 | 
|  `haproxy_frontend_requests_denied_total` |  `ClusterName`, `Namespace`, 서비스  | 모든 HAProxy Ingress 버전 | 

**참고**  
`code` 측정기준 값은 `1xx`, `2xx`, `3xx`, `4xx`, `5xx` 또는 `other`일 수 있습니다.  
`backend` 측정기준의 값은 다음일 수 있습니다.  
HAProxy Ingress 버전 0.0.27 이하의 경우 `http-default-backend`, `http-shared-backend` 또는 `httpsback-shared-backend`
0.0.27보다 뒤에 출시된 HAProxy Ingress 버전의 경우 `_default_backend`
`frontend` 측정기준의 값은 다음일 수 있습니다.  
HAProxy Ingress 버전 0.0.27 이하의 경우 `httpfront-default-backend`, `httpfront-shared-frontend` 또는 `httpfronts`
0.0.27보다 뒤에 출시된 HAProxy Ingress 버전의 경우 `_front_http` 또는 `_front_https`