1. User parameters 在agent端自定义key,编写脚本,添加到配置文件中;server端调用agent端的key进行采集数据。 只能返回一个512KB数据,默认用/bin/
1. User parameters
在agent端自定义key,编写脚本,添加到配置文件中;server端调用agent端的key进行采集数据。
只能返回一个512KB数据,默认用/bin/sh执行脚本命令
1.1 无参key
格式:UserParameter=<key>,<command>
如:UserParameter=mysql.ping,mysqladmin -uroot ping|grep -c alive
执行成功返回1,否则0其他
# 在agent端[root@localhost ~]#vim /usr/local/etc/zabbix_agentd.conf### Option: UserParameter# User-defined parameter to monitor. There can be several user-defined parameters.# Format: UserParameter=<key>,<shell command># See 'zabbix_agentd' directory for examples.## Mandatory: no# Default:# UserParameter=UserParameter=memory.free,/usr/bin/free | awk '/^Mem:/{print $4}'# 重启agent端
# 在server端[root@localhost ~]#zabbix_get -husage: zabbix_get -s host-name-or-IP [-p port-number] [-I IP-address] -k item-key zabbix_get -h zabbix_get -VGet data from Zabbix agent.General options: -s --host host-name-or-IP Specify host name or IP address of a host -p --port port-number Specify port number of agent running on the host (default: 10050) -I --source-address IP-address Specify source IP address -k --key item-key Specify key of the item to retrieve value for -h --help Display this help message -V --version Display version number[root@localhost ~]#zabbix_get -s 192.168.195.204 -k "memory.free"148720
配置->主机->监控项->创建监控项->键入键值,1024倍
监测中->最新数据->修改应用集
1.2 带参key
格式:UserParameter=<key>[*],<command>
command使用[*]参数用$1,$2..,使用命令参数用$$1,$$2区别
# 在agent端[root@localhost ~]#vim /usr/local/etc/zabbix_agentd.conf# 增加UserParameter=memory.usage[*],/bin/cat /proc/meminfo | awk '/^$1:/{print $$2}'
# 在server端[root@localhost ~]#zabbix_get -s 192.168.195.204 -k "memory.usage[MemFree]"148224[root@localhost ~]#zabbix_get -s 192.168.195.204 -k "memory.usage[MemTotal]"1012080
配置->主机->监控项->新建监控项
监测中->最新数据->选择应用集->选择这三个监控项->显示数据图
配置->主机->图形->创建图形
配置->主机->监控项->多选,删除历史数据
监测中->图形->选择群组,主机,图形
2. 自定义监控Nginx状态
nginx status开启
# 在agent端[root@localhost ~]#vim /etc/nginx/nginx.conf# 在server下加个locationserver { ... location /status { stub_status on; access_log off; allow 192.168.195.202; # 允许访问的 IP,本地是不能访问的 allow 127.0.0.1; deny all; }}[root@localhost ~]#service nginx restart # 重启nginx
# 在server端[root@localhost ~]#curl http://192.168.195.204/statusActive connections: 1 server accepts handled requests 4 4 10 Reading: 0 Writing: 1 Waiting: 0
# 在agent端[root@localhost ~]#vim /usr/local/etc/zabbix_agentd.conf# 增加UserParameter=Nginx.active[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^Active/ {print $NF}'UserParameter=Nginx.reading[*], /usr/bin/curl -s "http://$1:$2/status" | grep 'Reading' | cut -d" " -f2UserParameter=Nginx.writing[*], /usr/bin/curl -s "http://$1:$2/status" | grep 'Writing' | cut -d" " -f4UserParameter=Nginx.waiting[*], /usr/bin/curl -s "http://$1:$2/status" | grep 'Waiting' | cut -d" " -f6UserParameter=Nginx.accepted[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ /t]+[0-9]+[ /t]+[0-9]+[ /t]+[0-9]+/ {print $$1}'UserParameter=Nginx.handled[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ /t]+[0-9]+[ /t]+[0-9]+[ /t]+[0-9]+/ {print $$2}'UserParameter=Nginx.requests[*], /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ /t]+[0-9]+[ /t]+[0-9]+[ /t]+[0-9]+/ {print $$3}'# 重启agent
# 在server端[root@localhost ~]#zabbix_get -s 192.168.195.204 -k "Nginx.accepted[127.0.0.1,80]"5
配置->主机->监控项->创建监控项
创建图形
看不到last min max avg是因为编码问题