Zabbix 소개
Zabbix 모니터링 플랫폼 소개입니다. Server, Agent, Proxy, host/item/trigger/action/template 개념과 알림 설계, 운영 점검 명령을 정리했습니다.
Zabbix는 서버, 네트워크 장비, 애플리케이션, 클라우드 리소스를 모니터링하고 임계값 기반 알림을 보낼 수 있는 오픈소스 모니터링 플랫폼입니다. 단순 ping 모니터링을 넘어 agent, SNMP, IPMI, HTTP check, template, trigger, action을 조합해 운영 상태를 추적합니다.
Zabbix를 처음 볼 때는 설치보다 개념을 먼저 잡는 것이 좋습니다. 어떤 데이터를 item으로 수집하고, 어떤 조건을 trigger로 만들고, 어떤 action으로 누구에게 알릴지를 설계해야 알림 폭탄을 피할 수 있습니다.
핵심 구성요소
- Zabbix Server: 수집, 평가, 알림 처리를 담당합니다.
- Database: history, trend, 설정 데이터를 저장합니다.
- Frontend: 웹 UI입니다.
- Zabbix Agent/Agent 2: 서버 내부 지표를 수집합니다.
- Proxy: 원격 사이트나 분리망에서 데이터를 중계합니다.
- Template: item, trigger, graph, discovery rule 묶음입니다.
Agent 기본 확인
zabbix_agentd -V 2>/dev/null || zabbix_agent2 -V
systemctl status zabbix-agent --no-pager 2>/dev/null || systemctl status zabbix-agent2 --no-pager
ss -lntp | grep 10050
Agent passive check는 기본적으로 TCP 10050을 사용합니다. 방화벽과 Zabbix Server의 접근 IP를 같이 확인합니다.
Host 등록 흐름
- Host name과 visible name을 정합니다.
- Agent, SNMP, IPMI 중 어떤 interface로 수집할지 정합니다.
- 적절한 template을 연결합니다.
- Host group을 지정합니다.
- Latest data에서 수집이 실제 들어오는지 확인합니다.
Item과 Trigger
Item은 수집할 값이고, trigger는 그 값으로 장애 상태를 판정하는 조건입니다.
# 예시 키
agent.ping
system.cpu.load
vm.memory.size[available]
vfs.fs.size[/,pfree]
net.if.in[eth0]
CPU 80% 같은 단일 조건보다 “5분 이상 지속”, “최근 평균”, “예외 시간대”를 반영해야 운영 알림 품질이 올라갑니다.
알림 설계
- 장애 등급별로 수신자를 분리합니다.
- 장애 발생과 복구 알림을 함께 보냅니다.
- 정기 점검 시간에는 maintenance window를 사용합니다.
- 알림 메시지에는 host, trigger, severity, timestamp, latest value, 대응 문서 링크를 넣습니다.
운영 점검 명령
systemctl status zabbix-server --no-pager
systemctl status zabbix-agent2 --no-pager
journalctl -u zabbix-server -n 100 --no-pager
tail -n 100 /var/log/zabbix/zabbix_server.log
tail -n 100 /var/log/zabbix/zabbix_agent2.log
좋은 모니터링 기준
- 수집 대상보다 먼저 장애 대응 기준을 정합니다.
- Template을 그대로 붙인 뒤 알림을 켜지 말고, 환경에 맞게 trigger를 조정합니다.
- DB history/trend 보관 기간은 디스크 용량과 보고 요구사항에 맞춥니다.
- Proxy를 쓰는 원격망은 proxy 자체 장애도 모니터링합니다.
- Dashboard는 예쁘게 만드는 것보다 실제 조치에 필요한 지표를 우선합니다.