zabbix io监控, 会的不难,不会时需要简单一点的材料

2024-03-16 17:32

本文主要是介绍zabbix io监控, 会的不难,不会时需要简单一点的材料,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

zabbix IO 监控

  • 需要设置discovery - 从主机上识别出同一类型的多个设备,如识别多个网卡,多个盘符,这里要做的是识别多个磁盘;

  • 需要设置item prototypes - 基础是discovery功能,识置一个类似模板,针对”磁盘“,同时为多个磁盘添加item;
    会引用到discovery得到的结果,在key和name上都会用到

  • 界面设置

在这里插入图片描述

  • 需要添加key的程序,io.scandisk的脚本,网上查的, python语句
<root@linux0 ~>$ cat /etc/zabbix/zabbix_agentd.d/disk_scan.conf 
UserParameter=io.scandisk[*],/usr/bin/python /usr/local/sbin/disk_scan.py $1<root@linux0 ~>$ cat /usr/local/sbin/disk_scan.py 
import subprocess
import json
args="cat /proc/diskstats|awk '{print $3}'|grep -E '^[a-z]+$'|sort|uniq 2>/dev/null"
t=subprocess.Popen(args,shell=True,stdout=subprocess.PIPE).communicate()[0]
disks=[]
for disk in t.split('\n'):if len(disk) != 0:disks.append({'{#DISK_NAME}':disk})
print json.dumps({'data':disks},indent=4,separators=(',',':'))<root@linux0 ~>$ python !$   #运行结果;
python /usr/local/sbin/disk_scan.py
{"data":[{"{#DISK_NAME}":"sda"},{"{#DISK_NAME}":"sdb"}]
}
  • 得到的结果是json语句,显示的结果就是两个磁盘名称;需要使用的名字是{#DISK_NAME}

设置item prototypes

  • 界面设置,添加一个item prototypes,名字引用了Disk_NAME,key也引用了DISK_NAME
    在这里插入图片描述

在这里插入图片描述

  • 需要设置一个applications, 到时discovery的项目会出现在相应的项目上;

在这里插入图片描述

  • 数据类型是重点,如果类型不对,将不会得到结果,得到0, 或提示数据类型不对,这里处理了很久;

  • 尝试过将结果变成整形都失败: 使用awk去掉小数点,但结果应该是字符形;再使用awk后面加0强行转换成数字形式,但是显示都是0; 再在数据库修改数据类型,但是不管用,最终决定的是web界面这个选项;

  • key得到的结果是0.00这种形式,一定需要使用浮点型;

  • 最终的key设置,脚本设置,跟网上不一样,网上都把结果输出成文本,再从文本得到结果,命令一直在后台运行;但我觉得zabbix自动定期会使用这个key得到结果,不需要这么复杂,下面是可以生效的; 可以增加自己想增加的数据,只设置了3个;

  • 下面的$1是指界面设置的DISK_NAME;而后面awk命令,本来是$3的,但是这样会被认为的界面传过来的第三个参数;为区别,需要设置成$$3这个样子;这个应该是内部机制;

<root@linux0 ~>$ cat /etc/zabbix/zabbix_agentd.d/disk_scan.conf 
UserParameter=io.scandisk[*],/usr/bin/python /usr/local/sbin/disk_scan.py $1
UserParameter=io.read[*],  iostat -kd |grep "\b$1\b" |awk '{print $$3}'
UserParameter=io.write[*], iostat -kd |grep "\b$1\b" |awk '{print $$4}'
UserParameter=io.util[*], iostat -kdx |grep "\b$1\b"| awk '{print $$14}'
  • 得到的数据
    在这里插入图片描述

在这里插入图片描述

  • 命令行的测试
<root@linux1 ~>$ zabbix_get -s 192.168.3.16 -k 'io.read[sda]'
11.94
<root@linux1 ~>$ zabbix_get -s 192.168.3.16 -k 'io.write[sda]'
55.24
<root@linux1 ~>$ zabbix_get -s 192.168.3.16 -k 'io.util[sda]'
0.06
<root@linux1 ~>$ zabbix_get -s 192.168.3.16 -k 'io.util[sdb]'
0.01
<root@linux1 ~>$ zabbix_get -s 192.168.3.16 -k 'io.write[sdb]'
54.55
<root@linux1 ~>$ zabbix_get -s 192.168.3.16 -k 'io.read[sdb]'
0.07

这篇关于zabbix io监控, 会的不难,不会时需要简单一点的材料的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/816206

相关文章

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

如何解决Druid线程池Cause:java.sql.SQLRecoverableException:IO错误:Socket read timed out的问题

《如何解决Druid线程池Cause:java.sql.SQLRecoverableException:IO错误:Socketreadtimedout的问题》:本文主要介绍解决Druid线程... 目录异常信息触发场景找到版本发布更新的说明从版本更新信息可以看到该默认逻辑已经去除总结异常信息触发场景复

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示

JVisualVM之Java性能监控与调优利器详解

《JVisualVM之Java性能监控与调优利器详解》本文将详细介绍JVisualVM的使用方法,并结合实际案例展示如何利用它进行性能调优,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1. JVisualVM简介2. JVisualVM的安装与启动2.1 启动JVisualVM2

windows和Linux安装Jmeter与简单使用方式

《windows和Linux安装Jmeter与简单使用方式》:本文主要介绍windows和Linux安装Jmeter与简单使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows和linux安装Jmeter与简单使用一、下载安装包二、JDK安装1.windows设

Python文件操作与IO流的使用方式

《Python文件操作与IO流的使用方式》:本文主要介绍Python文件操作与IO流的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python文件操作基础1. 打开文件2. 关闭文件二、文件读写操作1.www.chinasem.cn 读取文件2. 写

使用Python实现实时金价监控并自动提醒功能

《使用Python实现实时金价监控并自动提醒功能》在日常投资中,很多朋友喜欢在一些平台买点黄金,低买高卖赚点小差价,但黄金价格实时波动频繁,总是盯着手机太累了,于是我用Python写了一个实时金价监控... 目录工具能干啥?手把手教你用1、先装好这些"食材"2、代码实现讲解1. 用户输入参数2. 设置无头浏

使用easy connect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题

《使用easyconnect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题》:本文主要介绍使用easyconnect之后,maven无法... 目录使用easGWowCy connect之后,maven无法使用,原来需要配置-DJava.net.pr

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

AJAX请求上传下载进度监控实现方式

《AJAX请求上传下载进度监控实现方式》在日常Web开发中,AJAX(AsynchronousJavaScriptandXML)被广泛用于异步请求数据,而无需刷新整个页面,:本文主要介绍AJAX请... 目录1. 前言2. 基于XMLHttpRequest的进度监控2.1 基础版文件上传监控2.2 增强版多