分布式监控系统Zabbix4.2添加自动发现磁盘IO(实操)
2020-06-30 10:31
1126 查看
前言:
zabbix并没有给我们提供这么一个模板来完成在Linux中磁盘IO的监控,所以我们需要自己来创建一个,在此还是在Linux OS中添加。 由于一台服务器中磁盘众多,如果只一两台可以手动添加,但服务集群达到几十那就非常麻烦,因此需要利用 自动发现 这个功能,自动发现后自动添加对服务器磁盘的监控,而且添加磁盘后也会自动添加到监控,实现自动化运维的效果,所以在这里也演示一次自动发现的配置。 经测试无法自动发现多个磁盘,只能手动把{#DISK_NAME} 改成要监控的磁盘 (例如sda、sdb,dm-*、bcache0等 虚看自己服务器配置信息)
如图,我需要监控以上磁盘的三个重要指标
部署详细步骤:
一、在被监控设备部署如下:
1、在被监控设备上部署自动发现的脚本disk.sh,内容如下 #!/bin/bash diskarray=(`iostat -d -x 1 1|awk '{print $1}'|sort|uniq 2>/dev/null`) length=${#diskarray[@]} printf "{\n" printf '\t'"\"data\":[" for ((i=0;i<$length;i++)) do printf '\n\t\t{' printf "\"{#DISK_NAME}\":\"${diskarray[$i]}\"}" if [ $i -lt $[$length-1] ];then printf ',' fi done printf "\n\t]\n" printf "}\n" 在设备上测试脚本执行后的效果: { "data":[ {"{#DISK_NAME}":"Device:"}, {"{#DISK_NAME}":"dm-0"}, {"{#DISK_NAME}":"dm-1"}, {"{#DISK_NAME}":"dm-2"}, {"{#DISK_NAME}":"dm-3"}, {"{#DISK_NAME}":"Linux"}, {"{#DISK_NAME}":"sda"}, {"{#DISK_NAME}":"sdb"}, {"{#DISK_NAME}":"sdc"} ] } 我这里简单粗暴过滤出来了执行iostat -d -x 1 1命令后输出的第一行,可能部分不是磁盘名称, 不过没有关系,在后续zabbix页面会进行过滤的
2、脚本加权限 chmod 755 /opt/aspire/product/zabbix/bin/disk.sh chown zabbix:zabbix /opt/aspire/product/zabbix/bin/disk.sh
3、在zabbix_agentd.conf中加入自定义监控项 UserParameter=disk.vfs.dev.read.s[*],iostat -d -x 1 1 | egrep $1 | head -1 | awk '{print $$4}' UserParameter=disk.vfs.dev.write.s[*], iostat -d -x 1 1 | egrep $1 | head -1 | awk '{print $$5}' UserParameter=disk.vfs.dev.untl.s[*],iostat -d -x 1 1 | egrep $1 | head -1 | awk '{print $$14}' UserParameter=disk.discovery,/opt/aspire/product/zabbix/bin/disk.sh
4、重启zabbix_agent进程
二、在zabbix页面操作如下:
1、在zabbix页面过滤你需要监控的磁盘名称,服务器中部分磁盘监控意义不大 ,全量监控影响服务器性能,我这里是过滤出名称以sd、dm、bc开头的磁盘。
2、打开Linux模板,添加自动发现规则:
这里定义的键值需要与之前写入配置文件自动探索脚本key值一致。
关联配置正则表达式
3、配置监控项原型
key值与上面写进配置文件的保持一致
三、检验结果:
相关文章推荐
- centos后台挂起jupyter
- 学校作业——通过tomcat写个jps登录
- 用前端姿势玩docker【一】Docker通俗理解常用功能汇总与操作埋坑
- centos服务器拒绝ssh连接问题
- Docker 引擎
- 我们仍在维护一些服务
- 实时即未来?一个小微企业心中的流计算
- 搞懂ELK并不是一件特别难的事(ELK)
- 从Linux源码看Socket(TCP)Client端的Connect
- 微服务技术栈:流量整形算法,服务熔断与降级
- docker 开放 2375端口
- JDBC +Tomcat实现登录逻辑
- 纵观Docker(开发视角)
- 软件构造ADT和OOP——3
- 2-1.Microprocessors
- centos7 搭建Web服务器(apache)
- 如何用爬虫爬取豆瓣网Top250的电影信息
- nginx.conf内容详解
- opencv学习笔记二(矩阵的掩膜操作)
- 支付宝架构师眼里的高并发架构那你确定你会吗?