CloudWatch 에이전트가 수집하는 지표 - Amazon CloudWatch

CloudWatch 에이전트가 수집하는 지표

서버에 CloudWatch 에이전트를 설치하면 서버에서 지표를 수집할 수 있습니다. Amazon EC2 인스턴스와 온프레미스 서버 모두에 에이전트를 설치할 수 있습니다. Linux, Windows Server 또는 macOS를 실행하는 컴퓨터에 에이전트를 설치할 수도 있습니다. Amazon EC2 인스턴스에 에이전트를 설치하는 경우 에이전트가 수집하는 지표는 Amazon EC2 인스턴스에서 기본적으로 사용 설정된 지표에 추가됩니다. 인스턴스에 CloudWatch 에이전트를 설치하는 방법에 대한 자세한 내용은 CloudWatch 에이전트를 사용하여 지표, 로그, 추적 수집 단원을 참조하세요. 이 섹션을 사용하여 CloudWatch 에이전트가 수집하는 지표에 대해 알아볼 수 있습니다.

Windows Server 인스턴스의 CloudWatch 에이전트가 수집하는 지표

Windows Server를 실행하는 서버에 CloudWatch 에이전트를 설치하면 Windows 성능 모니터의 카운터와 연결된 지표를 수집할 수 있습니다. 이러한 카운터의 CloudWatch 지표 이름은 객체 이름과 카운터 이름 사이에 공백을 넣어 생성됩니다. 예를 들어 Processor 객체의 % Interrupt Time 카운터는 CloudWatch에서 Processor % Interrupt Time이라는 지표 이름이 부여됩니다. Windows 성능 모니터 카운터에 대한 자세한 내용은 Microsoft Windows 서버 설명서를 참조하세요.

CloudWatch 에이전트가 수집하는 지표의 기본 네임스페이스는 CWAgent이지만, 에이전트를 구성할 때 다른 네임스페이스를 지정할 수 있습니다.

Linux 및 macOS 인스턴스의 CloudWatch 에이전트가 수집하는 지표

다음 표에는 Linux 서버 및 macOS 컴퓨터에서 CloudWatch 에이전트를 사용하여 수집할 수 있는 지표가 나와 있습니다.

지표 설명

cpu_time_active

어떠한 용량에서든 CPU가 활성화되어 있는 시간입니다. 이 지표는 수백 초 단위로 측정됩니다.

단위: 없음

cpu_time_guest

CPU가 게스트 운영 체제에 대해 가상 CPU를 실행하는 시간입니다. 이 지표는 수백 초 단위로 측정됩니다.

단위: 없음

cpu_time_guest_nice

CPU가 우선 순위가 낮으며, 다른 프로세스에 의해 중단될 수 있는 게스트 운영 체제에 대해 가상 CPU를 실행하는 시간입니다. 이 지표는 수백 초 단위로 측정됩니다.

단위: 없음

cpu_time_idle

CPU가 유휴 상태인 시간입니다. 이 지표는 수백 초 단위로 측정됩니다.

단위: 없음

cpu_time_iowait

CPU가 I/O 작업이 완료될 때까지 기다리는 시간입니다. 이 지표는 수백 초 단위로 측정됩니다.

단위: 없음

cpu_time_irq

CPU가 인터럽트를 제공하는 시간입니다. 이 지표는 수백 초 단위로 측정됩니다.

단위: 없음

cpu_time_nice

우선 순위가 높은 프로세스에 의해 쉽게 중단될 수 있는 우선 순위가 낮은 프로세스가 있는 사용자 모드에 CPU가 있는 시간입니다. 이 지표는 수백 초 단위로 측정됩니다.

단위: 없음

cpu_time_softirq

CPU가 소프트웨어 인터럽트를 제공하는 시간입니다. 이 지표는 수백 초 단위로 측정됩니다.

단위: 없음

cpu_time_steal

CPU가 도용 시간에 있는 시간입니다. 도용 시간은 가상화 환경에서 다른 운영 체제에서 사용된 시간입니다. 이 지표는 수백 초 단위로 측정됩니다.

단위: 없음

cpu_time_system

CPU가 시스템 모드에 있는 시간입니다. 이 지표는 수백 초 단위로 측정됩니다.

단위: 없음

cpu_time_user

CPU가 사용자 모드에 있는 시간입니다. 이 지표는 수백 초 단위로 측정됩니다.

단위: 없음

cpu_usage_active

어떠한 용량에서든 CPU가 활성화되어 있는 시간(백분율)입니다.

단위: 백분율

cpu_usage_guest

CPU가 게스트 운영 체제에 대해 가상 CPU를 실행하는 시간 비율입니다.

