-
Zabbix Docker Container Monitoring
해외 monitoringartist에서 공개한 zabbix template와 zabbix agent XXL을 이용하여 모니터링할 대상 서버의 Docker Container를 모니터링할 수 있습니다. (저가 못찾는건지 국내 문서는 아예 보이질 않아서 간단한 작업인데도 해외 문서 이것저것 찾아보고 건드리다보니 굉장히 개고생 했네요)
monitoringartist의 github LICENSE 상에는 GNU 프로젝트에 기반하여 xml 파일 등을 공개한다고 되어있으나 이 글에서는 코드를 올리는것보다 monitoringartist에서 공개한 명령의 이미지와 링크를 기반으로 작성하고 간단한 설명만 붙이겠습니다.
참고로 테스트를 진행한 자빅스의 버전은 4.4.7이며 zabbix agent도 컨테이너로 실행하였습니다.
-
제한 사항
zabbix agent XXL 무료 버전과 유료 버전의 기능은 거의 동일하나, 무료버전은 아래와 같은 제한 사항이 있다고 합니다.
위의 제한 사항외에도 무료 버전과 함께 유료 버전도 제한되는 내용이 있습니다.
-
1. zabbix template import
아래 링크를 통해 공개된 xml 파일을 저장 해주세요.
해당 링크는 브라우저로 실행되며 메모장 등을 통해 복사+붙여넣기하여 다른 이름으로 저장하기 누른 후 아래 이미지와 같이 파일 이름의 확장자를 xml로 저장 해주시면 됩니다.
xml 파일 저장을 완료 했으면 자빅스 웹페이지로 이동하여 Configuration → Templates → Import 클릭 합니다.
파일 선택을 클릭하여 저장했던 xml 파일을 불러온 후 Import를 클릭하여 완료 합니다.
아래 화면과 같이 items, Triggers 등 안보이는것이 정상이며 Discovery에 모두 작성되어 있습니다.
위에서 Import한 템플릿을 아래와 같이 호스트에 설정을 진행 합니다. (호스트에 템플릿을 추가하는 방법은 생략)
-
zabbix agent xxl install
모니터링 대상 서버에서 아래 명령을 입력하여 zabbix agent xxl 이미지를 다운로드 받은 후 컨테이너를 실행 시킵니다. ZA_Server와 ZA_ServerActive는 자빅스 서버의 IP를 입력해주시면 됩니다. (ex. -e "ZA_Server=10.10.10.10" \)
-
적용 확인
저는 아래 이미지와 같이 zabbix-agent-xxl, docker_apache_1 컨테이너를 모니터링할 수 있게 되었으며, 참고로 interval이 600초로 되어있어 latest에 반영되기까지 생각보다 시간이 길게 걸리므로 기다려주세요.
아래 lastest 이미지는 import 했던 zabbix template에 기본적으로 설정되어있는 모니터링 항목들이며, 아래 링크에서 더 다양한 내용을 볼 수 있습니다.
https://github.com/monitoringartist/zabbix-docker-monitoring
참고 사이트 : https://github.com/monitoringartist/zabbix-docker-monitoring
참고 사이트 : https://hub.docker.com/r/monitoringartist/dockbix-agent-xxl-limited/