八zabbix监控nginx
Posted 哭泣的馒头
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了八zabbix监控nginx相关的知识,希望对你有一定的参考价值。
一、nginx搭建(192.168.10.128)
由于之前lnmp环境,nginx编译没加载status模块,所以要重新做一个nginx
tar -xvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
yum install -y gcc pcre-devel zlib-devel openssl-devel
./configure --with-http_stub_status_module
make && make install
vi /usr/local/nginx/conf/nginx.conf
location /status {
stub_status on;
access_log off;
}
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -V 查看编译时的信息
http://192.168.10.128/status
active 当前活动的客户端连接数,包括waiting连接数
accepts 已接受的客户端连接数
handled 已处理的连接总数
requests 客户端请求的总数
reading 正在读取请求头的当前连接数
writing 将响应写回客户端的当前连接数
waiting 等待请求空闲客户端的当前连接数
二、zabbix配置
vi /usr/local/etc/zabbix_agentd.conf
265 Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf
280 UnsafeUserParameters=1
vi /usr/local/etc/zabbix_agentd.conf.d/nginx_status.sh
#!/bin/bash
#active 当前活动的客户端连接数,包括waiting连接数
#accepts 已接受的客户端连接数
#handled 已处理的连接总数
#requests 客户端请求的总数
#reading 正在读取请求头的当前连接数
#writing 将响应写回客户端的当前连接数
#waiting 等待请求空闲客户端的当前连接数
result="/usr/bin/curl -s http://127.0.0.1/status"
case $1 in
active)
$result |awk \'/Active/ {print $NF}\'
;;
accepts)
$result |awk \'NR==3 {print $1}\'
;;
handled)
$result |awk \'NR==3 {print $2}\'
;;
requests)
$result |awk \'NR==3 {print $3}\'
;;
reading)
$result |awk \'/Reading/ {print $2}\'
;;
writing)
$result |awk \'/Writing/ {print $4}\'
;;
waiting)
$result |awk \'/Waiting/ {print $6}\'
;;
*)
echo "USAGE:$0 {active|reading|writing|waiting|accepts|handled|requests}"
esac
chmod a+x /usr/local/etc/zabbix_agentd.conf.d/nginx_status.sh
之前做主动模式试验也在这台机器,得额外改点配置
vi /usr/local/etc/zabbix_agentd.conf.d/a.conf
UserParameter=nginx.status[*],/usr/local/etc/zabbix_agentd.conf.d/nginx_status.sh $1
重启zabbix_agentd
killall -9 zabbix_agentd
zabbix_agentd
zabbix_get -s 127.0.0.1 -k nginx.status[active] ##正常获取数
三、web页面配置
‘
’nginx_status_active
nginx_status_handled
nginx_status_requests
nginx_status_reading
nginx_status_writing
nginx_status_waiting
键值
nginx.status[active]
nginx.status[handled]
nginx.status[requests]
nginx.status[reading]
nginx.status[writing]
nginx.status[waiting]
依次把这些进行创建
将其加入主机
观察数据
以上是关于八zabbix监控nginx的主要内容,如果未能解决你的问题,请参考以下文章