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. 牛客网 江西财经大学第二届程序设计竞赛同步赛 D.绕圈游戏-(跳青蛙游戏)找数的所有因子就可以了

    链接:https://ac.nowcoder.com/acm/contest/635/D来源:牛客网 D.绕圈游戏 433为了帮ddd提升智商,决定陪他van特殊的游戏.433给定一个带有n个点的环, ...

  2. Spring Boot使用Log4j Implemented Over SLF4J生成日志并在控制台打印

    Spring Boot设置切面,执行方法的时候在控制台打印出来,并生成日志文件 引入依赖: <!--日志--> <dependency> <groupId>org. ...

  3. IE访问历史记录恢复工具pasco

    IE访问历史记录恢复工具pasco IE浏览器会自动记录用户访问网站的操作,并将这些信息保存在IE缓存中的index.dat文件中.通过分析这些历史记录,可以还原用户行为.为了便于数字取证,Kali ...

  4. 富文本插件KindEditor

    具体用法查看官网http://kindeditor.net/doc.php {% load staticfiles %} <!DOCTYPE html> <html lang=&qu ...

  5. 【WIN10】使用VS生成appx安裝包,並安裝測試

    就算沒有微軟開發者帳號,我們也是可以創建appx的. 只不過有了帳號,我們可以把這個APPX與商店中的應用關聯,並上傳,方便許多罷了. 下面就說步驟: 1.生成appx 1)菜單:項目->應用商 ...

  6. [BZOJ5298][CQOI2018]交错序列(DP+矩阵乘法)

    https://blog.csdn.net/dream_maker_yk/article/details/80377490 斯特林数有时并没有用. #include<cstdio> #in ...

  7. phalcon Model 'partitions' could not be loaded(模型不支持分区语句)

    注意: 很明确提示用phalcon自带的模型层是不能用partition这个关键字的 解决方法: 自己写个PDO类 然后用pdo中的query方法执行语句成功: mysql分区目的 是减少数据库的负担 ...

  8. VC6配置sqlite数据库

    SQLite官方下载只提供给我们一个sqlite3.dll跟一个sqlite3.def文件,并没有提供用于VC++6.0的lib文件,可以利用sqlite3.def文件生成,步骤如下: 1.下载DLL ...

  9. CGI 、PHP-CGI、FASTCGI、PHP-FPM

    CGI是干嘛的? CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者.web server(比如说nginx)只是内容的分发者.比如,如果请求的是/index/ht ...

  10. 最小生成树-克鲁斯卡尔算法(kruskal's algorithm)实现

    算法描述 克鲁斯卡尔算法是一种贪心算法,因为它每一步都挑选当前最轻的边而并不知道全局路径的情况. 算法最关键的一个步骤是要判断要加入mst的顶点是否会形成回路,我们可以利用并查集的技术来做. 并查集的 ...