반응형
Zabbix에서 Nginx 서버의 모니터링을 수행하기 위한 방법 중 두 번째로는 직접 스크립트를 작성하여 모니터링하는 방법이다.
이번 게시글에서는 cURL을 활용한 스크립트를 작성하고, Zabbix 웹 인터페이스에서 모니터링 설정하는 방법을 다루고자 한다.
HTTP 상태 코드 모니터링 설정
1안
Nginx by Zabbix Agent 템플릿을 이용
(https://hunnie.co.kr/56)
- 장점 : Zabbix Agent가 설치되어 있는 경우, Zabbix 웹 인터페이스에서 몇 번의 설정으로 적용이 가능하다.
- 단점 : HTTP 상태코드 체크를 진행하다 보니, HTTPS를 사용하는 경우 200 OK 가 아닌 301 Moved Permanently 가 발생한다.
* Zabbix 아이템 - 매크로 설정을 통해 HTTPS 로 체크해보았으나, 400 에러 발생
* 127.0.0.1(localhost)의 80 Port에 대해 stub status 체크할 경우 200 OK 는 확인되지만 원했던 모니터링은 아니다.
좋은 방법이 있으면 댓글로 연락 부탁드립니다..

2안
직접 cURL을 이용하여 HTTP Status Code를 수집하는 스크립트를 작성
- 장점 : 실제 서비스하고 있는 서비스 URL에 대해 직접 상태 체크를 할 수 있다.
- 단점 : Zabbix 에서 제공하고 있는 여러 기능들을 사용하지 않음. (Zabbix를 더 공부해보고 방법이 나오면, 이 방법은 안쓰려고 한다.)
1) Nginx 상태 모니터링 스크립트 작성
#!/bin/bash
# Nginx status script for Zabbix monitoring
URL="https://{Test Domain}"
# Get HTTP Status Code
CODE=`curl -s -I -k "$URL" | grep 'HTTP' | awk '{print $2}'`
echo $CODE
2) Zabbix Agent 설정
zabbix_agentd.conf 에서 UserParameter 부분 주석을 해제한 후 아래와 같이 작성한다.
$ vi zabbix_agentd.conf
UserParameter=process.monitoring[*],/app/zabbix_agent/scripts/nginx_status.sh
3) Zabbix 웹 인터페이스 설정
반응형
'Opensource 모니터링 구축 > Zabbix' 카테고리의 다른 글
Zabbix 모니터링 - Nginx, 프로세스, 시스템 모니터링 (0) | 2024.04.17 |
---|---|
리눅스 Zabbix 설치(3) - Zabbix Agent (0) | 2024.04.09 |
Zabbix로 Nginx 서비스 모니터링 방법 검토 (1) | 2024.03.26 |
Zabbix Nginx 상태 모니터링(1) - Template Nginx by Zabbix Agent (0) | 2024.03.25 |
리눅스 Zabbix 설치(2) - Zabbix Frontend (0) | 2024.03.25 |