zabbix iostat 监控模板安装与配置


  1. 配置定时任务,用于生成iostat的统计数据

    crontab -e

    * * * * * /usr/local/zabbix327/bin/iostat-cron.sh

  2. 编辑 /usr/local/zabbix327/bin/iostat-cron.sh


    #!/bin/bash DEST_DATA=/tmp/iostat-data
    TMP_DATA=/tmp/iostat-data.tmp iostat -kx 10 2 > $TMP_DATA
    mv $TMP_DATA $DEST_DATA
  3. 添加执行权限

    # chmod +x iostat-cron.sh

  4. 编辑 /usr/local/zabbix327/bin/lld-iostat.sh

    #!/bin/bash
    
    DEVICES=`iostat | awk '{ if ($1 ~ "^([shxv]|xv)d[a-z]$") { print $1 } }'`
    
    COUNT=`echo "$DEVICES" | wc -l`
    INDEX=0
    echo '{"data":['
    echo "$DEVICES" | while read LINE; do
    echo -n '{"{#DEVNAME}":"'$LINE'"}'
    INDEX=`expr $INDEX + 1`
    if [ $INDEX -lt $COUNT ]; then
    echo ','
    fi
    done
    echo ']}'
  5. 添加执行权限

    # chmod +x lld-iostat.sh

  6. 编辑 /usr/local/zabbix327/bin/iostat.sh

    #!/bin/bash
    
    ZBX_REQ_DATA="$2"
    ZBX_REQ_DATA_DEV="$1" SOURCE_DATA=/tmp/iostat-data ERROR_NO_DATA_FILE="-0.9900"
    ERROR_OLD_DATA="-0.9901"
    ERROR_WRONG_PARAM="-0.9902"
    ERROR_MISSING_PARAM="-0.9903" if [ ! -f "$SOURCE_DATA" ]; then
    echo $ERROR_NO_DATA_FILE
    exit 1
    fi if [ -z "$ZBX_REQ_DATA_DEV" ]; then
    echo $ERROR_MISSING_PARAM
    exit 1
    fi OLD_DATA=5
    if [ $(stat -c "%Y" $SOURCE_DATA) -lt $(date -d "now -$OLD_DATA min" "+%s" ) ]; then
    echo $ERROR_OLD_DATA
    exit 1
    fi
    device_count=$(grep -Ec "^$ZBX_REQ_DATA_DEV " $SOURCE_DATA)
    if [ $device_count -eq 0 ]; then
    echo $ERROR_WRONG_PARAM
    exit 1
    fi case $ZBX_REQ_DATA in
    rrqm/s) grep -E "^$ZBX_REQ_DATA_DEV " $SOURCE_DATA | tail -1 | awk '{print $2}';;
    wrqm/s) grep -E "^$ZBX_REQ_DATA_DEV " $SOURCE_DATA | tail -1 | awk '{print $3}';;
    r/s) grep -E "^$ZBX_REQ_DATA_DEV " $SOURCE_DATA | tail -1 | awk '{print $4}';;
    w/s) grep -E "^$ZBX_REQ_DATA_DEV " $SOURCE_DATA | tail -1 | awk '{print $5}';;
    rkB/s) grep -E "^$ZBX_REQ_DATA_DEV " $SOURCE_DATA | tail -1 | awk '{print $6}';;
    wkB/s) grep -E "^$ZBX_REQ_DATA_DEV " $SOURCE_DATA | tail -1 | awk '{print $7}';;
    avgrq-sz) grep -E "^$ZBX_REQ_DATA_DEV " $SOURCE_DATA | tail -1 | awk '{print $8}';;
    avgqu-sz) grep -E "^$ZBX_REQ_DATA_DEV " $SOURCE_DATA | tail -1 | awk '{print $9}';;
    await) grep -E "^$ZBX_REQ_DATA_DEV " $SOURCE_DATA | tail -1 | awk '{print $10}';;
    svctm) grep -E "^$ZBX_REQ_DATA_DEV " $SOURCE_DATA | tail -1 | awk '{print $11}';;
    %util) grep -E "^$ZBX_REQ_DATA_DEV " $SOURCE_DATA | tail -1 | awk '{print $12}';;
    *) echo $ERROR_WRONG_PARAM; exit 1;;
    esac exit 0
  7. 添加执行权限

    # chmod +x iostat.sh

  8. 测试

    • 检查/tmp/下的文件:iostat-data、iostat-data.tmp 是否生成

    • 测试脚本在zabbix用户下是否执行正确:

      $ ./lld-iostat.sh

      $ ./iostat.sh hda w/s

  9. 编辑zabbix agentd 配置文件并增加自定义参数,包括 lld 参数以及监控参数

    UserParameter=custom.vfs.dev.discovery,/usr/local/zabbix327/bin/lld-iostat.sh

    UserParameter=iostat[*],/usr/local/zabbix327/bin/iostat.sh $1 $2

  10. 重启 zabbix_agentd

  11. 配置模板/导入模板

    1. Configuration/Templates, 点击Create template , 输入模板名称,并选择Groups,并保存

    2. 选择 Discovery rules,点击 Create discovery rule,填写必要信息后,进行保存

      • Name :Disk Devices
      • Key : custom.vfs.dev.discovery
      • Update interval: 60
    3. 选择 Discovery rules,并点击列表中的 Item prototypes , 点击 Create item prototype 按钮,配置完成后进行保存。

      • Name: $1 $2 /****** $1 表示Key的第一个参数 $2 表示Key的第二个参数 ***/
      • Key : iostat[{#DEVNAME},svctm]
      • Type of information: Numberic (float)
      • Applications: iostat
    4. 按以上方法依次配置以下Item prototype(只需修改Key的第二个参数):

      %util,rkB/s,avgqu-sz,await,wkB/s, w/s,avgrq-sz, rrqm/s, wrqm/s,r/s

  12. 根据需要配置Trigger prototypes

    选择Trigger prototypes tab,并点击Create trigger prototype,这里重点说明,Expression部分,

    点击 Add 按钮,在弹出的窗口,点击 Select prototype,选择监控项,然后配置其他项目。最后点击保存。

Zabbix iostat 监控配置的更多相关文章

  1. 05: zabbix 监控配置

    目录:zabbix其他篇 01: 安装zabbix server 02:zabbix-agent安装配置 及 web界面管理 03: zabbix API接口 对 主机.主机组.模板.应用集.监控项. ...

  2. 第3章Zabbix完整监控

    p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; t ...

  3. zabbix监控系列(3)之zabbix触发器格式配置

    前言 今天公司线上环境新添一个监控项,监控 一些日志的是否出现错误,有错误就及时报警,那么问题来了 ,报警必须告诉我们哪个日志有错误,这样才能够快速定位到哪个日志有问题. 配置 zabbix-agen ...

  4. zabbix web场景模拟监控配置

    一,zabbix2.2.3 VMware Vsphere exsi监控配置步骤, 1,添加监控主机 2,添加聚集macro;{$PASSWORD} = yoodo.com{$URL} = http:/ ...

  5. zabbix分布式监控系统安装配置

    zabbix简介: zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵 ...

  6. Zabbix监控配置

    Zabbix在线文档 https://www.zabbix.com/documentation/4.0/zh/manual/config/hosts 1.我们启动服务后,我们看到了端口都正在监听,但是 ...

  7. Zabbix的SNMPTrap监控配置

    SNMPTrap监控主要用于设备发生故障时的主动通知的监控.以下简单记录下Zabbix的SNMPTrap的配置方法. 一.SNMPTrap监控的处理流程说明 1.监控对象发送SNMPTrap信息到sn ...

  8. zabbix分布式监控服务 安装与配置

    zabbix安装与配置   一.什么是zabbix及优缺点(对比cacti和nagios) Zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存 ...

  9. zabbix监控配置一般流程

    目录 zabbix监控配置流程 1. 配置客户端 2. 配置监控 2.1 创建主机组 2.2 添加主机并加入主机组 2.3 添加监控项 2.3.1 模板的方式(不用添加触发器) 2.3.2 手动添加的 ...

随机推荐

  1. linux查询系统负载

    linux uptime命令主要用于获取主机运行时间和查询linux系统负载等信息.uptime命令过去只显示系统运行多久.现在,可以显示系统已经运行了多长时间,信息显示依次为:现在时间.系统已经运行 ...

  2. 机器学习:KNN-近邻算法

    一.理论知识 1.K近邻(k-Nearest Neighbor,简称KNN)学习是一种常用的监督学习. 工作机制:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个的信 ...

  3. 转 SSM框架整合to萌新

    作用: SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层 使用spring ...

  4. 神经网络与BP神经网络

    一.神经元 神经元模型是一个包含输入,输出与计算功能的模型.(多个输入对应一个输出) 一个神经网络的训练算法就是让权重(通常用w表示)的值调整到最佳,以使得整个网络的预测效果最好. 事实上,在神经网络 ...

  5. Django-url路由映射与views逻辑处理

    一.URL路由映射 路由映射模块,主要完成url与views视图函数的映射.当一个url请求到来时,会按照这个模块中的url地址从上到下进行匹配,如果匹配成功,将执行映射试图中的函数:反之将返回404 ...

  6. [Luogu5162]WD与积木(多项式求逆)

    不要以为用上Stirling数就一定离正解更近,FFT都是从DP式本身出发的. 设f[i]为i个积木的所有方案的层数总和,g[i]为i个积木的方案数,则答案为$\frac{f[i]}{g[i]}$ 转 ...

  7. MySQL主从复制(Replication)(MySQL数据同步)配置

    MySQL是开源的关系型数据库系统.复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的一个进程. 配置主服务器(mast ...

  8. Pycharm报错解决:error:please select a valid Python interpreter

    问题描述: 之前PC上安装的是Python2,后来工作需要转成Python3了.然后在用pycharm运行Python2的程序时发现源程序运行报错(出去语法错误) error:please selec ...

  9. Tasker to proximity screen off

    If you are using proximity screen off pro or smart screen off, you may know how convenient it is to ...

  10. ThinkPHP 数据库操作之数据表模型和基础模型 ( Model )

    一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: public function te ...