zabbix低级自动发现(DDL)
文章目录
- 一、简介
- 1、什么叫低级自动发现DDL?
- 2、实现原理及其流程
- 二、获取变量名称
- 1、设置获取变量名脚本
- 2、添加监控key
- 3、添加自动发现规则
- 三、添加监控项
- 1、添加监控项
- 2、设置监控项原型
- 测试:
一、简介
1、什么叫低级自动发现DDL?
我们都知道zabbix可以通过写脚本来监控一切自己想要监控的东西,但当你想要监控项是灵活的会自增自减时,就可以使用低级自动发现解决这个问题。
例如:可以自动发现你有几块网卡相对应的网卡名称,此文档是已监控docker容器为例子,可以监控自增的docker容器。
官方解释
2、实现原理及其流程
实现原理:
首先需要一个脚本来获取需监控的变量
写一个脚本来获取变量名称
创建一个 自动发现规则 来获取变量名称(操作跟新增脚本监控项一致)。
再监控项内使用这种格式 {#DOCKERNAME} 的变量名称。
二、获取变量名称
1、设置获取变量名脚本
以获取docker容器名称为例子,参考一下shell脚本:
#!/bin/bashname=($(sudo docker ps -a|grep -v "CONTAINER ID"|awk '{print $NF}'))
printf '{'
printf '"data":['
for key in ${!name[@]}
do
if [[ "${#name[@]}" -gt 1 && "${key}" -ne "$((${#name[@]}-1))" ]];then
printf '{'
printf "\"{#DOCKERNAME}\":\"${name[${key}]}\"},"
else [[ "${key}" -eq "((${#name[@]}-1))" ]]
printf '{'
printf "\"{#DOCKERNAME}\":\"${name[${key}]}\"}"
fi
done
printf ']'
printf '}\n'
docker 容器的状态:
运行脚本获得的参数:
[root@zabbix-server1 ~]# ./docker_discovery2.sh
{"data":[{"{#DOCKERNAME}":"pedantic_faraday"},{"{#DOCKERNAME}":"objective_payne"},{"{#DOCKERNAME}":"crazy_clarke"},{"{#DOCKERNAME}":"sharp_snyder"}]}
注释:此脚本使用awk剪切docker容器的名称,再以字典的形式输出,必须要以这种格式 {“data”:[{"{#DOCKERNAME}":“变量”}]}
2、添加监控key
添加监控值:
[root@zabbix-server1 ~]# vi /etc/zabbix/zabbix_agentd.d/docker.conf
UserParameter=docker.discovery,sh /etc/zabbix/scripts/discover.sh
测试取值
注意:确保zabbix可以运行此脚本,可以使用 su -s 来测试,运行docker命令想要加入docker组,这里我加入了sudo 权限给zabbix。
[root@zabbix-server1 ~]# vi /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
zabbix ALL=NOPASSWD: ALL[root@zabbix-server1 ~]# su -s '/bin/bash' -c "/etc/zabbix/scripts/discover.sh" zabbix
此命令是使用zabbix用户来运行次脚本的意思。
使用zabbix_get 测试是否取值成功
[root@zabbix-server1 ~]# zabbix_get -s 192.168.2.66 -k docker.discovery
{"data":[{"{#DOCKERNAME}":"priceless_snyder"},{"{#DOCKERNAME}":"heuristic_jones"},{"{#DOCKERNAME}":"pedantic_faraday"},{"{#DOCKERNAME}":"objective_payne"},{"{#DOCKERNAME}":"crazy_clarke"},{"{#DOCKERNAME}":"sharp_snyder"}]}
3、添加自动发现规则
为什么添加自动发现规则?
因为这个自动发现规则会生成变量,可以在后面使用到。
三、添加监控项
1、添加监控项
到这一步才是真正的添加你想要的监控项
获取docker的状态:
[root@zabbix-server1 zabbix_agentd.d]# vi /etc/zabbix/zabbix_agentd.d/docker.conf UserParameter=docker-status[*],sudo docker inspect $1|grep Status|cut -d'"' -f 4#测试一下获取数据
[root@zabbix-server1 zabbix_agentd.d]# zabbix_get -s 192.168.2.1 -k docker-status["docker_name"]
2、设置监控项原型
测试:
成功后的截图:
在启动一个docker:
监控自动添加:
至此教学全部完毕,操作还是比较简单的,可以通过这种方法实现监控项的自动发现
zabbix低级自动发现(DDL)相关推荐
- zabbix学习4: 监控Java原理-zabbix性能优化-低级自动发现-zabbix api
文章目录 20: zabbix监控java jvm原理 21: zabbix性能优化 22: zabbix低级自动发现 23: zabbix api 20: zabbix监控java jvm原理 to ...
- zabbix通过自动发现功能实现自动识别网络设备接口
可是现在公司上线了一大批网络设备,如果要每个网络设备都做模板,添加item......那就该废了,于是迫于压力今天来测试使用zabbix的自动发现功能实现自动发现网络设备接口,并且自动获取接口的流量值 ...
- Zabbix通过自动发现监控端口
安装环境 Zabbix server和agent通过编译方式安装在服务器192.168.25.106上.Zabbix server/agent的安装目录为:/usr/local/zabbix. 创建脚 ...
- zabbix无法自动发现并监测华为AR路由器设备温度的解决办法
使用zabbix的Template Net Huawei VRP SNMPv2模板(zabbix6.2的华为监测模板为Huawei VRP SNMP)监测华为交换机和路由器的状态,在使用中发现自动发现 ...
- zabbix 监控项自动发现过滤_通过Zabbix的自动发现(规则)自动创建监控项
下图是一个已配置并启用的自动发现规则: 应用到165.194这个主机后,自动发现的监控项: 服务端配置创建Template 创建Discovery rule 键值readPorts跟被监控端配置的参数 ...
- Zabbix 神器——自动发现
1.添加搜索范围: 系统配置--自动发现--Create discovery rule 名称:就是一个规则的名字而已 IP地址段:就是这个规则搜索的IP段 Delay:搜索间隔,就是隔多久搜索一次 C ...
- Zabbix的自动发现
Zabbix自动发现是通过(1)网络扫描或(2)代理主动发现实现监控.本文主要介绍网络扫描的发现方式,并深入介绍底层监控项的主动发现功能. 网络发现(Discovery) 对于网络发现最需要理解的就是 ...
- zabbix怎么显示服务器流量,用zabbix的自动发现来获取交换机路由器等接口流量信息...
前言 笔者之前一直用zabbix监控服务器的各项状态,最近老板交待一项新工作,监控类似交换机.路由器之类的网络设备的接口流量.老板的要求就是职工的需求,立即开始监控准备工作.为了统一管理,决定还是使用 ...
- zabbix snmp 自动发现、自定义自动发现规则和监控项原型实现原理
自动发现(LLD)提供了一种在计算机上为不同实体自动创建监控项,触发器和图形的方法. 例如,Zabbix可以在你的机器上自动开始监控文件系统或网络接口,而无需为每个文件系统或网络接口手动创建监控项:还 ...
最新文章
- 直播 | 顾险峰教授讲座:对抗生成网络的几何理论解释
- APP投资 历史 十万到 十亿元的项目
- 【Windows 逆向】内存地址分析 ( 动态地址 | 静态地址 | 偏移量 )
- 数据扩展性探讨和总结--转
- 打破气球所能获得的最大积分 Burst Balloons
- Memcached学习---(3)Windows 下安装 Memcached
- AD19 add pins to nets错误_NGINX 502 Bad Gateway错误疑难解答
- pyqt5 getsavefilename 默认文件名_经Jerry编程小课堂之python如何安装PyQt5和QT Designer...
- 通过draggable实现布局_营销推广引流之百度霸屏内容详解 如何通过百度霸屏布局实现立体打法!...
- [第五组] 典型用户 +用例+功能说明书+技术说明书 2017.07.25版
- Win10x64安装Dolby
- mongoose时间自动转化为格林尼治标准时间的解决方案
- 食品生产设备用什么清洗消毒效果比较好?
- 知乎收藏数最高的1000个回答
- 【4. 扫描节点】 分布式漏洞扫描系统设计与实现
- mysql原理、索引、优化-【公司内部培训】
- Oracle修改数据库db_name
- php上传txt文件读取乱码
- 各种泵的图形符号_定量泵的图形符号
- 「UG/NX」Block UI RGB 颜色拾取器RGBColorPicker
热门文章
- java如何输出一个竖线_关于java:使用竖线字符(“|”)拆分字符串
- HTTPS 防范中间人攻击原理
- COMFORT 酒店 | 广州四季酒店溢彩闪耀节日颂
- C语言Python语言打印 ascii 表 乱码的原因,出现问号,无法打印心形
- mysql 同步 es_mysql数据实时同步到Elasticsearch
- css常用效果总结,《CSS揭秘》-总结47个Css技巧(三):视觉效果
- 易邮件群发大师 v3.00.505 免费
- python实验收获和反思_反思总结收获前行
- Samsung/三星I8558 Galaxy Win root教程_方法
- 转 码农提高工作效率