用户自定义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配置:
查看:
时间: 2024-12-26 20:36:34