리눅스 CentOS 7 버전에서 도커를 이용하여 모니터링을 구축하여 사용하기



1. CentOS 7에 도커를 설치합니다.

 - 명령어: sudo yum install docker


2. 도커 설치가 완료 되었으면 도커 서비스를 실행합니다.

 - 명령어: sudo service docker start


※ 그 외의 도커 명령어

- 부팅시 도커 자동으로 실행하기: sudo chkconfig docker on

- 도커 버전 확인 하기: sudo docker version

- 도커 실행 명령어: docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

옵션 설명

    -d detached mode 흔히 말하는 백그라운드 모드

    -p 호스트와 컨테이너의 포트를 연결 (포워딩)

    -v 호스트와 컨테이너의 디렉토리를 연결 (마운트)

    -e 컨테이너 내에서 사용할 환경변수 설정

    –name 컨테이너 이름 설정

    –rm 프로세스 종료시 컨테이너 자동 제거

    -it -i와 -t를 동시에 사용한 것으로 터미널 입력을 위한 옵션

    –link 컨테이너 연결 [컨테이너명:별칭]

- 도커 이미지 찾기(Name에 찾을 이미지를 입력하면 됩니다.): sudo docker search <Name>

- 다운받은 이미지 확인: sudo docker images

- 도커 컨테이너 확인하기: sudo docker ps -a

- 도커 컨테이너 삭제하기: sudo docker rm <컨테이너ID>

- 도커 컨테니어 접속(컨테이너명은 컨테이너 확인하기로 이름을 알아낸다.): sudo docker exec -it <컨테이너 이름> /bin/bash

- 그외의 자세한 사항: https://docs.docker.com/ 에서 확인해주세요.


3. 모니터링을 위해 Grafana, Telegraf, Influxdb를 설치해야 합니다. 하지만 도커에서 찾아보니 docker-statsd-influxdb-grafana 이 존재하여 이 이미지를 설치 합니다.

- 명령어: sudo docker pull samuelebistoletti/docker-statsd-influxdb-grafana

- 도커 이미지명: docker-statsd-influxdb-grafana

- 해당 도커 Git URL: https://github.com/samuelebistoletti/docker-statsd-influxdb-grafana


4. 설치가 완료되었으면 해당 이미지로 컨테이너로 만들어 실행합니다.

- 명령어: docker run --ulimit nofile=66000:66000 -d -it --name docker-statsd-influxdb-grafana -p 3003:3003 -p 3004:8888 -p 8086:8086 -p 22022:22 -p 8125:8125/udp samuelebistoletti/docker-statsd-influxdb-grafana:latest


5. 도커를 실행하였으면 이제 브라우저에서 그라파나를 접속 합니다.

- URL: http://localhost:3003

- 기본 그라파나 계정 및 비밀번호: root/root (추후 그라파나 관리자에서 계정 및 비밀번호를 변경해주세요.)



6. 그라파나에 접속하면 기본적으로 influxdb 데이터소스까지 설정이 되어있을 것입니다. 

  이제 우리가 할 일은 telegraf에서 수집한 정보를 그래프로 만들기만 하면 됩니다.


7. 이제 그래프를 만들기 시작합니다. cpu, mem, disk, processes, diskio 등등.. 저는 제가 필요한 cpu, mem, disk, prrocesses 만 만들어봤습니다.


8. 만약 Mysql 혹은 그외의 다른것들을 Telegraf를 통해서 수집을 하고 싶은 경우 docker 에서 해당 컨테이너로 접속 후

   /etc/telegraf/telegraf.conf 파일을 vim 으로 여신 후 설정을 변경하여 컨테이너를 재시작하면 다른 정보도 수집을 할 수 있습니다.

   자세한것은 Telegraf 공식 홈페이지를 참고해 주세요.



9. CPU 그래프 만들기






10. Disk 그래프 만들기



11. 메모리 그래프 만들기




12. 프로세스 그래프 만들기



13. 원하는 그래프를 완성하였다면 각 그래프마다 Share 기능을 통해서 URL, IFRAME, SnapShot 을 통해서 해당 그래프를 원하는 위치에 공유를 하면 됩니다.


그리고 Share시 파라미터 값에 from=now-1h&to=now&refresh=10s 이렇게 넣어주면 현재 시간에 1시간 전 부터 지금까지, 10초 마다 자동으로 리프레쉬가 됩니다.




14. 그리고 그래프를 다른사람이 만든것을 사용하고 싶으시면 https://grafana.com/dashboards/ 여기에서 json 파일을 다운 받아서

     그라파나에서 import를 통해서 json 파일을 그래프로 추가 할 수 있습니다.

아래 2개의 JSON은 해당 사이트에서 받은 파일 입니다.



linux-system-overview_rev1.json

service-mysql-metrics_rev1.json





+ Recent posts