使用zabbix进行监控linux中的盘性能(iostat)

需要说明的是本文中使用的脚本及zabbix等工具并不是公司官方指定的工具,脚本等文档也并非公司工程师作品。这篇文章仅作zabbix监控disk相关话题的一篇讨论。任何问题可以发表评论或者发邮件至hui.huang@memblaze.com

zabbix简介

zabbix是一个基于PHP的监控IT监控平台。https://www.zabbix.com/, 具有非常多的自动化监控功能。对于NVMe SSD等磁盘来说,网上见到的监控普遍比较老,或者有些问题。在此分享一个自己写的脚本。并附上使用教程。

zabbix监控流程简介

测试环境
zabbix :4.2(server及agent均为4.2)
zabbix agent :4.2
zabbix agent(被监控的硬盘所在设备环境):centos7.4/python3.7
zabbix server (zabbix web及zabbix server所在服务器为lamp环境):centos7.4/MariaDB MariaDB Server5.5.60/PHP 5.4.16

以上列出来的都是要装的,zabbix环境如何这里暂时不做赘述。如有需要,另外收集反馈后通过文章解答。

Python脚本

#!/root/anaconda3/bin/python
#get result of iostat
#sys.argv[2] have to select from ['rrqmps', 'wrqmps', 'riops', 'wiops', 'rmbps', 'wmbs',    'avgrq-sz', 'avgqu-sz', 'await', 'rawait', 'wawait', 'svctm', 'util']

import subprocess
import sys
import re
resdir={}
res = subprocess.Popen('iostat -x -m 1 4', stdout=subprocess.PIPE, shell=True)
try:
    soures = res.communicate(timeout=3)
except subprocess.TimeoutExpired:
    res.kill()
    soures = res.communicate()
finalres = soures[0].decode().split('\n')
nvmelist = []
for elei in finalres:
    if re.match(sys.argv[1], elei) is not None:
        nvmelist.append(elei)
nvmeres=nvmelist[-1].split(' ')
while '' in nvmeres:
    nvmeres.remove('')
resname = ['device', 'rrqmps', 'wrqmps', 'riops', 'wiops', 'rmbps', 'wmbps','avgrq-sz', 'avgqu-sz', 'await', 'rawait', 'wawait', 'svctm', 'util']
resdir = dict(zip(resname, nvmeres))
x=sys.argv[2]
print(resdir[x])


脚本比较简单,费劲的是如何配置。

zabbix agent 端

  1. 上传脚本 iostatres.py to /etc/zabbix
  2. 编辑agent配置文件 /etc/zabbix/zabbix_agentd.conf
    在结尾添加下面这句话
    UserParameter=disk.iostat[*],/etc/zabbix/iostatres.py $1 $2
    修改权限
    AllowRoot=1
    修改timeout时间
    Timeout=10
  3. 重启zabbix-agent
    systemctl restart zabbix-agent

zabbix-server side

  1. 用zabbix-get先测下能不能用,下面192.168.28.176是agent的IP
zabbix_get -s 192.168.28.176 -k disk.iostat[nvme0n1,wmbps]
  1. 如果能拿到正确的数值,可以用fio跑个纯写之类的测试,看下带宽数据是不是能取上来
  2. 登录zabbix-web后台,添加或者建立模板,下面这是个监控device号为nvme0n1的模板。
  3. iostat-nvme0n1.xml
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值