自学Zabbix9.4 zabbix low-level discover底层发现(zabbix批量部署必备)
自学Zabbix9.4 zabbix low-level discover底层发现(zabbix批量部署必备)
1、Low level discovery介绍
在配置Items的过程中,有时需要对类似的Items进行添加,这些Items具有一些共同的特性,表现为某些特定的参数是变量,而其他设置都是一样的。例如,一个程序有多个端口,需要对端口而皮质Items,再如磁盘分区、网卡的名称等,由于具有不确定性,故配置固定的Items出现无法通用的问题,因为在Zabbix2.0以后版本增加了Low level discovery功能。
Low level discovery的key可以对网卡、文件系统、SNMP OIDS进行自动发现,除此之外,还支持自定义功能。
2、使用Low level discover实现自动发现tcp端口并监控
2.1 定义发现脚本,输出结果需要是json格式
1 [root@zabbix alertscripts]# cat port_discovery.py
2 #!/usr/bin/env python
3 __author__ = 'chuck'
4 import os
5 import json
6 data = {}
7 tcp_list = []
8 port_list = []
9 command = os.popen("netstat -lntp|egrep -v 'tcp6|snmp|ssh|10050'|awk -F '[ :]+' 'NR>=3 {print $5}'")
10 for port in command:
11 port_list.append(port.strip())
12 for port in list(set(port_list)):
13 port_dict = {}
14 port_dict['{#TCP_PORT}'] = port
15 tcp_list.append(port_dict)
16 data['data'] = tcp_list
17 jsonStr = json.dumps(data, sort_keys=True, indent=4)
18 print jsonSt
执行发现脚本,获取当前使用的tcp端口
[root@zabbix alertscripts]# python port_discovery.py
{
"data": [
{
"{#TCP_PORT}": ""
},
{
"{#TCP_PORT}": ""
},
{
"{#TCP_PORT}": ""
},
{
"{#TCP_PORT}": ""
},
{
"{#TCP_PORT}": ""
}
]
}
2.2 配置端口发现的配置文件
此步操作需要在agent主配置文件打开UserParameter=1
1 [root@zabbix alertscripts]# cat ../zabbix_agentd.d/all_port.conf
2 UserParameter=tcpportlisten,sudo python /etc/zabbix/alertscripts/port_discovery.py
2.3 使用zabbix_get远程获取自动发现结果
1 [root@zq-salt-zabbix alertscripts]# zabbix_get -s 10.4.200.2 -k tcpportlisten
2 {
3 "data": [
4 {
5 "{#TCP_PORT}": ""
6 },
7 {
8 "{#TCP_PORT}": ""
9 },
10 {
11 "{#TCP_PORT}": ""
12 },
13 {
14 "{#TCP_PORT}": ""
15 },
16 {
17 "{#TCP_PORT}": ""
18 }
19 ]
20 }
2.4 问题提示
此时可能出现you must have a tty to run sudo报错提示,将zabbix用户加入到sudo管理中,注释Defaults requiretty即可。
2.5 zabbix主界面添加自动发现模板
Configuration ==》create template
选择Discovert rules==》create Discovert rules

2.6 zabbix主界面创建Item prototypes
选择Item prototypes==》创建Item prototypes 
2.7 zabbix主界面创建Trigger prototypes
创建Trigger prototypes ==》create Trigger prototypes 



