标签:其他 简单 规模 col 监控主机 auth 版本 bec ffffff
一、背景有客户监控MySQL的公网延迟,细粒度到每秒,对你没听错是每秒,云平台级别的监控阿里云/腾讯云虽都支持自定义监控,但是限于数据的存储,粒度最小为每一分钟,阿里云免费云监控频率是5分钟,收费的粒度才可调至1分钟,对此想到利用ZABBIX来进行每一秒的数据上报,最终利用其绘图来进行展示。在此抛砖引玉,其他自定义监控均为此类方法,只需要简单修改脚本获取到需要上报的值即可。
安装与zabbix版本一样的zabbix sender
例如此处安装3.0的版本
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
yum install zabbix-sender -y
其核心为利用zabbix_sender来发送数据
zabbix_sender
-z zabbix服务器的地址
-s 创建主机的主机名称
-k 键值名称
-o 上报的数据
-p zabbix 服务器的端口
在此只简单来监控公网地址的ping延迟
#!/bin/bash
#auth:kaliarch
# ping可执行路径
PINGCMD=/usr/bin/ping
# zabbix_sender可执行文件路径
SENDCMD=/usr/bin/zabbix_sender
# ping测主机ip地址
CHECKHOST=baidu.com
# zabbix服务器ip地址
ZABBIXSERVER=43.254.55.225
# zabbix服务器监听端口
ZABBIXPORT=10051
# zabbix添加这条监控主机名
LOCALHOST=checkping_monitor
# ping包的数量
PAG_NUM=1
# 添加监控项的键值
ZAX_KEY=ping_response
# 获取ping响应时间
check_ping() {
RESPONSE_TIME=`$PINGCMD -c $PAG_NUM $CHECKHOST |head -2 |tail -1|awk ‘{print $7}‘|cut -d= -f2`
if [ $? -eq 0 ];then
echo $RESPONSE_TIME
else
echo 0
fi
}
# 发送数据到zabbixserver
send_data() {
DATA=`check_ping`
$SENDCMD -z $ZABBIXSERVER -s $LOCALHOST -k $ZAX_KEY -o $DATA
}
while true
do
send_data
sleep 0.5
done
其中上报给zabbix server端的数据可以根据自己实际自定义需求上报即可
在服务器上将脚本在后台运行即可
nohup /bin/bash check_ping.sh &
注意:此处的主机名称为脚本中的-LOCALHOS
注意:此处类型选择zabbix采集器,键值为脚本中的ZAX_KEY,下面填写允许上报的主机IP
可以看到监控的粒度为1秒钟
标签:其他 简单 规模 col 监控主机 auth 版本 bec ffffff
原文地址:http://blog.51cto.com/kaliarch/2165161