自学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- ...
随机推荐
- Redis_简单使用
可基于内存也可持久化的Key-Value(字典, Remote Dictionary Server,远程字典服务器)数据库. 客户端:http://redis.io/clients 命令:http:/ ...
- javascript DOM操作中的insertAdjacentHTML方法
插入HTML内容与文本内容以前用的是innerHTML与innerText方法,今天看到insertAdjacentHTML和 insertAdjacentText两个API,特地学习一下: inse ...
- cross-env简介
是什么 运行跨平台设置和使用环境变量的脚本 出现原因 当您使用NODE_ENV =production, 来设置环境变量时,大多数Windows命令提示将会阻塞(报错). (异常是Windows上的B ...
- 个人博客作业-Week2 (代码规范, 代码复审)
代码规范: 1.这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西. 编码规范它包含了代码格式,还包括了编码风格和其他规范,通常涉及:缩进.空格使用.Tab使用 注释. ...
- 《Linux内核分析》实践2
<Linux及安全>实践2 一.Linux基本内核模块 1.1什么是内核模块 linux模块是一些可以作为独立程序来编译的函数和数据类型的集合.之所以提供模块机制,是因为Linux本身是一 ...
- Linux内核分析作业六
1.阅读理解task_struct数据结构 2.分析fork函数对应的内核处理过程sys_clone,理解创建一个新进程如何创建和修改task_struct数据结构: fork进程的代码 #inclu ...
- 读书笔记(chapter7)
第七章 链接 链接是将各种代码和数据部分收集起来并且组合成为一个单一文件的过程.1.这个文件可被加载到存储器并执行:2.也可以执行于加载时,也就是在程序被加载器加载到存储器并执行:3.甚至可以执行于运 ...
- 20135337——实践一:Linux基础配置
一.配置系统,权限中简单梳理遇到的问题 1.Ubuntu中root和普通用户相互切换 1.从user用户切换到root用户 执行:sudo su 2.从root用户切回user用户 执行:su use ...
- Beta版发布说明
我们的作品“校友聊”软件的最终版本于6月19日最终发布了,下面我们将对自己的产品进行介绍. 在使用之前,首先要进行用户注册,用户可以自行设置自己的账号,姓名,密码,签名,头像等信息,头像信息也可以在文 ...
- js实现树形内容展示
1.首先这里有一个demo,里边有封装好的js文件.地址:http://files.cnblogs.com/files/feifeishi/dtree.zip 2.直接上代码 <div styl ...