Zabbix discovery disk 监控

简介:

Zabbix discovery Disk 监控

首先,大家如果看到有什么不懂的地方,欢迎吐槽!!!
我会在当天或者第二天及时回复,并且改进~~


Zabbix自带的“Template OS Linux”模板支持监控已挂载的磁盘空间利用率,是利用LLD(Low-level discovery)实现的,但是却不能监控磁盘IO,下面这篇文章主要是介绍通过Discovery rule来实现对磁盘IO的监控。

一、建立Zabbix_Agentd的key

确保之前已经修改过zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
添加Zabbix_Agentd识别key的路径
好,现在我们来添加监控disk的Key
cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/
touch disk_status_key
下面是disk_status_key的内容
{
UserParameter=vfs.fs.scandisk[*],/usr/local/zabbix/shell/disk_scan.sh $1
UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | egrep "\b$1\b" | head -1 | awk '{print $$4}'
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | egrep "\b$1\b" | head -1 | awk '{print $$7}'
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | egrep "\b$1\b" | head -1 | awk '{print $$8}'
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | egrep "\b$1\b" | head -1 | awk '{print $$11}'
UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | egrep "\b$1\b" | head -1 | awk '{print $$12}'
UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | egrep "\b$1\b" | head -1 | awk '{print $$13}'
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | egrep "\b$1\b" | head -1 | awk '{print $$6}'
UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | egrep "\b$1\b" | head -1 | awk '{print $$10}'
}

二、建立discovery Disk 脚本

这里我先说明一下,我这边Server中都是sda硬盘,所以在下面'diskarray'磁盘数组中填入了'sda'
有需要的同学请自行修改

cd /usr/local/zabbix/shell
touch disk_scan.sh
{
#!/bin/bash
#Written by zijin
#2014-08-05
#get local disk name
#脚本运行结果格式为
#{
#     "data":[
#         {"{#DISK_NAME}":"sda"}
#         {"{#DISK_NAME}":"sdb"}
#     ]
#}

function get_disk_name () {
        diskarray=($(cat /proc/diskstats|egrep "\b$1\b"|awk '{print $3}'|sort|uniq   2>/dev/null))
        #暂时只画硬盘sda的图
        diskarray=(sda)
        function printf_disk_name () {
                length=${#diskarray[@]}
                for ((i=0;i<${length};i++));do
                        if [ $i -lt $[${length}-1] ];then
                                printf "{ \"{#DISK_NAME}\":\"${diskarray[$i]}\" },\n"
                        else
                                printf "{ \"{#DISK_NAME}\":\"${diskarray[$i]}\" }\n"
                        fi
                done
        }
        printf "{ \"data\":[\n"
                printf_disk_name
        printf "]}"
}

get_disk_name $1

exit 0
}

三、在 Template OS Linux 中创建 discovery rule

打开Zabbix Web页面,configure-templates-Template OS Linux
点击discovery

这里写图片描述


右上角新建discovery rule 
下面附图,key对应这我刚才在Include路径下设置的key
下面的Zabbix agent 也可以改成 Zabbix agent (Active),这样agent变为主动模式,使Server负载更小。

这里写图片描述


四、在前面创建的Disk status disvovery 中添加项目原型

大家可以理解为,前一步我们创建了角色,现在我们需要添加角色所扫描的任务,也就是item,下面附图:
点击 item prototypes
点击右上角的 Create item prototype
下面是我的详细配置,有几点需要注意
1、名称中 $1 为变量
2、Units 为 B_Writ
3、Store value 为每秒速率

这里写图片描述

我在这边创建了两个item

  • IO InBlocks on {#DISK_NAME}
  • IO OutBlocks on {#DISK_NAME}

这里写图片描述


五、创建 Graphs

上一步我们已经创建了两个监控项,那么如何将监控的信息通过图形呈现出来呢?
好,下面我们来创建Graphs,并将item添加进去
单击 Graphs prototypes-Create graphs prototypes

这里写图片描述
这里写图片描述


六、在Screen中列出graphs
这里写图片描述

相关文章
|
4月前
|
存储 SQL 监控
修改Zabbix源码实现监控数据双写,满足业务需求!
虽然对接Elasticsearch后有诸多好处,但是它不往数据库写历史数据了,同时还不再计算趋势数据了。有这么一个场景...
修改Zabbix源码实现监控数据双写,满足业务需求!
|
5月前
|
数据采集 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
89 4
|
5月前
|
监控 关系型数据库 机器人
小白带你学习linux的监控平台zabbix
小白带你学习linux的监控平台zabbix
142 0
|
1月前
|
监控 网络协议 Unix
centos7 zabbix安装客户端agent -配置监控远程主机 在需要监控的电脑上安装
centos7 zabbix安装客户端agent -配置监控远程主机 在需要监控的电脑上安装
22 0
|
2月前
|
数据采集 监控 数据库
请问OceanBase社区版能否通过zabbix监控,然后将报错信息展现到grafana?
【2月更文挑战第25天】请问OceanBase社区版能否通过zabbix监控,然后将报错信息展现到grafana?
26 2
|
3月前
|
监控 Cloud Native 关系型数据库
使用 Grafana 统一监控展示 - 对接 Zabbix
使用 Grafana 统一监控展示 - 对接 Zabbix
|
5月前
|
监控 Docker 容器
Zabbix【部署 03】zabbix-agent2安装配置使用(zabbix-agent2监控docker实例分享)
Zabbix【部署 03】zabbix-agent2安装配置使用(zabbix-agent2监控docker实例分享)
275 0
|
5月前
|
监控 Java
Zabbix【部署 02】Zabbix-Java-Gateway安装配置使用(使用Zabbix-Java-Gateway通过JMX监控Java应用程序实例分享)
Zabbix【部署 02】Zabbix-Java-Gateway安装配置使用(使用Zabbix-Java-Gateway通过JMX监控Java应用程序实例分享)
94 0
|
1月前
|
监控 关系型数据库 应用服务中间件
zabbix自定义监控、钉钉、邮箱报警
zabbix自定义监控、钉钉、邮箱报警,实验准备,安装,添加监控对象,添加自定义监控项,监控mariadb,监控NGINX,钉钉报警设置,邮件报警
151 0
|
5月前
|
存储 监控 前端开发
zabbix概述及简单的在centos7安装Zabbix5.0及添加监控对象
Zabbix是一种开源的企业级监控解决方案,用于实时监控网络、服务器、应用程序等各种设备和服务的性能和可用性,并提供通知和报警功能。它具有灵活可扩展、可定制化的特点,可以满足不同规模和需求的监控需求。
202 0