-
Docker 컨테이너 모니터링Container 2016. 4. 15. 09:00cAdvisor일반적인 서버 운영 환경에서는 서비스 운영을 하면서 필요한 시스템 메트릭(CPU/메모리 사용률, 네트워크 트래픽, …등)을 모니터링하면서 특이사항이 있을때 대응해 나간다. 도커 컨테이너를 이용해서 서비스를 진행할때도 이는 필요한 기능이다. 허나 컨테이너라는 환경하에서는 기존 모니터링 도구로는 컨테이너에 대한 모니터링을 진행하는 것이 쉽지 않다. 이런 문제점을 해결하고 컨테이너를 모니터링하기 위한 도구로 많이 사용되는 것이 구글에서 만든 cAdvisor(Container Advisor)다.cAdvisor는 호스트에서 실행중인 컨테이너들의 자원 사용량과 성능에 관한 정보를 수집해서 보여준다. cAdvisor는 자신이 컨테이너를 모니터링 하는 도구이면서 컨테이너를 이용해서 실행할 수 있다.아래 처럼 간단한 도커 명령이면 cAdvisor를 실행할 수 있다.sudo docker run \--volume=/:/rootfs:ro \--volume=/var/run:/var/run:rw \--volume=/sys:/sys:ro \--volume=/var/lib/docker/:/var/lib/docker:ro \--publish=8080:8080 \--detach=true \--name=cadvisor \google/cadvisor:latest실행하고나선 웹브라우저에서 8080 포트로 접속해서 cAdvisor 화면을 확인할 수 있다.Subcontainers 화면에서 /docker를 선택해서 들어가면 현재 실행중인 도커 컨테이너들을 확인할 수 있다.이 목록중에서 상태를 확인하고 싶은 컨테이너를 선택하면 해당 컨테이너의 상세한 모니터링 화면을 확인할 수 있다. CPU/메모리 사용량, 컨테이너에 떠 있는 프로세스, 네트워크 트래픽 사용량, 파일시스템 사용량등의 정보를 확인할 수 있다.cAdvisor는 UI뿐만 아니라 REST API역시 가지고 있다. 다음처럼 간단한 curl 명령으로 컨테이너의 상태를 확인할 수 있다.이렇게 하면 앞서 웹브라우저에서 봤던 정보들에 관한 상세 데이터를 JSON 형식으로 확인할 수 있다. curl 명령에서 [컨테이너 이름] 부분을 생략하면 실행중인 전체 컨테이너에 대한 데이터를 확인할 수 있다.cAdvisor에서 수집한 데이터는 인플럭스DB(InfluxDB, https://influxdb.com/)같은 시계열 데이터베이스나, 프로메테우스(Prometheus, http://prometheus.io/), 힙스터(Heapster, https://github.com/kubernetes/heapster)같은 모니터링 시스템에 보내서 이용할 수 있다.
'Container' 카테고리의 다른 글
mesos marathon-lb (0) 2018.01.25 Google Container Engine (1) 2016.04.18 Docker 공식 이미지 사용하기 : ElasticSearch (0) 2016.04.13 Docker 공식 이미지 사용하기 : 젠킨스 (0) 2016.04.11 Docker 공식 이미지 사용하기 : Redis (0) 2016.04.08 댓글