단위: 백분율

cpu_usage_guest_nice

CPU가 우선 순위가 낮으며, 다른 프로세스에 의해 중단될 수 있는 게스트 운영 체제에 대해 가상 CPU를 실행하는 시간 비율입니다.

단위: 백분율

cpu_usage_idle

CPU가 유휴 상태인 시간 비율

단위: 백분율

cpu_usage_iowait

CPU가 I/O 작업이 완료될 때까지 기다리는 시간 비율입니다.

단위: 백분율

cpu_usage_irq

CPU가 인터럽트를 제공하는 시간 비율입니다.

단위: 백분율

cpu_usage_nice

우선 순위가 높은 프로세스에 의해 쉽게 중단될 수 있는 우선 순위가 낮은 프로세스가 있는 사용자 모드에 CPU가 있는 시간 비율입니다.

단위: 백분율

cpu_usage_softirq

CPU가 소프트웨어 인터럽트를 제공하는 시간 비율입니다.

단위: 백분율

cpu_usage_steal

CPU가 도용 시간에 있는 시간 또는 가상화 환경에서 다른 운영 체제에서 사용된 시간의 비율입니다.

단위: 백분율

cpu_usage_system

CPU가 시스템 모드에 있는 시간 비율입니다.

단위: 백분율

cpu_usage_user

CPU가 사용자 모드에 있는 시간 비율입니다.

단위: 백분율

disk_free

디스크의 사용 가능한 공간입니다.

단위: 바이트

disk_inodes_free

디스크에서 사용 가능한 인덱스 노드 수입니다.

단위: 수

disk_inodes_total

디스크에서 예약되어 있는 총 인덱스 노드 수입니다.

단위: 수

disk_inodes_used

디스크에서 사용된 인덱스 노드 수입니다.

단위: 수

disk_total

사용된 공간이나 사용 가능한 공간을 포함한 디스크의 총 공간입니다.

단위: 바이트

disk_used

디스크의 사용된 공간입니다.

단위: 바이트

disk_used_percent

사용된 총 디스크 공간 비율입니다.

단위: 백분율

diskio_iops_in_progress

디바이스 드라이버에 발행되었지만 아직 완료되지는 않은 I/O 요청 수입니다.

단위: 수

diskio_io_time

디스크가 I/O 요청이 대기하도록 한 시간입니다.

단위: 밀리초

이 지표에는 Sum 통계만 사용해야 합니다. Average는 사용하지 마세요.

diskio_reads

디스크 읽기 작업 수입니다.

단위: 수

이 지표에는 Sum 통계만 사용해야 합니다. Average는 사용하지 마세요.

diskio_read_bytes

디스크에서 읽어온 바이트 수입니다.

단위: 바이트

이 지표에는 Sum 통계만 사용해야 합니다. Average는 사용하지 마세요.

diskio_read_time

읽기 요청이 디스크에서 대기하고 있는 시간입니다. 동시에 여러 개의 읽기 요청이 대기하게 되면 숫자가 증가합니다. 예를 들어, 5개의 요청 모두가 평균 100밀리초 동안 대기하는 경우 500이 보고됩니다.

단위: 밀리초

이 지표에는 Sum 통계만 사용해야 합니다. Average는 사용하지 마세요.

diskio_writes

디스크 쓰기 작업 수입니다.

단위: 수

이 지표에는 Sum 통계만 사용해야 합니다. Average는 사용하지 마세요.

diskio_write_bytes

디스크에 기록한 바이트 수입니다.

단위: 바이트

이 지표에는 Sum 통계만 사용해야 합니다. Average는 사용하지 마세요.

diskio_write_time

쓰기 요청이 디스크에서 대기하고 있는 시간입니다. 동시에 여러 개의 쓰기 요청이 대기하게 되면 숫자가 증가합니다. 예를 들어, 8개의 요청 모두가 평균 1000밀리초 동안 대기하는 경우 8000이 보고됩니다.

단위: 밀리초

이 지표에는 Sum 통계만 사용해야 합니다. Average는 사용하지 마세요.

ethtool_bw_in_allowance_exceeded

인바운드 집계 대역폭이 인스턴스의 최댓값을 초과하여 대기열에 있거나 삭제된 패킷 수입니다.

이 지표는 CloudWatch 에이전트 구성 파일의 metrics_collected 섹션에 있는 ethtool 하위 섹션에 나열된 경우에만 수집됩니다. 자세한 내용은 네트워크 성능 지표 수집 단원을 참조하세요.

단위: 없음

ethtool_bw_out_allowance_exceeded

