本篇内容主要讲解“zabbix怎么监控linux磁盘性能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“zabbix怎么监控linux磁盘性能”吧!

Zabbix 是一个企业级分布式开源监控解决方案,能够监控众多网络参数和服务器的健康度、完整性,使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。

前提环境

perl和python,以及zabbix-agent已是可用状态。

需要主要监控的指标

1:每秒IO数,即iops或tps2:吞吐率3:平均IO尺寸,avgrq-sz4:IO等待队列长度,avgqu-sz5:磁盘活动时间百分比,util

安装iostat工具

yuminstallsysstat-y#centos7安装iostat工具,centos6之前自带

在agent端创建用于存放执行脚本的目录,并修改权限

mkdir/usr/lib/zabbix/alertscripts/-pchownzabbix:zabbix/usr/lib/zabbix/-R

在/usr/lib/zabbix/alertscripts/目录下创建磁盘发现脚本

cd/usr/lib/zabbix/alertscripts/vimdiscover_disk.pl#!/usr/bin/perl#givediskdmname,returnsProxmoxVMnamesubget_vmname_by_id{$vmname=`cat/etc/qemu-server/$_[0].conf|grepname|cut-d\:-f2`;$vmname=~s/^\s+//;#removeleadingspaces$vmname=~s/\s+$//;#removetrailingspacesreturn$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";#DMnameif(-e$dmnamefile){$dmname=`cat$dmnamefile`;$dmname=~s/\n$//;#removetrailing\n$diskdev="/dev/mapper/$dmname";#VMnameandIDif($dmname=~m/^.*--([0-9]+)--.*$/){$vmid=$1;#$vmname=get_vmname_by_id($vmid);}}#print("$major$minor$disk$diskdev$dmname$vmid$vmname\n");print"\t,\n"ifnot$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监控值

vimzbx_parse_iostat_values.sh#!/bin/bashdev=$1type=$2#enabledebugmodedebug=0if[[-z"$dev"]];thenecho"error:wronginputvalue(device)"exit1fiif[[-z"$type"]];thenecho"error:wronginputvalue(type)"exit1ficolumns=`iostat-xN|egrep-o"^Device.*"`columnsarray=($columns)column_id=1foriin"${columnsarray[@]}"do#echo"column:$i"if[["$i"="$type"]];thenif[[$debug-eq1]];thenecho"rightcolumn(${i})found...column_id:$column_id"fiid="$"column_id_id=$id$column_idiostats=`iostat-xN|egrep-o"^${dev}[[:space:]]+.*"|awk"{print${column_id_id}}"`ficolumn_id=$[column_id+1]doneif[-z"$iostats"];thenecho"error:\"device\"or\"type\"notfound(${dev},${type})"exit3fiiostats_lines=`wc-l"$iostats"`if[$iostats_lines-ne1];thenecho"error:wrongoutputvalue(${iostats_lines})"exit2fiecho$iostatsif[[$debug-eq1]];thenecho"----------"echo$columnsiostats_debug=`iostat-xN|egrep-o"^${dev}[[:space:]]+.*"`echo$iostats_debugecho"----------"fiexit0

为刚才创建的两个文件赋予执行权限

chmod+x/usr/lib/zabbix/alertscripts/*

在zabbix-agent的配置文件上添加如下内容

vim/etc/zabbix/zabbix_agentd.conf#diskiodiscoveryUserParameter=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端

systemctlrestartzabbix-agent.service

将zabbix关于linux磁盘的模板文件下载下来并导入

wgethttps://qiniu.wsfnk.com/Template_Linux_Disk_IO_Stats.xml

按如图要求导入模板Template_Linux_Disk_IO_Stats.xml

创建发现磁盘的正则表达式,模板需要使用它

#这里的名称一定要是它,建议复制粘贴 “Linux disks for autodiscovery”

将主机链接到该模板上

查看图形

到此,相信大家对“zabbix怎么监控linux磁盘性能”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!