最近比较忙,所以很久没有写博客了,现在分享一下如何使用lld来监控磁盘的吞吐量与iops。

之前使用zabbix监控磁盘的时候,都是固定的磁盘,比如sda、sdb什么的,然后不同监控磁盘名做不同的模板,如果磁盘名多了起来就很少麻烦,所以为了解决这个问题,使用了lld来监控。

下面是监控效果图:

1、Disk - Read/Write ms By vdb

2、Disk - IO By vdb

3、Disk - Bytes/second By vdb

4、Disk - iops/second By vdb

如何实现:

一、客户端

1、监控内容的json化

在客户端里,需要把监控的内容json化展示,然后服务端可以通过正则来过滤出结果

下面在是我的json展示

脚本内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
10:12:14 # cat partition_low_discovery.sh
#!/bin/bash
#Fucation:zabbix low-level discovery
partition() {
            port=($(grep -E "(vd[a-z]$|sd[a-z]$)" /proc/partitions|awk '{print $4}'))
            printf '{\n'
            printf '\t"data":[\n'
               for key in ${!port[@]}
                   do
                       if [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${#port[@]}-1))" ]];then
                          printf '\t {\n'
                          printf "\t\t\t\"{#PARTITIONNAME}\":\"${port[${key}]}\"},\n"
                     else [[ "${key}" -eq "((${#port[@]}-1))" ]]
                          printf '\t {\n'
                          printf "\t\t\t\"{#PARTITIONNAME}\":\"${port[${key}]}\"}\n"
                       fi
               done
                          printf '\t ]\n'
                          printf '}\n'
}
$1

把此文件存放到/usr/local/zabbix/bin里,然后给与755权限,并修改用户与组为zabbix

#Disable requiretty

1
sed -i 's/^Defaults.*.requiretty/#Defaults    requiretty/'/etc/sudoers

2、修改zabbix_agentd.conf文件

在zabbix_agentd.conf最后添加以下内容

1
2
3
4
5
6
7
8
9
UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$4}'
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$7}'
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$8}'
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$11}'
UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$12}'
UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$13}'
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$6}'
UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$10}'
UserParameter=zabbix_low_discovery[*],/bin/bash /usr/local/zabbix/bin/partition_low_discovery.sh $1

3、重启zabbix服务

1
2
ps -ef|grep zabbix|grep -v grep|awk '{print $2}'|xargs kill -9
/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/conf/zabbix_agentd.conf

二、服务端

1、模板导入

把Template partition Auto Discovery导入到zabbix里(模板在附件),具体操作不介绍。

2、设置正则

在“管理”=》“一般”=》“正则表达式”里,选择“新的正则表达式”

然后设置类似如下

3、主机关联模板

把需要监控partition实例的主机管理模板即可监控,默认是3600秒后自动更新,如下图

为什么设置3600秒?原因是如果设置时间过短,比如你设置60s,一个是服务器的压力大,一个是如果你检测的端口突然当掉了,还没有来的急报警,主机通过json来获取不到这个信息,就认为没有这个端口,模板里会自动关闭这个监控项的内容(默认保留30天,然后自动删除),这样报警功能就基本没有了,所以还是发现的间隔时间长一些比较好。

附件:http://down.51cto.com/data/2364205

本文转自 reinxu 51CTO博客,原文链接:http://blog.51cto.com/dl528888/1382060,如需转载请自行联系原作者

