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 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

springboot2.1.3 hystrix集成及hystrix-dashboard监控详解

《springboot2.1.3hystrix集成及hystrix-dashboard监控详解》Hystrix是Netflix开源的微服务容错工具,通过线程池隔离和熔断机制防止服务崩溃,支持降级、监... 目录Hystrix是Netflix开源技术www.chinasem.cn栈中的又一员猛将Hystrix熔

python连接sqlite3简单用法完整例子

《python连接sqlite3简单用法完整例子》SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置,:本文主要介绍python连接sqli... 目录1. 连接到数据库2. 创建游标对象3. 创建表4. 插入数据5. 查询数据6. 更新数据7. 删除

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

Java中使用 @Builder 注解的简单示例

《Java中使用@Builder注解的简单示例》@Builder简化构建但存在复杂性,需配合其他注解,导致可变性、抽象类型处理难题,链式编程非最佳实践,适合长期对象,避免与@Data混用,改用@G... 目录一、案例二、不足之处大多数同学使用 @Builder 无非就是为了链式编程,然而 @Builder

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