首页 > 代码库 > zabbix用户自定义key检测内存信息和监控nginx的状态页

zabbix用户自定义key检测内存信息和监控nginx的状态页

用户自定义key:

位置:在zabbix agent端实现;

zabbix_agent.conf

UserParamenter

语法格式:

UserParamenter=<key>,<command>

示例:

~]# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=memory.free,cat /proc/meminfo | awk ‘/^MemFree:/{print $2}‘
# 没有参数时,如果要使用$,正常使用即可,如果是有参数,命令里的$前需要再加一个$
~]# systemctl restart zabbix-agent.service	重启服务

server端验证:

~]# zabbix_get -s 192.168.22.137 -p 10050 -k "memory.free"

可以传递参数的实例:

UserParameter=memory.usage[*],cat /proc/meminfo | awk ‘/^$1:/{print $$2}‘
# 第一个$代表引用参数,第二个$$2,代表命令里的$2

server端验证:

~]# zabbix_get -s 192.168.22.137 -p 10050 -k "memory.usage[MemFree]"

使用实例:检测内存信息和监控nginx的状态页

~]# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=memory.usage[*],cat /proc/meminfo | awk ‘/^$1:/{print $$2}‘
# 获取memory的使用信息
UserParameter=memory.free,cat /proc/meminfo | awk ‘/^MemFree:/{print $2}‘
# 无参数的写法
UserParameter=ngx.active[*],curl -s http://$1:$2/$3 | awk ‘/^Active/{print $$3}‘
# 获取Nginx的状态信息
UserParameter=ngx.accepts[*],curl -s http://$1:$2/$3 | awk ‘/^[[:space:]]*[0-9]/{print $$1}‘
# 接受的请求
UserParameter=ngx.handled[*],curl -s http://$1:$2/$3 | awk ‘/^[[:space:]]*[0-9]/{print $$2}‘
# 处理的请求
UserParameter=ngx.requests[*],curl -s http://$1:$2/$3 | awk ‘/^[[:space:]]*[0-9]/{print $$3}‘
# 所有请求
UserParameter=ngx.status[*],curl -s http://$1:$2/$3 | awk ‘/^[[:space:]]*[0-9]/{print $$1,$$2,$$3}‘

zabbix监控nginx状态页

注意:nginx的状态监控是基于nginx的配置文件开启status

使用该命令查看:# curl -s http://10.10.10.10/status

nginx开起status的方法:

~]# vim /etc/nginx/nginx.conf
    location / {
    }
    location /status {
    stub_status on;
    allow 10.10.10.0/24;
    deny all;
    }

注意:配置zabbix_agent.conf和nginx.conf后,记得重启zabbix_agent和nginx

验证:

在zabbix server使用zabbix_get命令验证:

~]# zabbix_get -s 10.10.10.10 -p 10050 -k ngx.status[10.10.10.10,80,status]
179 179 3

在zabbix web配置:

技术分享

技术分享

查看:

技术分享


本文出自 “汪立明” 博客,请务必保留此出处http://afterdawn.blog.51cto.com/7503144/1924641

zabbix用户自定义key检测内存信息和监控nginx的状态页