zabbix企业应用之low level discovery监控磁盘吞吐量与iops相关推荐

  1. zabbix企业应用之low level discovery监控mysql

    之前介绍了使用zabbix监控固定3306端口的mysql(文章地址为http://dl528888.blog.51cto.com/2382721/1346590),有个不好的地方是只能监控固定的33 ...

  2. linux 访问磁盘bin,zabbix应用之Low-level discovery监控磁盘IO

    zabbix自带的"Template OS Linux"模板支持监控已挂载的磁盘空间利用率,是利用LLD(Low-level discovery)实现的,却没有对磁盘IO监控.本篇 ...

  3. zabbix企业应用之centos7安装硬件监控

    之前介绍过dell服务器在centos5.6与ubuntu.windows系统里部署硬件监控,最近我在测试docker集群,很多集群软件都依赖centos7的systemd,所以我研究了一下如何在ce ...

  4. zabbix自动发现监控磁盘(iops和读写量)

    2019独角兽企业重金招聘Python工程师标准>>> 对于磁盘有个iops的概念比较奇怪,想监控起来看下,利用zabbix的自动发现把每个磁盘的iops监控起来,思路:自动发现所有 ...

  5. zabbix监控系统进阶专题篇(企业微信报警,邮箱报警,电话报警,监控数据库,监控磁盘性能)

    一:zabbix配置文件详解 1. zabbix-server配置文件 Zabbix 日志 默认用文件记录,也可以发送给我们的 rsyslog 日志记录系统,如果我们 选择默认,则日志存放在LogFi ...

  6. Linux Zabbix——企业监控基于钉钉、企业微信实现自动化报警

    zabbix基于企业微信.钉钉群聊机器人实现自动化报警 在企业中,我们使用zabbix去进行监控,需要时刻关注应用服务的运行情况,这就少不了实时报警,而使用即时通讯软件报警相对就很方便. 监控环境准备 ...

  7. 部署zabbix企业监控平台

    一.实验拓扑图 二.安装zabbix server 实验对象:上图中的zabbix-server 2.1)配置主机名.IP信息 # echo "server.ayitula.com" ...

  8. Zabbix动态监控磁盘I/O

    需要监控每台服务器的磁盘I/O,由于每台服务器的磁盘名称可能不一样,所以需要用到Zabbix的LLD功能来发现磁盘并监控I/O. 一.客户端(被监控端) 1.发现磁盘的脚本(disk_discover ...

  9. 如何使用Zabbix官方模板轻松实现Docker容器监控?

    感谢王军 ZCP(Zabbix 高级认证专家)翻译!欢迎投稿分享你的使用经验. 本文将介绍通过Zabbix监控Docker容器.使用官方模板 Docker by Zabbix agent2 templ ...

最新文章

  1. Udacity机器人软件工程师课程笔记(一)-样本搜索和找回-基于漫游者号模拟器
  2. 群英服务器网站,群英:域名、DNS及URL功能说明
  3. 机器学习笔记:auto encoder
  4. Create Volume 操作(Part I) - 每天5分钟玩转 OpenStack(50)
  5. Django博客--4.开发博客文章详情页
  6. 数据解读京东上最受欢迎的面包
  7. 基于注解使用MyBatis
  8. Oracle PLSQL语句实例
  9. 掘金网无极ip代理软件IOS版如何下载安装?
  10. 格拉布斯检验法matlab,格拉布斯检验法MATLAB算法
  11. 惠普2t服务器硬盘,HP DL388 Gen8系列服务器硬盘超过2T的分区方法
  12. GTP-U 5GS用户面GTP协议解析
  13. Android飞行模式过程,在Android中切换飞行模式
  14. 每日一题冲刺大厂第十五天 终于结束的起点
  15. 【测试开发】一个5年测试开发的成长经验,大学毕业就开启他的职业生涯......
  16. git commit 、CHANGELOG 和版本发布的标准自动化
  17. 数学在c语言的作用,【程序设计论文】数学专业C语言程序设计课程教学探讨(共3174字)...
  18. Git:在一个仓库中存放多个IDEA项目
  19. 从购置阿里云学生机到开发部署一个SpringBoot+Vue项目全过程
  20. access violation at address 解决之法【转】

热门文章

  1. awk取文本列_awk命令结构/内置变量/获取文本某行或某列
  2. 怎样使用计算机操作,怎么使用键盘快捷键操作电脑
  3. k2677场效应管参数引脚_场效应管参数大全2.doc
  4. java随机数 时间_Java 随机数
  5. 标杆课程采访补充问题
  6. MATLAB在AI方面的应用工具
  7. ZHUOQING 发表论文整理
  8. DAC8830可以当做电位器来使用吗?
  9. mfc 儿童算数作业生成器_9岁男孩一写作业就哭,爸妈毅然带孩子跳绳,打骂真的没用...
  10. python全排列字典序输出 递归_递归实现全排列,字典序法实现全排列