- A+
zabbix默认自定义Key,通过服务端进行采集,由于自定义脚本执行时间慢,导致服务端无法正常获取。可以在客户端通过zabbix_sender,主动传递参数,进行收集数据。
参考
安装
rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-sender-3.0.5-1.el7.x86_64.rpm
参数介绍
-c --config <file> zabbix_agent配置文件绝对路径 -z --zabbix-server <server> zabbix server的IP地址 -p --port <server port> zabbix server端口.默认10051 -s --host <hostname> 主机名(zabbix_server web配置的hostname) -I --source-address <IP address> 源IP -k --key <key> 监控项的key -o --value <key value> key值 -i --input-file <input file> 从文件里面读取hostname、key、value 一行为一条数据,使用空格作为分隔符,如果主机名带空格,那么请使用双引号包起来 -r --real-time 将数据实时提交给服务器 -v --verbose 详细模式, -vv 更详细
zabbix web创建监控项
测试
#zabbix_sender -z 172.16.189.224 -s es-01 -k rocketmq -o 1 info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000146" sent: 1; skipped: 0; total: 1
processed 1、sent 1说明发送成功,在web es-01 Latest data可以看到传递过来的数据
定义监控脚本
[root@es-01 scripts]# vim chk_rocketmq_cluster.sh #!/bin/bash source /etc/profile MQ_CLUSTER=`/bin/sh /usr/local/rocketmq/bin/mqadmin clusterList -n 127.0.0.1:9876 2>/dev/null |grep rocketmq-cluster |wc -l` if [[ "${MQ_CLUSTER}" == "4" ]]; then /usr/bin/zabbix_sender -z 172.16.189.224 -s es-01 -k rocketmq -o 1 >/dev/null else /usr/bin/zabbix_sender -z 172.16.189.224 -s es-01 -k rocketmq -o 0 >/dev/null fi
添加定时任务
[root@es-01 scripts]# crontab -l */1 * * * * /bin/sh /etc/zabbix/scripts/chk_rocketmq_cluster.sh
zabbix web创建图形和触发器