zabbix怎么监控linux磁盘性能
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,本篇内容主要讲解"zabbix怎么监控linux磁盘性能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"zabbix怎么监控linux磁盘性能"吧!Zabb
千家信息网最后更新 2025年02月05日zabbix怎么监控linux磁盘性能
本篇内容主要讲解"zabbix怎么监控linux磁盘性能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"zabbix怎么监控linux磁盘性能"吧!
Zabbix 是一个企业级分布式开源监控解决方案,能够监控众多网络参数和服务器的健康度、完整性,使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。
前提环境
perl和python,以及zabbix-agent已是可用状态。
需要主要监控的指标
1:每秒IO数,即iops或tps2:吞吐率3:平均IO尺寸,avgrq-sz4:IO等待队列长度,avgqu-sz5:磁盘活动时间百分比,util
安装iostat工具
yum install sysstat -y #centos7安装iostat工具,centos6之前自带
在agent端创建用于存放执行脚本的目录,并修改权限
mkdir /usr/lib/zabbix/alertscripts/ -pchown zabbix:zabbix /usr/lib/zabbix/ -R
在/usr/lib/zabbix/alertscripts/目录下创建磁盘发现脚本
cd /usr/lib/zabbix/alertscripts/vim discover_disk.pl#!/usr/bin/perl# give disk dmname, returns Proxmox VM namesub get_vmname_by_id { $vmname=`cat /etc/qemu-server/$_[0].conf | grep name | cut -d \: -f 2`; $vmname =~ s/^\s+//; #remove leading spaces $vmname =~ s/\s+$//; #remove trailing spaces return $vmname }$first = 1;print "{\n";print "\t\"data\":[\n\n";for (`cat /proc/diskstats`) { ($major,$minor,$disk) = m/^\s*([0-9]+)\s+([0-9]+)\s+(\S+)\s.*$/; $dmnamefile = "/sys/dev/block/$major:$minor/dm/name"; $vmid= ""; $vmname = ""; $dmname = $disk; $diskdev = "/dev/$disk"; # DM name if (-e $dmnamefile) { $dmname = `cat $dmnamefile`; $dmname =~ s/\n$//; #remove trailing \n $diskdev = "/dev/mapper/$dmname"; # VM name and ID if ($dmname =~ m/^.*--([0-9]+)--.*$/) { $vmid = $1; #$vmname = get_vmname_by_id($vmid); } } #print("$major $minor $disk $diskdev $dmname $vmid $vmname \n"); print "\t,\n" if not $first; $first = 0; print "\t{\n"; print "\t\t\"{#DISK}\":\"$disk\",\n"; print "\t\t\"{#DMNAME}\":\"$dmname\",\n"; print "\t\t\"{#VMNAME}\":\"$vmname\",\n"; print "\t\t\"{#VMID}\":\"$vmid\"\n"; print "\t}\n"; }print "\n\t]\n";print "}\n";
在/usr/lib/zabbix/alertscripts/目录下创建定义key需要的文件,用于获取io监控值
vim zbx_parse_iostat_values.sh#!/bin/bashdev=$1type=$2#enable debug modedebug=0if [[ -z "$dev" ]]; then echo "error: wrong input value (device)" exit 1fiif [[ -z "$type" ]]; then echo "error: wrong input value (type)" exit 1ficolumns=`iostat -xN |egrep -o "^Device.*"`columnsarray=($columns)column_id=1for i in "${columnsarray[@]}"do #echo "column: $i" if [[ "$i" = "$type" ]]; then if [[ $debug -eq 1 ]]; then echo "right column (${i}) found...column_id: $column_id " fi id="$" column_id_id=$id$column_id iostats=`iostat -xN |egrep -o "^${dev}[[:space:]]+.*" |awk "{print ${column_id_id}}"` fi column_id=$[column_id + 1]doneif [ -z "$iostats" ]; then echo "error: \"device\" or \"type\" not found (${dev},${type})" exit 3fiiostats_lines=`wc -l "$iostats"`if [ $iostats_lines -ne 1 ]; then echo "error: wrong output value (${iostats_lines})" exit 2fiecho $iostatsif [[ $debug -eq 1 ]]; then echo "- - - - - - - - - -" echo $columns iostats_debug=`iostat -xN |egrep -o "^${dev}[[:space:]]+.*"` echo $iostats_debug echo "- - - - - - - - - -"fiexit 0
为刚才创建的两个文件赋予执行权限
chmod +x /usr/lib/zabbix/alertscripts/*
在zabbix-agent的配置文件上添加如下内容
vim /etc/zabbix/zabbix_agentd.conf# diskio discoveryUserParameter=discovery.disks.iostats,/usr/lib/zabbix/alertscripts/discover_disk.plUserParameter=custom.vfs.dev.iostats.rrqm[*],/usr/lib/zabbix/alertscripts/zbx_parse_iostat_values.sh $1 "rrqm/s"UserParameter=custom.vfs.dev.iostats.wrqm[*],/usr/lib/zabbix/alertscripts/zbx_parse_iostat_values.sh $1 "wrqm/s"UserParameter=custom.vfs.dev.iostats.rps[*],/usr/lib/zabbix/alertscripts/zbx_parse_iostat_values.sh $1 "r/s"UserParameter=custom.vfs.dev.iostats.wps[*],/usr/lib/zabbix/alertscripts/zbx_parse_iostat_values.sh $1 "w/s"UserParameter=custom.vfs.dev.iostats.avgrq[*],/usr/lib/zabbix/alertscripts/zbx_parse_iostat_values.sh $1 "avgrq-sz"UserParameter=custom.vfs.dev.iostats.avgqu[*],/usr/lib/zabbix/alertscripts/zbx_parse_iostat_values.sh $1 "avgqu-sz"UserParameter=custom.vfs.dev.iostats.await[*],/usr/lib/zabbix/alertscripts/zbx_parse_iostat_values.sh $1 "await"UserParameter=custom.vfs.dev.iostats.svctm[*],/usr/lib/zabbix/alertscripts/zbx_parse_iostat_values.sh $1 "svctm"UserParameter=custom.vfs.dev.iostats.util[*],/usr/lib/zabbix/alertscripts/zbx_parse_iostat_values.sh $1 "%util"UserParameter=custom.vfs.dev.iostats.rkB[*],/usr/lib/zabbix/alertscripts/zbx_parse_iostat_values.sh $1 "rkB/s"UserParameter=custom.vfs.dev.iostats.wkB[*],/usr/lib/zabbix/alertscripts/zbx_parse_iostat_values.sh $1 "wkB/s"
重启zabbix-agent端
systemctl restart zabbix-agent.service
将zabbix关于linux磁盘的模板文件下载下来并导入
wget https://qiniu.wsfnk.com/Template_Linux_Disk_IO_Stats.xml
按如图要求导入模板Template_Linux_Disk_IO_Stats.xml
创建发现磁盘的正则表达式,模板需要使用它
#这里的名称一定要是它,建议复制粘贴 "Linux disks for autodiscovery"
将主机链接到该模板上
查看图形
到此,相信大家对"zabbix怎么监控linux磁盘性能"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
磁盘
监控
文件
模板
性能
内容
目录
工具
服务器
权限
用户
脚本
学习
服务
配置
实用
更深
两个
主机
事件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云服务器没有域名能干什么
网络安全方法及设计
软件开发人员成本模板
如何实现sql兼容多种数据库
ad域控制服务器
元数据怎么录入数据库
先锋网络技术股份有限公司
苏州财税软件开发公司招聘
景安虚拟主机没有数据库
博图是用vs软件开发的吗
网络安全知识问答比赛心得
我的世界小副本服务器设置
网络安全的核心内容包括
郑州做软件开发的工资待遇
最好的服务器防护软件下载
王者服务器怎么转
服务器cpu加入视频处理
山西统一软件开发过程
中国十大网络安全技术员
mvc数据库操作
如何进行数据库合并
广州科技网络安全公司有哪些
软件开发界面模仿别人了
php数据库类
电脑连wifi网络安全密钥
阿里云数据库降价
网络安全主题班会的心得体会
华为的软件开发员介绍
积极开展网络安全大家谈活动
我的世界基岩版如何在服务器