准备
先准备两台服务器,已经部署好了zabbix-sever和zabbix-agent
服务器 | ip | 系统 |
---|---|---|
zabbix-server | 192.168.1.70 | centos7.2 |
zabbix-agent | 192.168.1.70 | centos7.2 |
zabbix-agent端 安装部署nginx
[root@localhost conf.d]# cat /etc/nginx/conf.d/default.conf
server {
listen 80;
#server_name localhost;
location / {
root /home/www;
index index.html index.htm;
}
location /nginx_status {
stub_status on;
access_log off;
}
#error_page 404 /404.html;
}
在nginx的配置文件加入
location /nginx_status {
stub_status on;
access_log off;
}
重启nginx服务
nginx -s reload
到zabbix-agent服务器下添加监控nginx的脚本
授予执行权限
chmod +x nginxstatus.sh
脚本内容如下
HOST="192.168.1.70"
PORT="80"
function ping {
/sbin/pidof nginx | wc -l
}
function active {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
function reading {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
function writing {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
function waiting {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
function accepts {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $1}'
}
function handled {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $2}'
}
function requests {
/usr/bin/curl --insecure "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $3}'
}
case $1 in
active)
active
;;
reading)
reading
;;
writing)
writing
;;
waiting)
waiting
;;
accepts)
accepts
;;
ping)
ping
;;
handled)
handled
;;
requests)
requests
;;
esac
在zabbix-agentd.d
下创建配置文件nginx.conf
UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginxstatus.sh $1
重启zabbix-agent
systemctl restart zabbix-agent
去zabbix-server端通过zabbix-get 获取nginx的监控参数
[root@localhost zabbix_agentd.d]# zabbix_get -s 192.168.1.70 -k nginx.status[accepts]
400
[root@localhost zabbix_agentd.d]#
以上可以看出zabbix-server 可以获取nginx的监控值
去zabbix-server添加nginx的监控模板
去zabbix监控项中就可以看到nginx的监控数据了
至此 已完成zabbix监控nginx状态
关注微信公众号回复zabbix模板获取监控nginx模板