Apache server-status를 Zabbix 모니터링에 연결하기

목차

Apache의 mod_status로 동작 지표를 제공하고 Zabbix가 수집하도록 준비하는 절차입니다. 원노트의 소스·패키지 설치별 설정을 통합했습니다. 상태 페이지에는 요청·worker 정보가 포함될 수 있으므로 수집 서버와 로컬에서만 읽도록 제한합니다.

모듈과 설정 경로 확인

패키지 설치는 /etc/httpd, 소스 설치는 지정한 prefix 아래 conf를 사용합니다. 먼저 실제 실행 바이너리와 설정 파일을 확인하고 mod_status 로드 상태를 조회합니다.

TERMINAL / CONFIG
httpd -M | grep status
httpd -V

상태 페이지 제한

패키지 설치의 /etc/httpd/conf.d/server-status.conf 예시입니다. 192.0.2.10은 실제 Zabbix 수집 서버 주소로 바꿉니다. 원본의 Require all granted 예외는 제거하고 기존 Location 설정과 충돌하지 않도록 확인합니다.

TERMINAL / CONFIG
ExtendedStatus On
<Location /server-status>
    SetHandler server-status
    Require ip 127.0.0.1 ::1 192.0.2.10
</Location>
TERMINAL / CONFIG
sudo httpd -t
sudo systemctl reload httpd
curl 'http://127.0.0.1/server-status?auto'

가상 호스트별 rewrite·인증·프록시 설정이 이 경로를 가로채지 않는지 확인합니다. 상태 페이지를 얻으려고 사이트 전체의 권한 제한을 풀지 않습니다.

Zabbix 템플릿 연결

사용하는 Apache 템플릿의 HTTP agent·agent 방식과 URL·포트 매크로를 확인합니다. 실제 요청을 보내는 서버나 프록시에서 상태 URL이 읽히는지 확인한 뒤 호스트에 템플릿을 연결합니다. HTTPS 환경은 인증서 검증 조건도 맞춥니다.
수집 후 busy·idle workers, 요청 처리량과 연결 지표가 최신 데이터에 들어오는지 확인합니다. 외부 일반 단말에서는 상태 페이지가 거부되는지 함께 시험합니다. mod_status 수집이 정상이어도 서비스 URL의 상태 확인과 애플리케이션 오류 감시는 별도로 필요합니다.

서비스구축 › zabbix
zabbix 목록