zabbix怎么监控linux磁盘性能
发表于:2024-12-02 作者:千家信息网编辑
千家信息网最后更新 2024年12月02日,本篇内容主要讲解"zabbix怎么监控linux磁盘性能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"zabbix怎么监控linux磁盘性能"吧!Zabb
千家信息网最后更新 2024年12月02日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安全错误
数据库的锁怎样保障安全
外设联网服务器
数据库访问技术有哪几个
信息化素养和网络安全
软件开发类项目助理
电驴服务器搜索
长沙美容软件开发
千驹网络安全科技馆
360 国资 网络安全
运行数据库脚本时没有权限的问题
怎样当软件开发工程师
北京销客互联网科技有限公司
数据库中什么叫实体模型
华为服务器内存插法
网络技术发展阶段包括什么
韩国国家网络安全解读
phonegap数据库
网络安全利弊的小故事
国际生物医学数据库
佰威网络技术是做什么的
赤城网络安全
数据库高斯版本
校园网络安全隐患分析
网络安全法需要实名的规定是
华为管理口登录服务器
修改win10时间服务器地址
服务器托管原因
软件开发的职业规划1500
欣时网络技术
崇明区品质数据库服务价钱
河洛杠次客服软件开发定制