아웃바운드 집계 대역폭이 인스턴스의 최댓값을 초과하여 대기열에 있거나 삭제된 패킷 수입니다.

이 지표는 CloudWatch 에이전트 구성 파일의 metrics_collected 섹션에 있는 ethtool 하위 섹션에 나열된 경우에만 수집됩니다. 자세한 내용은 네트워크 성능 지표 수집 단원을 참조하세요.

단위: 없음

ethtool_conntrack_allowance_exceeded

연결 추적에서 인스턴스의 최대값이 초과되어 새 연결을 설정하지 못했기 때문에 손실된 패킷 수입니다. 이로 인해 인스턴스의 수신 또는 송신 트래픽에 대한 패킷 손실이 발생할 수 있습니다.

이 지표는 CloudWatch 에이전트 구성 파일의 metrics_collected 섹션에 있는 ethtool 하위 섹션에 나열된 경우에만 수집됩니다. 자세한 내용은 네트워크 성능 지표 수집 단원을 참조하세요.

단위: 없음

ethtool_linklocal_allowance_exceeded

로컬 프록시 서비스에 대한 트래픽의 PPS가 네트워크 인터페이스의 최대값을 초과하여 손실된 패킷 수입니다. 이는 DNS 서비스, Instance Metadata Service 및 Amazon Time Sync Service에 대한 트래픽에 영향을 미칩니다.

이 지표는 CloudWatch 에이전트 구성 파일의 metrics_collected 섹션에 있는 ethtool 하위 섹션에 나열된 경우에만 수집됩니다. 자세한 내용은 네트워크 성능 지표 수집 단원을 참조하세요.

단위: 없음

ethtool_pps_allowance_exceeded

양방향 PPS가 인스턴스의 최댓값을 초과하여 대기열에 있거나 삭제된 패킷 수입니다.

이 지표는 CloudWatch 에이전트 구성 파일의 metrics_collected 섹션에 있는 ethtool 하위 섹션에 나열된 경우에만 수집됩니다. 자세한 내용은 네트워크 성능 지표 수집 단원을 참조하세요.

단위: 없음

mem_active

마지막 샘플 기간 동안 몇 가지 방식으로 사용된 메모리 양입니다.

단위: 바이트

mem_available

사용 가능하며 즉시 프로세스에 제공할 수 있는 메모리 양입니다.

단위: 바이트

mem_available_percent

사용 가능하며 즉시 프로세스에 제공할 수 있는 메모리 비율입니다.

단위: 백분율

mem_buffered

버퍼에 사용되고 있는 메모리 양입니다.

단위: 바이트

mem_cached

파일 캐시에 사용되고 있는 메모리 양입니다.

단위: 바이트

mem_free

사용되지 않는 메모리 양입니다.

단위: 바이트

mem_inactive

마지막 샘플 기간 동안 몇 가지 방식으로 사용되지 않은 메모리 양입니다.

단위: 바이트

mem_total

총 메모리 크기

단위: 바이트

mem_used

현재 사용 중인 메모리 양입니다.

단위: 바이트

mem_used_percent

현재 사용 중인 메모리 비율입니다.

단위: 백분율

net_bytes_recv

네트워크 인터페이스에서 받은 바이트 수입니다.

단위: 바이트

이 지표에는 Sum 통계만 사용해야 합니다. Average는 사용하지 마세요.

net_bytes_sent

네트워크 인터페이스가 보낸 바이트 수입니다.

단위: 바이트

이 지표에는 Sum 통계만 사용해야 합니다. Average는 사용하지 마세요.

net_drop_in

이 네트워크 인터페이스에서 받았지만 삭제된 패킷 수입니다.

단위: 수

이 지표에는 Sum 통계만 사용해야 합니다. Average는 사용하지 마세요.

net_drop_out

이 네트워크 인터페이스가 전송했지만 삭제된 패킷 수입니다.

단위: 수

이 지표에는 Sum 통계만 사용해야 합니다. Average는 사용하지 마세요.

net_err_in

이 네트워크 인터페이스가 탐지한 수신 오류 수입니다.

단위: 수

이 지표에는 Sum 통계만 사용해야 합니다. Average는 사용하지 마세요.

net_err_out

이 네트워크 인터페이스가 탐지한 전송 오류 수입니다.

단위: 수

이 지표에는 Sum 통계만 사용해야 합니다. Average는 사용하지 마세요.

net_packets_sent

이 네트워크 인터페이스가 보낸 패킷 수입니다.

단위: 수

이 지표에는 Sum 통계만 사용해야 합니다. Average는 사용하지 마세요.

net_packets_recv

이 네트워크 인터페이스에서 받은 패킷 수입니다.

