zabbix怎么监控linux磁盘性能
本篇内容主要讲解“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磁盘性能”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。