Zabbix实战-简易教程--低层次发现(LLD)

一、概述

自动发现(LLD)提供了一种在为不同实体自动创建监控项,触发器和图形的方法。例如,Zabbix可以在你的机器上自动监控磁盘或网卡,而无需为每个磁盘或网卡手动创建监控项。(LLD)

此外,可以配置Zabbix根据定期执行发现后的得到实际结果,来移除不需要的监控项。(根据正则过滤)

二、类型

在Zabbix中,支持六种类型的发现项目:

  • 系统文件的发现;
  • 网络接口的发现;
  • CPU和CPU内核的发现
  • SNMP OID的发现
  • 使用ODBC SQL查询的发现
  • Windows服务的发现

三、流程

发现过程的流程如下。

首先,用户在“配置”→“模板”→“自动发现”列中创建一个发现规则。发现规则包括(1)发现必要实体(例如,磁盘或网卡)的项目和(2)应该根据该项目的值创建的监控项,触发器和图形的原型。

其次,用户也可以自己定义发现类型,只要它们遵循特定的JSON协议。

四、查看自带LLD

1、我们先查看系统自带的LLD,选择  模板管理-->自动发现

2、查看到,系统自带的2个LLD

3、随便点击一个,比如,我们点击文件系统的这个

4、查看具体监控项

