文档章节

分布式监控系统Zabbix4.2添加自动发现磁盘IO(实操)

o
 osc_b71hj3or
发布于 07/01 09:52
字数 673
阅读 18
收藏 0

精选30+云产品,助力企业轻松上云!>>>

前言:

zabbix并没有给我们提供这么一个模板来完成在Linux中磁盘IO的监控,所以我们需要自己来创建一个,在此还是在Linux OS中添加。

  由于一台服务器中磁盘众多,如果只一两台可以手动添加,但服务集群达到几十那就非常麻烦,因此需要利用 自动发现 这个功能,自动发现后自动添加对服务器磁盘的监控,而且添加磁盘后也会自动添加到监控,实现自动化运维的效果,所以在这里也演示一次自动发现的配置。

经测试无法自动发现多个磁盘,只能手动把{#DISK_NAME} 改成要监控的磁盘 (例如sda、sdb,dm-*、bcache0等 虚看自己服务器配置信息)

分布式监控系统Zabbix4.2添加自动发现磁盘IO(实操)

如图,我需要监控以上磁盘的三个重要指标

部署详细步骤:

一、在被监控设备部署如下:

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开头的磁盘。

分布式监控系统Zabbix4.2添加自动发现磁盘IO(实操)


2、打开Linux模板,添加自动发现规则:

分布式监控系统Zabbix4.2添加自动发现磁盘IO(实操)

这里定义的键值需要与之前写入配置文件自动探索脚本key值一致。

分布式监控系统Zabbix4.2添加自动发现磁盘IO(实操)

关联配置正则表达式
3、配置监控项原型

分布式监控系统Zabbix4.2添加自动发现磁盘IO(实操)

key值与上面写进配置文件的保持一致
三、检验结果:

分布式监控系统Zabbix4.2添加自动发现磁盘IO(实操)

o
粉丝 0
博文 50
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

SequoiaDB监控与开发实践分析

使用背景 公司近期上线了一个新应用,底层数据库采用了国产的分布式数据库 – SequoiaDB。 因为需要将 SequoiaDB 集群纳入到公司的整个监控体系中,所以需要对 SequoiaDB 的状态、性能指标等...

巨杉数据库
31分钟前
6
0
如何导入其他Python文件? - How to import other Python files?

问题: How do I import other files in Python? 如何在Python中导入其他文件? How exactly can I import a specific python file like import file.py ? 我究竟该如何导入特定的python文件......

fyin1314
40分钟前
22
0
小程序上传图片 返回的地址出现回车空格问题

不知怎么回事 ,今天写小程序上传图片 之前是没问题的,今天突然出现很多回车空格问题 那怎么办呢,处理呗 //去掉空格str = str.replace(/\ +/g,""); console.log(str);//"{'retmsg':'suc......

子枫Eric
50分钟前
6
0
Spring Boot + Spring Security自定义用户认证

自定义认证过程 自定义认证的过程需要实现Spring Security提供的UserDetailService接口 ,源码如下: public interface UserDetailsService { UserDetails loadUserByUsername(String use...

心田已荒
今天
12
0
DateTime2与SQL Server中的DateTime - DateTime2 vs DateTime in SQL Server

问题: Which one: 哪一个: datetime datetime2 is the recommended way to store date and time in SQL Server 2008+? 是在SQL Server 2008+中存储日期和时间的推荐方法吗? I'm aware of......

富含淀粉
今天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部