zabbix 自定义key监控

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 -h
usage:
  zabbix_get -s host-name-or-IP [-p port-number] [-I IP-address] -k item-key
  zabbix_get -h
  zabbix_get -V

Get 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下加个location
server {
	...
	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/status
Active 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" " -f2
UserParameter=Nginx.writing[*], /usr/bin/curl -s "http://$1:$2/status" | grep 'Writing' | cut -d" " -f4
UserParameter=Nginx.waiting[*], /usr/bin/curl -s "http://$1:$2/status" | grep 'Waiting' | cut -d" " -f6
UserParameter=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是因为编码问题

转载于:https://my.oschina.net/charlock/blog/837686

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值