CodeGym /행동 /Docker SELF /내장 모니터링 도구

내장 모니터링 도구

Docker SELF
레벨 21 , 레슨 2
사용 가능

3.1 docker stats 명령어

Docker는 실시간으로 컨테이너를 모니터링할 수 있는 내장 도구 — 명령어 docker stats를 제공해. 이 명령어로 CPU, 메모리, 네트워크, 디스크 사용량 같은 주요 성능 지표를 추적할 수 있어. 어떻게 docker stats를 사용해서 컨테이너 상태와 성능을 파악할 수 있는지 같이 보자.

명령어 docker stats는 각 컨테이너의 실시간 동적 통계를 제공해. 제공되는 지표는 다음과 같아:

  • CPU %: 컨테이너의 CPU 사용률.
  • MEM USAGE / LIMIT: 컨테이너의 메모리 사용량과 설정된 제한.
  • MEM %: 컨테이너 메모리 사용 비율.
  • NET I/O: 네트워크 트래픽 (수신 및 송신).
  • BLOCK I/O: 디스크에서의 입/출력 작업 횟수.
  • PIDS: 컨테이너 내부에서 실행 중인 프로세스 개수.

명령어 docker stats 기본 사용법

명령어 docker stats를 매개변수 없이 실행하면, 실행 중인 모든 컨테이너의 메트릭을 표시해:

Terminal


docker stats 

docker stats 명령어의 출력 예시:

Terminal


CONTAINER ID   NAME                CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
d9b100f2f636   my_nginx            0.07%     1.24MiB / 1.952GiB    0.06%     1.68kB / 0B       0B / 12.3MB       2
fa3f3f3f3f3f   my_postgres         2.13%     230.5MiB / 1.952GiB   11.52%    2.12MB / 2.05MB   85.6MB / 45.2MB   10

특정 컨테이너 모니터링

컨테이너 이름이나 ID를 지정해서 특정 컨테이너의 메트릭을 추적할 수도 있어:

Terminal


docker stats my_nginx 

3.2 docker stats 명령의 설정

docker stats 명령의 매개변수

docker stats 명령은 출력 데이터를 커스터마이징할 수 있는 여러 옵션을 지원해:

  • --all 또는 -a: 중지된 컨테이너를 포함하여 모든 컨테이너에 대한 메트릭을 표시해.
  • --no-stream: 메트릭을 한 번 표시하고 명령 실행을 종료해.
  • --format: 템플릿을 사용하여 출력 데이터를 커스터마이징해.

--no-stream 매개변수 사용 예시

모든 컨테이너에 대해 메트릭을 한 번 출력:

터미널

docker stats --no-stream

--format 매개변수 사용 예시

포맷된 데이터 출력:

터미널

docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"

출력 예시:

터미널

CONTAINER ID   CPU %     MEM USAGE / LIMIT
d9b100f2f636   0.07%     1.24MiB / 1.952GiB
fa3f3f3f3f3f   2.13%     230.5MiB / 1.952GiB

3.3 docker stats의 실용적 사용

예제 1: 서버 부하 추적

서버에서 docker stats를 이용해서 컨테이너를 모니터링하고 CPU 또는 메모리 부하가 높은 컨테이너를 식별할 수 있어. 이렇게 하면 리소스 사용을 최적화하고 애플리케이션 성능을 향상시킬 수 있어.

Terminal

docker stats

예제 2: 테스트 중 특정 컨테이너 모니터링

새로운 애플리케이션 버전을 테스트하거나 설정을 변경할 때 특정 컨테이너의 메트릭을 추적해서 성능에 부정적인 영향을 미치지 않는지 확인할 수 있어.

Terminal

docker stats my_test_container

예제 3: 모니터링 시스템과 통합

docker stats 출력 정보를 외부 모니터링 시스템과 통합할 수 있어. --format 옵션을 사용해서 네가 사용하는 모니터링 도구와 호환되는 출력 형식을 만들 수 있어.

Terminal

docker stats --no-stream --format "{{.Container}}: CPU {{.CPUPerc}}, MEM {{.MemUsage}}"

docker stats 명령의 제한

docker stats는 실시간으로 유용한 메트릭을 제공하지만 몇 가지 제한 사항이 있어:

  • 제한된 메트릭: 이 명령은 기본 메트릭만 표시하며 컨테이너 상태에 대한 상세한 정보를 제공하지 않아.
  • 수동 사용: docker stats는 수동으로 사용하기엔 편리하지만, 자동 모니터링 및 경고 설정을 위해선 Prometheus와 Grafana 같은 전문 도구를 사용하는 게 더 좋아.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION