zabbix_sender的使用,解决指令执行时间超过30秒

1、实际需求:

    监控某个值,但是执行指令或者脚本获取该值,执行的命令或者脚本的时间超过了30s , zabbix就获取不到该值,所以这里我们需要使用zabbix_sender.

zabbix中支持及于zabbix_sender和trapper的方式获取数据并监控,zabbix_sender的作用是将数据发送给zabbix server ;而什么是trapper呢?tapper也称作zabbix捕捉器,用于捕获zabbix_sender发送的数据 。所以想要使用zabbix_sender + trapper 模式,首先要在zabbix服务器上必须有一个trapper item,用于把数据推送给zabbix服务器 。

2、我们可以看看官网上的给出zabbix_sender的官方介绍。




3、zabbix_sender的实际运用

3.1、首先,我们需要下载zabbix_sender.rpm包,安装sender。安装的位置就在需要被监控的的agent端安装。


3.2、安装好后,我们去创建zabbix_trapper捕捉器,如下图所示:


3.3、验证zabbix_sender的使用方法和结果。这里要注意的-s后的参数,这里写的是hostname就是你在zabbix中有一个configure->hosts中每一个主机的名字。

info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000063"    #不然就会报这个错误
zabbix_sender -z 192.168.14.xx -s namenode2.abfd -k hbase_status -o 1

3.4、根据上面的结果我们在下图中可以看到这个hbase_status的值已经变成了3,说明我们已经将该值发给了zabbix-server端。


3.5、zabbix-sender发送脚本,然后zabbix进行监控,这里就不多赘述了。

#!/bin/bash


#获取hbase status值
status=`hbase hbck |grep "Status"|awk '{print $2}'`


#根据status的状态,赋值给num,作为zabbix-sender发送的数据
num=''
if [ "$status" = "INCONSISTENT" ]
then
  num=0
else
  num=1
fi 
zabbix_sender -z 192.168.14.10 -s namenode2.abfd -k hbase_status -o $num

至于什么时候agent端向server端发送数据呢?这个是要根据自己的实际情况,加一个定时任务,每多长时间执行一次上面的脚本,每执行上面一次脚本,就会想server端发送一次数据。zabbix机制根据发送的数据情况来决定是否执行相关报警措施。然后我们对比较关注的一些项添加成screen和graph可以方便我们查看,如下所示,下面的是zabbix3.4版本的。

扫描二维码关注公众号,回复: 2356525 查看本文章




猜你喜欢

转载自blog.csdn.net/wyl9527/article/details/80887722