반응형
Zabbix에서 UserParameter를 사용하여 웹 모니터링을 하는 방법
UserParameter를 사용하면 curl 명령어 등을 이용해 HTTP 응답 코드를 가져와 Zabbix에 등록합니다.
Zabbix Agent2 설정 파일 수정
cat <<'EOF' > /etc/zabbix/zabbix_agent2.d/webmonitor.conf
# UserParameter 설정
# 사용법: web.monitor[도메인, 로컬 IP, 포트, 프로토콜, 경로]
# 예: web.monitor[example.com,127.0.0.1,443,https,/]
UserParameter=web.monitor[*],curl -s -o /var/log/zabbix/webmonitor_error.log -w "%{http_code}" --resolve "$1:$3:$2" "$4://$1$5"
EOF
- $1 : 웹 도메인
- $2 : 로컬 IP (요청을 특정 IP로 보낼 때 사용)
- $3 : 포트 (80, 443 등)
- $4 : 프로토콜 (http 또는 https)
- $5 : 요청할 경로 (/api/status 같은 특정 경로)
Zabbix Agent2 재시작
/usr/sbin/zabbix_agent2 -T /etc/zabbix/zabbix_agent2.conf
systemctl restart zabbix-agent2
테스트 실행(Zabbix Agent)
- 정상적으로 200 같은 HTTP 코드를 확인합니다.
zabbix_agent2 -t "web.monitor[example.com,127.0.0.1,443,https,/]"
web.monitor[example.com,127.0.0.1,443,https,/][s|200]
테스트 실행(Zabbix Server)
zabbix_get -s zabbix_agent_ip -p 10050 -k "web.monitor[example.com,127.0.0.1,443,https,/]"
200
Zabbix 웹 UI에서 설정하기
Zabbix에서 템플릿을 구성하여 여러 웹사이트를 모니터링할 수 있도록 합니다.
템플릿 생성
Zabbix UI → 데이터 수집 → 템플릿 → 템플릿 생성
- 템플릿 이름 : Web Monitor Template
- 템플릿 그룹 :
매크로 생성
템플릿에 매크로를 설정하여 값을 쉽게 변경할 수 있도록 합니다.
- {$WEB_DOMAIN} → 모니터링할 도메인 (예: example.com)
- {$WEB_LOCAL_IP} → 로컬 IP (예: 127.0.0.1)
- {$WEB_PORT} → 443
- {$WEB_PROTOCOL} → https
- {$WEB_PATH} → /path
아이템 생성
Zabbix UI → 데이터 수집 → 템플릿(Web Monitor by anti1346) → 아이템 → 아이템 생성
- 이름 : Web Monitor HTTP Code
- 종류 : Zabbix agent
- 데이터형 : Numeric (unsigned)
- 갱신 간격 : 30s
- Triggers 생성 시 사용하기 위해 History storage period는 7d 이상 유지
- 키
web.monitor[{$WEB_DOMAIN},{$WEB_LOCAL_IP},{$WEB_PORT},{$WEB_PROTOCOL},{$WEB_PATH}]
트리거 생성
Zabbix UI → 데이터 수집 → 템플릿(Web Monitor by anti1346) → 트리거 → 트리거 생성
특정 도메인에 대해 HTTP 상태 코드가 200이 아닐 경우 알람이 발생합니다.
- 이름 : Website Down - {$WEB_DOMAIN}
- 심각도 : 중증 장애
- 조건식
last(/Web Monitor by anti1346/web.monitor[{$WEB_DOMAIN},{$WEB_LOCAL_IP},{$WEB_PORT},{$WEB_PROTOCOL},{$WEB_PATH}])<>200
그래프 생성
Zabbix UI → 데이터 수집 → 템플릿(Web Monitor by anti1346) → 그래프 → 그래프 생성
- 이름 : Web Monitoring Graph
- 그래프 유형 : 라인 그래프
- 아이템(추가) : Web Monitor HTTP Code
최종 요약
UserParameter로 curl을 사용하여 HTTP 응답 코드 모니터링
Zabbix Agent2 설정 파일 수정 후 재시작
Zabbix 웹 UI에서 아이템을 등록하고 그래프 추가 가능
응답 코드 기반으로 트리거 설정 가능 (200이 아닐 경우 알람)
728x90
반응형
'리눅스' 카테고리의 다른 글
Nginx와 Apache 연동하여 프록시 설정하기 (0) | 2025.02.20 |
---|---|
Zabbix에서 Slack으로 Webhook 알림을 받는 방법 (0) | 2025.02.19 |
hdparm을 사용한 디스크 성능 테스트 방법 (0) | 2025.02.18 |
우분투에서 minikube 업그레이드 방법 (0) | 2025.02.17 |
journald란 (0) | 2025.02.16 |