Zabbix学习(十七)zabbix low-level discover zabbix批量部署必备
1.概述
《zabbix自动发现》server通过配置好的规则,自动添加host、group、template
《zabbix Active agent自动注册》与discovery相反,功能基本相同,active联系server,server自动添加host、group、template
以上目的都是发现host、添加host,本文的low-level discovery更底层点,用于发现item、trigger、graph等等。我们最常用如:filesystem(如/、/home、/proc、 C:、D:等),network(eth0,eth1等)
2. Discovery之文件系统
众多服务器,难免系统以及分区会有所不同。一般存在linux和windows两种系统,linux下分区有/、/data、/proc等等,windows有C:D:E:等,A服务器有/data分区,B服务器可能有/site分区。他有什么分区,我便监控什么分区,这就是low-level discovery的功能。
2.1 创建模板
创建模板A_Template_For_Discovery,…..过程省略….
2.2 配置discovery规则
configuration>>templates>>找到模板“A_Template_For_Discovery”>>Discovery(0)>>Create discovery rule
属性说明:
Keep lost resources period(in days):数据保留天数,默认30天
Fileter:Macro为{#FSNAME},key “vfs.fs.discovery”返回json数据列表,里面内容为{#FSNAME}作为key,/、/data、C:等等作为value。 regext可以使用表达式,例如”^/data|/C:”,如果想通过{#FSTYPE}来过滤,那么Macro写{#FSTYPE},regexp写 ^(ext2|ext3|swap)$,或者引入zabbix中定义好的的正则表达式,@表达式名称。关于《zabbix正则表达式》请继续关注 ttlsa。
2.3 创建Item prototypes
其实就是一个创建一个item,configuration>>templates>>找到模板 “A_Template_For_Discovery”>>Discovery(1)>>find file system>>Item prototypes (0)>>create Item prototypes
2.4 创建Trigger
当剩余量小于20%触发warnning
configuration>>templates>>找到模板 “A_Template_For_Discovery”>>Discovery(1)>>find file system>>Trigger prototypes (0)>>Create trigger prototypes
与普通的trigger区别在{#FSNAME}
2.4 创建graph
绘制简单图表
configuration>>templates>>找到模板 “A_Template_For_Discovery”>>Discovery(1)>>find file system>>Graph prototypes (0)>>Create Graph prototypes
3. 自定义LLD规则
系统已经内建了文件系统的{#FSNAME},网络的{#IFNAME},因为业务的特殊性,我们如何定义我们自己需要的名称呢?
编写脚本,脚本输出json数据,包含key和value
脚本加入zabbix_agentd.conf UserParameter
重启zabbix_agentd
使用定义好的名称配置low-level discovery
3.1 脚本范例
#!/usr/bin/perl $first = 1; print "{\n"; print "\t\"data\":[\n\n"; for (`cat /proc/mounts`) { ($fsname, $fstype) = m/\S+ (\S+) (\S+)/; $fsname =~ s!/!\\/!g; print "\t,\n" if not $first; $first = 0; print "\t{\n"; print "\t\t\"{#FSNAME}\":\"$fsname\",\n"; print "\t\t\"{#FSTYPE}\":\"$fstype\"\n"; print "\t}\n"; } print "\n\t]\n"; print "}\n";
3.2 结果范例
执行后得到如下数据,是json格式
{ "data":[ { "{#FSNAME}":"\/", "{#FSTYPE}":"rootfs" } , { "{#FSNAME}":"\/proc", "{#FSTYPE}":"proc" } , { "{#FSNAME}":"\/sys", "{#FSTYPE}":"sysfs" } , { "{#FSNAME}":"\/dev", "{#FSTYPE}":"devtmpfs" } , { "{#FSNAME}":"\/dev\/pts", "{#FSTYPE}":"devpts" } , { "{#FSNAME}":"\/dev\/shm", "{#FSTYPE}":"tmpfs" } , { "{#FSNAME}":"\/", "{#FSTYPE}":"ext4" } , { "{#FSNAME}":"\/proc\/bus\/usb", "{#FSTYPE}":"usbfs" } , { "{#FSNAME}":"\/proc\/xen", "{#FSTYPE}":"xenfs" } , { "{#FSNAME}":"\/proc\/sys\/fs\/binfmt_misc", "{#FSTYPE}":"binfmt_misc" } ] }
本文转自:http://www.ttlsa.com/zabbix/zabbix-low-level-discover/
转载于:https://blog.51cto.com/kaibinyuan/1630364
Zabbix学习(十七)zabbix low-level discover zabbix批量部署必备相关推荐
- zabbix企业应用之low level discovery监控mysql
之前介绍了使用zabbix监控固定3306端口的mysql(文章地址为http://dl528888.blog.51cto.com/2382721/1346590),有个不好的地方是只能监控固定的33 ...
- zabbix企业应用之low level discovery监控磁盘吞吐量与iops
最近比较忙,所以很久没有写博客了,现在分享一下如何使用lld来监控磁盘的吞吐量与iops. 之前使用zabbix监控磁盘的时候,都是固定的磁盘,比如sda.sdb什么的,然后不同监控磁盘名做不同的模板 ...
- zabbix学习笔记——入门篇
目录 一.了解监控 监控的种类 二.zabbix监控 1.介绍zabbix 2.为什么选择zabbix 3.Zabbix可监控对象 4.zabbix监控方式 1.被动监控 2.主动监控 5.zabbi ...
- zabbix学习小结
一.zabbix是干什么的? zabbix主要用来做监控.监控什么呢?比如日常巡检的CPU.内存.磁盘.swap交换分区和各端口进程等. 以往日常巡检,通过df -h命令获得磁盘的使用 ...
- Zabbix学习笔记(六)Zabbix的APi使用
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 1.Zabbix API 3.获取tokens 4.实例 4.1获取主机组ID 4.2 获取监控模板ID 4.3 创建主机 ...
- Zabbix学习小结-----介绍
最近在学习Zabbix的使用,大概看了有两天左右吧.现在把这两天操作的内容总结一下.大概分以下三块内容: Zabbix的介绍,Centos7安装zabbix服务端,windows Server安装za ...
- 性能监控工具Zabbix学习笔记
文章目录 理论介绍 基础架构 和Prometheus的对比 Zabbix安装 准备工作 配置yum源 安装Zabbix 配置Zabbix 启动Zabbix 基础功能使用 新增主机 创建监控项 创建触发 ...
- 13.zabbix学习笔记:zabbix监控之短信报警
zabbix学习笔记:zabbix监控之短信报警 zabbix的报警方式有多种,除了常见的邮件报警外,特殊情况下还需要设置短信报警和微信报警等额外方式.本篇文章向大家介绍短信报警. 短信报警设置 短信 ...
- 【zabbix学习笔记之二】部署zabbix-server端
创建.导入zabbix数据库 cd /usr/local/src #进入软件包下载目录 tar zxvf zabbix-2.2.6.tar.gz #解压 cd /usr/local/src ...
- zabbix学习笔记(4)
部署分布式监控系统 1 分布式监控的介绍 1.1 场景 互联网业务公司: 服务器地域容灾,服务器异地部署[托管价格,带宽费用,南北方网络差异] 云计算提供场景: 海量机器来自不同地域,源源不断的机器加 ...
最新文章
- Javascript创建节点
- sap.ui.require in SAP UI5 and require in nodejs
- 随笔--互联网进化论
- oracle10g rac启动,ORACLE 10G RAC启动与关闭
- nginx配置文件中参数的作用
- mysql 闪回_MySQL数据误删除的快速解决方法(MySQL闪回工具)
- 修改 JSON 对象的值
- 新计算 新网络 新旗舰:华为云C6实例首测
- php抽象类初始化方法,php – 抽象类方法声明
- Ubuntu下安装配置Phabricator
- eclipse设置代码自动提示
- 黑莓9900 java应用,黑莓9900怎么用 黑莓9900使用技巧【图文详解】
- 编程篇(002)-js实现一个打点计时器
- 智能家居新体验:什么样的数据让语音交互更智慧
- 学习Lua碰到的问题、踩坑记录
- ppp lcp协商报文有哪些_课后分享PPP协议第十三周
- 找准边界,吃定安全 | 高性能硬件防御问题难解?硬件加速引擎闪亮登场
- ip中继对接_【关关闯关】AR和Cisco 2900通过SIP IP中继对接案例
- Linux开发工具3
- python十进制转化为二进制
热门文章
- 异常:操作可能会破坏运行时稳定性
- Bnuoj-29359 Deal with numbers 线段树
- CSS3中(2D、3D、动画)重点整理
- 设计模式(十): 代理模式
- spring-mvc+freemarker整合(sonne_game网站开发03)
- BZOJ 2431: [HAOI2009]逆序对数列( dp )
- android---gettag()与settag()的妙用
- 转:linux中select()函数分析
- [python 译] 基于面向对象的分析和设计
- 禁止浏览器缓存input值