Zabbix监控Nginx
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zabbix监控Nginx相关的知识,希望对你有一定的参考价值。
前言
作为运维人员,我需要对nginx的工作状态有清晰的了解,包括请求数量、已响应完成的请求数量、响应失败的请求数量,以及Nginx服务及端口监听情况是否处于运行状态等信息。当出现服务停止或大量请求响应失败时,我需要尽快获知相关情况,因此我使用了Zabbix来通过Nginx内置的运行状态模块进行一系列的监控。
Nginx_Active:当前活跃的客户端连接数
Nginx_Reading:正在执行读操作的连接数
Nginx_Writing:正在执行写操作的连接数
Nginx_Waiting:正在等待的连接数
Nginx_Accepts:NGINX接受的客户端连接数(包括Handled+Waiting)
Nginx_Handled:成功处理的客户端连接数(包含Waiting状态连接)
Nginx_Requests:客户端请求数
一、导入官网nginx模板(官方模板不能使用情况下)
- 先将zabbix web端模板中Template App Nginx by Zabbix agent模板删除(先导出备份防止失败)
- 在官网下载nginx模板,下载时一定要和zabbix-server版本对应(我的是5.0.29)
- 在zabbix web端【配置】-【模板】-【导入】
二、修改配置文件,开启nginx状态
1.nginx自身的状态可以通过开启status模块来得到,如下,在zabbix-agent客户端的nginx.conf配置为文件中添加一个location:
[root@zabbix-agent2 ~]# vim /etc/nginx/nginx.conf
server
......
#新加这个location就能得到nginx的status
#“ngx_status”与模板中$NGINX.STUB_STATUS.PATH宏的值一致
location /ngx_status
stub_status on;
access_log off;
allow 127.0.0.1;
allow 192.168.0.103; #客户端IP
deny all;
......
tips:
nginx访问控制模块:
想禁止哪个ip访问就加上deny IP,
想允许哪个ip访问就加上allow IP,
想禁止或者允许所有,则allow all或者deny all
2.重启nginx,验证nginx配置是否成功
[root@zabbix-agent2 nginx]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@zabbix-agent2 nginx]# nginx -s reload
[root@zabbix-agent2 nginx]# curl http://127.0.0.1/ngx_status
Active connections: 1
server accepts handled requests
33138 33138 22226
Reading: 0 Writing: 1 Waiting: 0
[root@zabbix-agent2 nginx]# curl http://192.168.0.103/ngx_status #本机IP
Active connections: 1
server accepts handled requests
33150 33150 22238
Reading: 0 Writing: 1 Waiting: 0
三、修改nginx模板中的宏定义
- 【配置】-【主机】-【宏】-【继承及主机宏】
- 找到
$NGINX.STUB_STATUS.HOST
后面的“localhost”修改为“192.168.0.103” - 需要注意的三个参数是
$NGINX.STUB_STATUS.HOST:192.168.0.103
$NGINX.STUB_STATUS.PATH:ngx_status
$NGINX.STUB_STATUS.PORT:80
- 【更新】
zabbix监控nginx
首先nginx编译安装此模块--with-http_stub_status_module
参考教程如下
Zabbix监控Nginx
http://www.ttlsa.com/zabbix/zabbix-monitor-nginx-performance/
Zabbix监控PHP-FPM
http://www.ttlsa.com/php/use-php-fpm-status-page-detail/
以上是关于Zabbix监控Nginx的主要内容,如果未能解决你的问题,请参考以下文章