自学Zabbix9.4 zabbix low-level discover底层发现(zabbix批量部署必备)的更多相关文章
- (63)zabbix low-level discover zabbix批量部署必备
1. 概述 <zabbix发现配置>server通过配置好的规则,自动添加host.group.template <zabbix Active agent自动注册>与disco ...
- Zabbix监控Low level discovery实时监控网站URL状态
今天我们来聊一聊Low level discovery这个功能,我们为什么要用到loe level discovery这个功能呢? 很多时候,在使用zabbix监控一些东西,需要对类似于Itens进行 ...
- 自学Zabbix9.2 zabbix网络发现规则配置详解+实战
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix9.2 zabbix网络发现规则配置详解+实战 1. 创建网络发现规则 Conf ...
- zabbix监控redis多实例(low level discovery)
对于多实例部署的tomcat.redis等应用,可以利用zabbix的low level discovery功能来实现监控,减少重复操作. 注:Zabbix版本: Zabbix 3.0.2 一.服务 ...
- 自学Zabbix9.3 zabbix客户端自动注册
自学Zabbix9.3 zabbix客户端自动注册 1. 概述 网络自动发现配置,只要就是zabbix server去扫描一个网段,把在线的主机添加到Host列表中.但是Active agent是主动 ...
- zabbix(10)自动发现规则(low level discovery)
1.概念 在配置Iterms的过程中,有时候需要对类似的Iterms进行添加,这些Iterms具有共同的特征,表现为某些特定的参数是变量,而其他设置都是一样的,例如:一个程序有多个端口,而需要对端口配 ...
- Solr实现Low Level查询解析(QParser)
Solr实现Low Level查询解析(QParser) Solr基于Lucene提供了方便的查询解析和搜索服务器的功能,可以以插件的方式集成,非常容易的扩展我们自己需要的查询解析方式.其中,Solr ...
- C++ Low level performance optimize 2
C++ Low level performance optimize 2 上一篇 文章讨论了一些底层代码的优化技巧,本文继续讨论一些相关的内容. 首先,上一篇文章讨论cache missing的重要性 ...
- 使用Java Low Level REST Client操作elasticsearch
Java REST客户端有两种风格: Java低级别REST客户端(Java Low Level REST Client,以后都简称低级客户端算了,难得码字):Elasticsearch的官方low- ...
随机推荐
- NOIP2002-2017普及组题解
虽然普及组一般都是暴力省一,但是有一些题目还是挺难的qwq个人觉得能进TG的题目会在前面打上'*' NOIP2002(clear) #include<bits/stdc++.h> usin ...
- Trusted Block Chain Summit(2018.10.09)
时间:2018.10.09地点:北京金隅喜来登大酒店
- WPF模拟探照灯文字
原文:WPF模拟探照灯文字 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/yangyisen0713/article/details/1835936 ...
- IOC框架之Ninject 简介
还是那几句话: 学无止境,精益求精 十年河东,十年河西,莫欺少年穷 学历代表你的过去,能力代表你的现在,学习代表你的将来 上篇博客介绍了依赖注入的三种方式:构造方法注入,属性注入,接口注入!详情请参考 ...
- 浅谈MySQL引擎(纯个人理解,如有错误请指正)
MySQL有很多引擎,MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(BerkeleyDB).EXAMPLE.FEDERATED...等等 比较常用的就是InnoDB和MyI ...
- [Spark][Python]PageRank 程序
PageRank 程序: file contents: page1 page3page2 page1page4 page1page3 page1page4 page2page3 page4 def c ...
- 「Fluent Python」今年最佳技术书籍
Fluent Python 读书手记 Python数据模型:特殊方法用来给整个语言模型特殊使用,一致性体现.如:__len__, __getitem__ AOP: zope.inteface 列表推导 ...
- Name方法
重命名磁盘文件.目录或文件夹. 语法 Name 旧路径名称 As 新路径名称 “Name”**** 语句语法包含以下部分: 部分 说明 旧路径名称 必需. 字符串表达式,指定现有的文件名和位置;可能包 ...
- taro之React Native 端开发研究
初步结论:如果想把 React Native 集成到现有的原生项目中,不能使用taro的React Native 端开发功能(目前来说不能实现,以后再观察). RN开发有2种模式: 1.一是原生A ...
- Linux内核分析— —扒开系统调用的三层皮(上)
实验部分 根据系统调用表,选取一个系统调用.我选得是mkdir这个系统调用,其系统调用号为39,即0x27 由于mkdir函数的原型为int mkdir (const char *filename, ...