创建 zabbix_agentd 的子配置文件
在 / usr/local/zabbix/etc/zabbix_agentd.d / 中创建关联 nginx status 和 php-fpm status 的子配置文件,创建一个,或者在已有的某配置文件中增加也可以,我这里分别为它们创建配置文件,文件名可自定义,只要确保此文件夹全部内容在 zabbix_agentd.conf 中包含 (include) 了.
userparameter_nginx.conf
[root@monitor-server2 zabbix_agentd.conf.d]# cat userparameter_nginx.conf
#/usr/local/zabbix/bin/nginx_status.sh
UserParameter=nginx.status[*],/usr/local/zabbix/bin/nginx_status.sh $1
#这种写法比较简洁,参考 zabbix 3.2.4 中自带的的 userparameter_examples.conf
UserParameter=nginx.version,/usr/local/nginx/sbin/nginx -v
#让 zabbix-agentd 获取 nginx 的版本信息 ,一切 shell 指令都推荐使用绝对路径
userparameter_php-fpm.conf
[root@monitor-server2 zabbix_agentd.conf.d]# cat userparameter_php-fpm.conf
#/usr/local/zabbix/bin/php_fpm_status.sh
UserParameter=php-fpm.status[*],/usr/local/zabbix/bin/php_fpm_status.sh $1
UserParameter=php-fpm.version,/usr/local/php/sbin/php-fpm -v | awk 'NR==1{print $0}'
#获取 php-fpm 版本信息
确认子配置文件被 zabbix_agentd 配置文件包含
确认在 / usr/local/zabbix/etc/zabbix_agentd.conf 中包含:Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d / 且没有被注释.
zabbix-agent 配置自定义 key:
UserParameter=nginx.status[],/etc/zabbix/scripts/nginx_status.sh $1
UserParameter=php-fpm.status[],/usr/bin/curl -s -m 5 " http://127.0.0.1/statusx45?xml "| grep"<$1>" | awk -F'>|<' '{print $3}'
#UserParameter=idle.processe,/etc/zabbix/scripts/php-fpm_status.sh idle
#UserParameter=total.processes,/etc/zabbix/scripts/php-fpm_status.sh total
#UserParameter=active.processes,/etc/zabbix/scripts/php-fpm_status.sh active
#UserParameter=max.active.processes,/etc/zabbix/scripts/php-fpm_status.sh mactive
#UserParameter=listen.queue.len,/etc/zabbix/scripts/php-fpm_status.sh listenqueuelen
#UserParameter=listen.queue,/etc/zabbix/scripts/php-fpm_status.sh listenqueue
#UserParameter=start.since,/etc/zabbix/scripts/php-fpm_status.sh since
#UserParameter=accepted.conn,/etc/zabbix/scripts/php-fpm_status.sh conn
#UserParameter=max.children.reached,/etc/zabbix/scripts/php-fpm_status.sh reached
#UserParameter=slow.requests,/etc/zabbix/scripts/php-fpm_status.sh requests
UserParameter=chatter.pid[*],ps -ef | grep $1 | grep -v grep | grep $2 | grep -v grep | awk '{print $2}'
zabbix 服务端的 get 数值
[root@mha ~]# zabbix_get -s 192.168.198.131 -k 'nginx.status[ping]'
1
zabbix 页面:
nginx:
添加 nginx status 监控模板
新建 nginx status 模板
定义 nginx status 模板
新建 nginxApplication
定义 nginx status items,这里我使用的是被动临控
增加 nginx status 状态码映射
nginx trigger 定义
定义 nginx 监控视图
来源: http://www.bubuko.com/infodetail-2474457.html