前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ZABBIX监控每秒业务状态

ZABBIX监控每秒业务状态

原创
作者头像
KaliArch
发布2018-08-28 09:43:16
2.1K0
发布2018-08-28 09:43:16
举报
文章被收录于专栏:KaliArch

一、背景

有客户监控MySQL的公网延迟,细粒度到每秒,对你没听错是每秒,云平台级别的监控阿里云/腾讯云虽都支持自定义监控,但是限于数据的存储,粒度最小为每一分钟,阿里云免费云监控频率是5分钟,收费的粒度才可调至1分钟,对此想到利用ZABBIX来进行每一秒的数据上报,最终利用其绘图来进行展示。在此抛砖引玉,其他自定义监控均为此类方法,只需要简单修改脚本获取到需要上报的值即可。

二、部署

2.1 安装ZABBIX SENDER

安装与zabbix版本一样的zabbix sender

例如此处安装3.0的版本

代码语言:txt
复制
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来发送数据

代码语言:txt
复制
zabbix_sender 
-z zabbix服务器的地址
-s 创建主机的主机名称
-k 键值名称
-o 上报的数据
-p zabbix 服务器的端口

2.2 编写脚本

在此只简单来监控公网地址的ping延迟

代码语言:txt
复制
#!/bin/bash
#auth:kaliarch

# ping可执行路径
PINGCMD=/usr/bin/ping
# zabbix_sender可执行文件路径
SENDCMD=/usr/bin/zabbix_sender
# ping测主机ip地址
CHECKHOST=baidu.com11
# zabbix服务器ip地址
ZABBIXSERVER=43.254.55.xx
# zabbix服务器监听端口
ZABBIXPORT=10051
# zabbix添加这条监控主机名
LOCALHOST=checkping_monitor
# ping包的数量
PAG_NUM=1
# 添加监控项的键值
ZAX_KEY=ping_response


# 获取ping响应时间
check_ping() {
   $PINGCMD -c $PAG_NUM $CHECKHOST >/dev/null 2>&1
   if [ $? -eq 0 ];then
        RESPONSE_TIME=`$PINGCMD -c $PAG_NUM -w 1 $CHECKHOST |head -2 |tail -1|awk '{print $(NF-1)}'|cut -d= -f2`
        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端的数据可以根据自己实际自定义需求上报即可

在服务器上将脚本在后台运行即可。

代码语言:txt
复制
nohup /bin/bash check_ping.sh &

2.3 ZABBIX WEB界面配置

  • 添加主机

注意:此处的主机名称为脚本中的-LOCALHOS

  • 添加监控项

注意:此处类型选择zabbix采集器,键值为脚本中的ZAX_KEY,下面填写允许上报的主机IP

  • 配置图像

2.3 图像查看

可以看到监控的粒度为1秒钟

三、总结

  • 其实对于监控数据上报频率控制在1分钟是比较理想的,不建议1秒钟就进行数据上报,对于大规模监控就需要进行分布式部署或使用zabbix proxy来分摊server的压力。
  • 本次只是对于一些特殊客户需求进行记录,同时抛砖引玉可以利用此方法来上报任何自定义的数据。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、背景
  • 二、部署
    • 2.1 安装ZABBIX SENDER
      • 2.2 编写脚本
        • 2.3 ZABBIX WEB界面配置
          • 2.3 图像查看
          • 三、总结
          相关产品与服务
          云数据库 MySQL
          腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档