단위: 수

이 지표에는 Sum 통계만 사용해야 합니다. Average는 사용하지 마세요.

netstat_tcp_close

상태가 없는 TCP 연결 수입니다.

단위: 수

netstat_tcp_close_wait

클라이언트로부터 종료 요청을 기다리고 있는 TCP 연결 수입니다.

단위: 수

netstat_tcp_closing

클라이언트로부터 승인과 함께 종료 요청을 기다리고 있는 TCP 연결 수입니다.

단위: 수

netstat_tcp_established

설정된 TCP 연결 수입니다.

단위: 수

netstat_tcp_fin_wait1

연결 종료 프로세스 중에 FIN_WAIT1 상태에 있는 TCP 연결 수입니다.

단위: 수

netstat_tcp_fin_wait2

연결 종료 프로세스 중에 FIN_WAIT2 상태에 있는 TCP 연결 수입니다.

단위: 수

netstat_tcp_last_ack

클라이언트가 연결 종료 메시지 승인을 보내길 기다리고 있는 TCP 연결 수입니다. 연결이 종료되기 직전의 마지막 단계입니다.

단위: 수

netstat_tcp_listen

현재 연결 요청을 수신하고 있는 TCP 포트 수입니다.

단위: 수

netstat_tcp_none

비활성 클라이언트가 있는 TCP 연결 수입니다.

단위: 수

netstat_tcp_syn_sent

연결 요청을 보낸 후 일치하는 연결 요청을 기다리고 있는 TCP 연결 수입니다.

단위: 수

netstat_tcp_syn_recv

연결 요청을 보내고 받은 후 연결 요청 승인을 기다리고 있는 TCP 연결 수입니다.

단위: 수

netstat_tcp_time_wait

클라이언트가 연결 종료 요청 승인을 받았는지 확인하기 위해 현재 기다리고 있는 TCP 연결 수입니다.

단위: 수

netstat_udp_socket

현재 UDP 연결 수입니다.

단위: 수

processes_blocked

차단된 프로세스 수입니다.

단위: 수

processes_dead

"데드(Dead)" 상태인 프로세스 수이며, Linux에서 X 상태 코드로 나타납니다.

macOS 컴퓨터에서는 이 지표가 수집되지 않습니다.

단위: 수

processes_idle

유휴 상태(20초 이상 절전 모드)인 프로세스 수입니다. FreeBSD 인스턴스에서만 사용할 수 있습니다.

단위: 수

processes_paging

페이징되고 있는 프로세스 수이며, Linux에서 W 상태 코드로 나타납니다.

macOS 컴퓨터에서는 이 지표가 수집되지 않습니다.

단위: 수

processes_running

실행 중인 프로세스 수이며, R 상태 코드로 나타납니다.

단위: 수

processes_sleeping

절전 모드의 프로세스 수이며, S 상태 코드로 나타납니다.

단위: 수

processes_stopped

중지된 프로세스 수이며, T 상태 코드로 나타납니다.

단위: 수

processes_total

인스턴스에 있는 총 프로세스 수입니다.

단위: 수

processes_total_threads

프로세스를 구성하는 총 스레드 수입니다. 이 지표는 Linux 인스턴스에서만 사용할 수 있습니다.

macOS 컴퓨터에서는 이 지표가 수집되지 않습니다.

단위: 수

processes_wait

페이징되고 있는 프로세스 수이며, FreeBSD 인스턴스에서 W 상태 코드로 나타납니다. 이 지표는 FreeBSD 인스턴스에서만 사용할 수 있으며 Linux, Windows Server 또는 macOS 인스턴스에서는 사용할 수 없습니다.

단위: 수

processes_zombies

좀비 프로세스 수이며, Z 상태 코드로 나타납니다.

단위: 수

swap_free

사용되지 않는 스왑 공간 크기입니다.

단위: 바이트

swap_used

현재 사용 중인 스왑 공간 크기입니다.

단위: 바이트

swap_used_percent

현재 사용 중인 스왑 공간 비율입니다.

단위: 백분율

CloudWatch 에이전트가 수집하는 메모리 지표의 정의

CloudWatch 에이전트가 메모리 지표를 수집할 때 소스는 호스트의 메모리 관리 하위 시스템입니다. 예를 들어 Linux 커널은 /proc에서 OS 유지 관리 데이터를 노출합니다. 메모리의 경우 데이터가 /proc/meminfo에 들어 있습니다.

운영 체제 및 아키텍처마다 프로세스에서 사용하는 리소스의 계산 방식이 다릅니다. 자세한 내용은 다음 섹션을 참조하십시오.