需要说的是:{#FSNAME}为宏变量,宏变量,我们之前已经说过,请参考:http://www.cnblogs.com/skyflask/p/7523535.html

五、自定义LLD

流程:(比如采集linux机器上所有磁盘IO)

1、自定义key

UserParameter=custom.vfs.dev.discovery,/bin/sh /etc/zabbix/externalscripts/disk.sh

cat  /etc/zabbix/externalscripts/disk.sh

#!/bin/bash
diskarray=(`cat /proc/diskstats |grep -E "\bvd[a-z]\b|\bhd[a-z]\b|\bsd[a-z]\b|\bc0d0p[0-9]\b"|grep -i "\b$1\b"|awk ‘{print $3}‘|sort|uniq   2>/dev/null`)
length2=${#diskarray[@]}
printf "{\n"
printf  ‘\t‘"\"data\":["
for ((i=0;i<$length2;i++))
do
    printf ‘\n\t\t{‘
    printf "\"{#DISK}\":\"${diskarray[$i]}\"}"
    if [ $i -lt $[$length2-1] ];then
            printf ‘,‘
    fi
done
printf  "\n\t]\n"
printf "}\n"

  

2、设置item

# reads completed successfully
UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | egrep $1 | head -1 | awk ‘{print $$4}‘
# sectors read
UserParameter=custom.vfs.dev.read.sectors[*],cat /proc/diskstats | egrep $1 | head -1 | awk ‘{print $$6}‘
# time spent reading (ms)
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | egrep $1 | head -1 | awk ‘{print $$7}‘
# writes completed
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | egrep $1 | head -1 | awk ‘{print $$8}‘
# sectors written
UserParameter=custom.vfs.dev.write.sectors[*],cat /proc/diskstats | egrep $1 | head -1 | awk ‘{print $$10}‘
# time spent writing (ms)
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | egrep $1 | head -1 | awk ‘{print $$11}‘
# I/Os currently in progress
UserParameter=custom.vfs.dev.io.active[*],cat /proc/diskstats | egrep $1 | head -1 | awk ‘{print $$12}‘
# time spent doing I/Os (ms)
UserParameter=custom.vfs.dev.io.ms[*],cat /proc/diskstats | egrep $1 | head -1 | awk ‘{print $$13}‘#IOPSUserParameter=custom.vfs.dev.util[*],iostat -x -d -c 1 1|egrep $1|awk ‘{print $NF}‘

3、设置模板

上面忘记说了,我们还可以对发现的磁盘通过正则进行过滤,正则详情参考:http://www.cnblogs.com/skyflask/p/7520829.html

4、绑定主机

最后,选定一台主机,将模板绑到他上面,就可以看到效果了:

时间: 2024-10-09 07:55:30

Zabbix实战-简易教程--低层次发现(LLD)的相关文章

Zabbix实战-简易教程--动作(Actions)--自动发现

一.概述 Zabbix提供了有效和非常灵活的网络自动发现功能. 设置网络发现后你可以: 加快Zabbix部署(自动添加主机.添加模板) 简化管理(自动删除主机.删除模板.禁用主机) 无需过多管理就能在快速变化的环境中使用Zabbix Zabbix可以根据以下条件自动发现设备: IP范围(根据IP网段.指定IP地址发现主机) 可用的外部服务(FTP,SSH,WEB,POP3,IMAP,TCP等) 来自 zabbix agent 的信息(仅支持未加密模式) 来自 snmp agent 的信息 Zab

Zabbix实战-简易教程--中间件ZooKeeper监控

一.监控思路 通过zabbix trapper方式监控,之前看到网友们都是通过定时任务进行主动上传数据,但是,zabbix还有另外一神器--自动发现,也能达到同样的功能. 二.实现步骤 1.准备脚本 https://github.com/loveqx/zabbix-doc/blob/master/zabbix-scripts/zabbix-template-zookeeper/zookeeper-monitor-lld.py 2.安装依赖包 #Centos6 rpm -ivh http://re

zabbix实战-简易教程(1)

玩zabbix已经几年了,一直准备分享一些相关的使用心得,但是总是因为各种借口而拖延,最近准备重新整理,记录一些实际工作环境中的示例,希望能够帮助正在学习或者正在寻找这方面资料的朋友,也算是对自己学习的一些记录吧. 以下是大概内容: ====================一.总流程===================== 环境安装->添加hosts/items/模板->获取items->入库.存档->对比触发器阈值->触发报警->执行动作->触发器阈值恢复正常

Zabbix实战-简易教程--正则(Regxp)

一.正则表达式(Regx) 1.概述 正则表达式概念就不解释了.请参考:https://en.wikipedia.org/wiki/Regular_expression#POSIX_extended 在zabbix中,正则表达式经常使用的地方应该就是LLD,比如,你发现的网卡或磁盘有一大堆,但是有一些不是你想要的.比较典型的比如lo(回环地址),VLAN.Tunnel.InLoopBack0.NULL0等交换机网口,这时,你就可以通过正则表达式进行过滤掉. 2.配置 1.点击 基础配置 2.选择

Zabbix实战-简易教程--业务类

一.需求 项目要求对线上服务器进行监控,包括服务器本身状态.进程相关数据.业务相关数据. 服务器本身状态可以通过基础模板即可获取数据(CPU.内存.网络.磁盘): 进程相关数据,前面也有相关文章专门监控http://www.cnblogs.com/skyflask/articles/8007162.html 所以只剩下业务相关数据了.而业务数据需要紧贴业务,所以需要程序那边提供接口,把数据吐出来,然后我这边接受获取,进行监控. 于是,向程序提出需求,将你要监控的业务数据以json格式吐出来,剩下

Zabbix实战-简易教程--动作(Actions)--自动注册

一.概述 之前已经讲述了自动发现功能,自动注册和自动发现非常类似,但是比自动发现更精确.因为自动注册,是在Agent上自定义元数据,然后Agent将元数据发送给server进行匹配,如果匹配一致,则进行下一步的动作(添加主机.模板之类的操作),所以从流程上来说,主动注册比自动发现更加精确. 二.配置 1.指定服务器 在agent配置文件中指定Zabbix server - zabbix_agentd.conf ServerActive=1.0.0.1 如果你没有在zabbix_agentd.co

Zabbix实战-简易教程--宏变量(Macro)

一.概述 Zabbix支持许多在多种情况下使用的宏.宏是一个变量,由如下特殊语法标识:MACRO 有效地使用宏可以节省时间,并使Zabbix变地更加高效. 在一个的典型用途中,宏可以用于模板中.因此,模板的触发器可能命名为"{HOST.NAME}的mysql{#MYSQLPORT} 端口已宕掉,请注意查看!". 当这个模板应用在主机( 飞龙在天roledb-192.168.1.100)时,并且当触发器展示在监控页面上时,触发器的名称将解析为"飞龙在天roledb-192.16

Zabbix实战-简易教程--排错(持续收集中)

一.安装错误 1.zabbix 安装故障之无法跳到下一步 执行命令:chownnginx:nginx /var/lib/php/session/ -R 2.proxy上无法采集交换机数据 yum install net-snmp net-snmp-utils 3.2.2.4升级到3.0,提示缺少参数HistoryIndexCacheSize 21076:20160714:115534.776 [file:dbcache.c,line:2610] zbx_mem_realloc(): please

Zabbix实战-简易教程--告警屏蔽(Maintenances)

Zabbix Maintenance 一.Zabbix Maintenance(zabbix告警屏蔽) 很多时候,我们需要在某段时间更新维护线上环境,这个时候你是已知触发器会引发报警,所以此时你可以提前通过zabbix的维护模式来进行主动屏蔽报警. 配置也很简单,下面就进行详细讲解: 1.选择 配置管理-->告警屏蔽 2.创建,点击 创建维护区间 3.设置--告警屏蔽全局设置 4.设置--维护时长 5.设置--维护对象 6.效果图 总结: 1.处于维护中的主机,告警信息还是会报出来,但是不会触发