Zabbix应用四:Zabbix监控Nginx
利用Zabbix监控Nginx一、准备nginx监控模版:
1.1、下载nginx监控模版:
点此下载
1.2、导入模版:
Zabbix管理页面,选择'配置'->'模版'->'导入':
然后将下载的模版文件上传。
现在,'配置'->'模版'中就会发现刚才上传的nginx模版:'Template App NGINX'
二、将模版应用与主机:
选择被监控主机->'模版',在'链接指示器'中选择'Template App NGINX','添加'->'更新',最后如下图:
三、客户端数据采集:
Zabbix监控端已配置完毕,现在需要将从被监控段采集的数据渲染到模版中。
3.1、定义采集nignx状态的脚本,如下:
#!/bin/bash
HOST='127.0.0.1'
PORT='80'
function ping {
/sbin/pidof nginx | wc -l
}
function active {
/usr/bin/curl "http://$HOST:$PORT" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
function reading {
/usr/bin/curl "http://$HOST:$PORT" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
function writing {
/usr/bin/curl "http://$HOST:$PORT" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
function waiting {
/usr/bin/curl "http://$HOST:$PORT" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
function accepts {
/usr/bin/curl "http://$HOST:$PORT" 2>/dev/null| awk NR==3 | awk '{print $1}'
}
function handled {
/usr/bin/curl "http://$HOST:$PORT" 2>/dev/null| awk NR==3 | awk '{print $2}'
}
function requests {
/usr/bin/curl "http://$HOST:$PORT" 2>/dev/null| awk NR==3 | awk '{print $3}'
}
$1
3.2、开启nginx状态配置:
vim nginx.conf,在server中添加如下:
......
location
/ { stub_status on;
access_log off;
}
......
注意:启用stub_status的前提是在编译安装nginx时,需要添加'--with-http_stub_status_module'参数。
然后重启nginx即可。
以上就是zabbix监控nginx的配置过程。
友情提示:
如果你和我一样,在已经安装好的nginx上添加如上模块,又不想影响线上业务,请参考如下:
在已经运行的nignx中添加需要的模块?
1、首先使用nginx -V查看当前编译时的参数
2、进入解压包,重新执行./configure 在原来添加的模块基础上,添加自己需要的模块
3、执行make(完成后切不可执行make install)
4、将生成的objs目录下的nginx二进制文件替换当前nginx/sbin/nginx文件即可(替换之前,记得备份) OK,到这里,真的就结束了。。。!
页:
[1]