zabbix自定义key
举例说明
打开nginx的状态信息,在配置文件/etc/nginx/nginx.conf中添加如下代码
location /status {
stub_status on;
}
重启nginx
访问状态信息页面
[root@localhost ~]# curl http://10.10.101.101/status
Active connections: 1
server accepts handled requests
1 1 1
Reading: 0 Writing: 1 Waiting: 0
截取状态页的连接标识
[root@localhost ~]# curl -s http://be-controlled/status | awk '/^Active/{print $3}'
1
将curl -s http://be-controlled/status | awk '/^Active/{print $3}'配置为zabbix的key
配置方式:
一般key配置在/etc/zabbix/zabbix_agentd.d/目录下
在目录下新建文件nginx.conf
在文件用定义 key,shell command 如:
UserParameter=nginx.status.activeconns,curl -s http://10.10.101.101/status | awk '/^Active/{print $3}'
测试:
在server端安装zabbix-get
[root@zabbix-server ~]# zabbix_get -s 10.10.101.101 -p 10050 -k "nginx.status.activeconns"
1
测试成功!
再向zabbix的web界面中测试此key
带参数的key定义
[root@zabbix-server ~]# cat /proc/meminfo
MemTotal: 1865284 kB MemFree: 481168 kB MemAvailable: 1173680 kB Buffers: 2108 kB Cached: 810560 kB SwapCached: 0 kB Active: 660032 kB Inactive: 502748 kB Active(anon): 354628 kB
定义
UserParameter=memory.info[*],awk '/^$1/{print $$2}' /proc/meminfo
测试
[root@zabbix-server ~]# zabbix_get -s 10.10.101.101 -k 'memory.info[MemTotal]'
1865284
[root@zabbix-server ~]# zabbix_get -s 10.10.101.101 -k 'memory.info[MemFree]'
444048
[root@zabbix-server ~]# zabbix_get -s 10.10.101.101 -k 'memory.info[Buffers]'
4172