zabbix 自定义监控项 获取nginx监控状态

本篇是基于zabbix 源码安装的 

[root@localhost conf]# curl "http://192.168.0.73:8080/nginx_status" 
Active connections: 1 
server accepts handled requests
218 218 9326 
Reading: 0 Writing: 1 Waiting: 0
[root@localhost conf]# curl -s "http://192.168.0.73:8080/nginx_status" |grep 'Active' | awk '{print $3 } '
1

zabbix执行命令 获取这个1 发给server

1. 去zabbix安装包

 cd /soft/zabbix/zabbix-3.2.5/conf/zabbix_agentd

cp userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/

2. 修改userparameter_mysql.conf文件:

将HOME=/var/lib/zabbix全部改成HOME=/usr/local/zabbix/etc/

vim userparameter_mysql.conf

%s#HOME=/var/lib/zabbix#HOME=/usr/local/zabbix/etc/#g

3. # 修改zabbix_agentd.conf文件,添加下面一行

vim /etc/zabbix/zabbix_agentd.conf

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
 

vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema="$1"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name="$2"");" | HOME=/usr/local/zabbix/etc/ mysql -N'

UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc/ mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V

 
cd  /usr/local/zabbix/etc/zabbix_agentd.conf.d/

4.添加用户自定义参数

vim nginx.conf 

# 加上 UserParameter=nginx.active,/usr/bin/curl -s "http://192.168.0.73:8080/nginx_status" |grep 'Active' | awk '{print $3 } '

5.重启zabbix agnetd生效

 

6.在server端使用zabbix_get测试获取

zabbix_get 看看Key有没有生效

[root@localhost zabbix_agentd.conf.d]# zabbix_get -s localhost -p 10050 -k "nginx.active"
zabbix_get [43993]: Get value error: cannot connect to [[localhost]:10050]: [111] Connection refused

解决方法:

vim /etc/zabbix/zabbix_agentd.conf

Server=127.0.0.1 改为 server=192.168.0.73

7.在zabbix web界面创建item

添加完item 添加graph

 

再看看快速监控 监控graph

原文地址:https://www.cnblogs.com/mingerlcm/p/7754076.html