각 수집 간격 동안 각 인스턴스의 CloudWatch 에이전트는 인스턴스 리소스를 수집하고 인스턴스에서 실행 중인 모든 프로세스에서 사용 중인 리소스를 계산합니다. 이 정보는 CloudWatch 지표에 다시 보고됩니다. CloudWatch 에이전트 구성 파일에서 수집 간격의 길이를 구성할 수 있습니다. 자세한 내용은 CloudWatch 에이전트 구성 파일: 에이전트 섹션 단원을 참조하십시오.

다음 목록은 CloudWatch 에이전트가 수집하는 메모리 지표가 어떻게 정의되는지 설명합니다.

  • 활성 메모리 - 프로세스에서 사용 중인 메모리입니다. 즉, 현재 실행 중인 앱이 사용하는 메모리입니다.

  • 가용 메모리 - 시스템을 교체하지 않고도 프로세스에 즉시 제공할 수 있는 메모리입니다(가상 메모리라고도 함).

  • 버퍼 메모리 - 서로 다른 속도와 우선 순위로 작동하는 하드웨어 디바이스 또는 프로그램 프로세스가 공유하는 데이터 영역입니다.

  • 캐시된 메모리 - 프로그램 작동에 반복적으로 사용되는 프로그램 명령어와 데이터를 저장하여 CPU가 다음에 필요로 할 가능성이 큽니다.

  • 여유 메모리 - 전혀 사용되지 않았으며 사용할 수 있는 메모리입니다. 필요할 때 시스템에서 완전히 무료로 사용할 수 있습니다.

  • 비활성 메모리 - ‘최근’ 액세스한 적이 없는 페이지입니다.

  • 총 메모리 - 실제 물리적 메모리 RAM의 크기입니다.

  • 사용된 메모리 - 프로그램과 프로세스에서 현재 사용 중인 메모리입니다.

Linux: 수집된 지표 및 사용된 계산

수집된 지표 및 단위:

  • 활성(바이트)

  • 사용 가능(바이트)

  • 가용 퍼센트(퍼센트)

  • 버퍼링됨(바이트)

  • 캐시됨(바이트)

  • 여유(바이트)

  • 비활성(바이트)

  • 총(바이트)

  • 사용됨(바이트)

  • 사용된 퍼센트(퍼센트)

사용된 메모리 = 총 메모리 - 여유 메모리 - 캐시된 메모리 - 버퍼 메모리

총 메모리 = 사용 메모리 + 여유 메모리 + 캐시 메모리 + 버퍼 메모리

macOS: 수집된 지표 및 사용된 계산

수집된 지표 및 단위:

  • 활성(바이트)

  • 사용 가능(바이트)

  • 가용 퍼센트(퍼센트)

  • 여유(바이트)

  • 비활성(바이트)

  • 총(바이트)

  • 사용됨(바이트)

  • 사용된 퍼센트(퍼센트)

사용 가능한 메모리 = 여유 메모리 + 비활성 메모리

사용된 메모리 = 총 메모리 - 사용 가능한 메모리

사용된 메모리 = 사용 가능한 메모리 + 사용된 메모리

Windows: 수집된 지표

Windows 호스트에서 수집된 지표는 다음과 같습니다. 이러한 모든 지표는 Unit에 대해 None입니다.

  • 사용 가능(바이트)

  • 캐시 장애/초

  • 페이지 장애/초

  • 페이지/초

CloudWatch 에이전트는 성능 카운터에서 이벤트를 구문 분석하기 때문에 Windows 지표에는 계산이 사용되지 않습니다.

예: Linux에서 메모리 지표 계산

예를 들어 Linux 호스트에서 cat /proc/meminfo 명령을 입력하면 다음과 같은 결과가 표시된다고 가정해 보겠습니다.

MemTotal: 3824388 kB MemFree: 462704 kB MemAvailable: 2157328 kB Buffers: 126268 kB Cached: 1560520 kB SReclaimable: 289080 kB>

이 예에서는 CloudWatch 에이전트가 다음 값을 수집합니다. CloudWatch 에이전트가 수집하고 보고하는 모든 값은 바이트 단위입니다.

  • mem_total: 3916173312바이트

  • mem_available: 2209103872바이트(MemFree + Cached)

  • mem_free: 473808896바이트

  • mem_cached: 1893990400바이트(cached + SReclaimable

  • mem_used: 1419075584바이트(MemTotal – (MemFree + Buffers + (Cached + SReclaimable)))

  • mem_buffered: 129667072바이트

  • mem_available_percent: 56.41%

  • mem_used_percent: 36.24% (mem_used / mem_total) * 100