목록으로

Programming Notes

CentOS 7.8 서버에 Zabbix Agent 5 설치 및 스크립트 활용 방법: 안정적인 시스템 모니터링의 시작

IT 인프라 운영에 있어서 시스템 모니터링은 필수입니다. 발생 가능한 장애를 사전에 감지하고 예방함으로써 서비스 중단을 최소화하고 안정적인 시스템 운영을 보장하기 때문입니다. 본 글에서는 CentOS 7.8 서버에 Zabbix Agent 5.X를 설치하고, 효율적인 모니터링을...

IT 인프라 운영에 있어서 시스템 모니터링은 필수입니다. 발생 가능한 장애를 사전에 감지하고 예방함으로써 서비스 중단을 최소화하고 안정적인 시스템 운영을 보장하기 때문입니다. 본 글에서는 CentOS 7.8 서버에 Zabbix Agent 5.X를 설치하고, 효율적인 모니터링을 위한 스크립트 활용 방법을 소개합니다. Zabbix는 강력하고 유연한 모니터링 시스템으로, 다양한 환경과 요구사항에 맞춰 적용할 수 있다는 장점을 가지고 있습니다.

Zabbix Agent 설치는 의외로 간단합니다. 먼저, Zabbix 저장소를 등록해야 합니다. 저는 기존에 운영 중인 개인 레포지토리를 활용했지만, Zabbix 공식 저장소를 이용하는 것도 가능합니다. 공식 저장소를 사용할 경우, Zabbix 공식 웹사이트에서 제공하는 명령어를 따라 CentOS 7에 맞는 레포지토리를 추가하면 됩니다. 레포지토리가 추가되었다면, yum clean all 명령어로 캐시를 정리하고 yum repolist 명령어로 추가된 레포지토리를 확인합니다. 모든 준비가 완료되면, sudo yum install zabbix-agent 명령어를 통해 Zabbix Agent 패키지를 설치합니다. 설치 과정에서 최신 버전 (예: 5.0.21)이 설치될 것입니다.

설치가 완료되면, Zabbix Agent 설정 파일 /etc/zabbix/zabbix_agentd.conf를 수정해야 합니다. 가장 중요한 설정은 Server, ServerActive, Hostname 입니다. Server에는 Zabbix Server의 IP 주소를, ServerActive에는 Zabbix Server의 IP 주소 또는 도메인 네임을, 그리고 Hostname에는 Zabbix Server에서 해당 Agent를 식별할 고유한 호스트 이름을 입력해야 합니다. 이 설정 값들은 Zabbix Server와 Agent 간의 통신을 가능하게 해줍니다. 추가적으로, 모니터링하고자 하는 특정 항목을 감시하기 위한 사용자 정의 스크립트를 추가할 수 있습니다. /etc/zabbix/zabbix_agentd.conf 파일에 UserParameter 지시어를 사용하여 스크립트를 등록하고, Zabbix Server에서 해당 스크립트의 결과값을 수집할 수 있도록 설정합니다. 예를 들어, 특정 디렉토리의 디스크 사용량을 모니터링하는 스크립트를 작성하여 UserParameter=diskuse[*],/usr/local/bin/check_disk_usage.sh $1 와 같이 설정할 수 있습니다. 여기서 /usr/local/bin/check_disk_usage.sh 는 사용자 정의 스크립트의 경로이고, $1은 스크립트에 전달할 인자입니다. 스크립트는 원하는 정보를 출력하도록 작성되어야 합니다. 설정을 완료한 후에는 sudo systemctl restart zabbix-agent 명령어로 Zabbix Agent 서비스를 재시작하여 변경 사항을 적용합니다.

Zabbix Agent 설치와 기본 설정을 통해 CentOS 7.8 서버의 기본적인 시스템 정보를 모니터링할 수 있습니다. 하지만, 사용자 정의 스크립트를 활용하면 CPU 사용률, 메모리 사용량, 네트워크 트래픽 등 표준 모니터링 항목 외에도 특정 애플리케이션의 상태나 사용자 지정 메트릭을 모니터링할 수 있어 더욱 효율적인 시스템 관리가 가능해집니다. 자신의 시스템 환경과 모니터링 목표에 맞는 스크립트를 개발하여 Zabbix Agent와 연동하면 시스템의 안정성과 가용성을 크게 향상시킬 수 있습니다. 정기적인 모니터링을 통해 문제 발생 가능성을 미리 파악하고 예방 조치를 취하여 시스템 운영의 효율성을 높일 수 있습니다.