Configure Nginx Monitoring on Zabbix 5.0

Zabbix 5.0 에서 Nginx 모니터링을 구성하는 방법에 대한 예제

 

참조: https://www.zabbix.com/integrations/nginx

Zabbix 5.0 에서는 Nginx 템플릿이 포함되어 있습니다. 즉, 외부 스크립트 없이 자빅스 자체내에서 Nginx 모니터링이 가능합니다.

당연하겠지만 Nginx 의 status 값을 가지고 와야 하기 때문에 ngx_http_stub_status_module 모듈이 올라와 있어야 하며, Nginx 설정에 stub_status 의 location 을 추가를 해주어야 합니다.

이 부분 까지는 기존에 외부 스크립트를 이용하여 Nginx 를 모니터링 하던것과 100% 동일합니다.

stub_status 의 location 을 추가하는 방법은 이 블로그의 이전 포스팅을 확인 바랍니다. 

 

1. 호스트에 템플릿을 추가해 줍니다. 추가할 템플릿명은 Template App Nginx by Zabbix agent 입니다.

nginx_template_01

 

2. Macro 탭으로 이동해서 아래 3개의 매크로를 필수로 추가해줍니다. 두개의 추가 매크로가 있지만 필수옵션은 아닙니다.

{$NGINX.STUB_STATUS.HOST} // 서버의 호스트 주소 또는 도메인입니다. 보통은 localhost 입니다.
{$NGINX.STUB_STATUS.PATH} // stub_status 페이지의 URL 을 적어줍니다. 예제에서는 nginx_status 로 설정하였습니다.
{$NGINX.STUB_STATUS.PORT} // stub_status 페이지의 Listen Port 번호입니다. 예제에서는 10061 로 설정하였습니다.

nginx_template_02

 

3. 설정이 모두 끝났습니다. 데이터가 들어오는것을 확인하기만 하면 됩니다.

그래프에서는 Connections by state, Connections per second, Requests per second, Memory usage 의 4가지 항목이 나옵니다.

nginx_template_03

nginx_template_04

 

Tip. Nginx 의 설정에서 보안문제로 인해 버전정보를 숨기는 옵션이 있습니다. server_tokens off 옵션이 바로 해당 하는 옵션입니다.

이 옵션을 사용하면 위의 Latest data 스크린샷에서 보는것과 같이 버전정보가 표시되지 않습니다. 이는 버전정보를 알수 없기 때문에 아이템값에서 오류로 처리하기 때문입니다.

딱히 문제가 없는 상황이기 때문에 그냥 두셔도 상관은 없지만 저는 기본 템플릿에서 버전 아이템의 전처리 상태를 수정하였습니다. 방법은 아래와 같습니다.

 

1. Configuration -> Templates -> Template App Nginx by Zabbix agent -> items -> Nginx: Version 순으로 들어갑니다.

nginx_template_preprocessing_01

 

2. Preprocessing -> Custom on fail -> Set value to 순으로 클릭 후 원하는 값을 적고 업데이트 해줍니다. 예제에서는 아래 스크린샷과 같이 server_tokens off 라고 적었습니다.

nginx_template_preprocessing_02

 

3. 약간의 시간이 지난 후 Latest data 를 다시 확인하면 아래 스크린샷과 같이 버전정보에 값이 찍히게 됩니다.

nginx_template_05

 

You may also like...

Subscribe
Notify of
guest

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x