点击返回:自学Zabbix之路

点击返回:自学Zabbix4.0之路

点击返回:自学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批量部署必备)的更多相关文章

  1. (63)zabbix low-level discover zabbix批量部署必备

    1. 概述 <zabbix发现配置>server通过配置好的规则,自动添加host.group.template <zabbix Active agent自动注册>与disco ...

  2. Zabbix监控Low level discovery实时监控网站URL状态

    今天我们来聊一聊Low level discovery这个功能,我们为什么要用到loe level discovery这个功能呢? 很多时候,在使用zabbix监控一些东西,需要对类似于Itens进行 ...

  3. 自学Zabbix9.2 zabbix网络发现规则配置详解+实战

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix9.2 zabbix网络发现规则配置详解+实战 1.  创建网络发现规则 Conf ...

  4. zabbix监控redis多实例(low level discovery)

    对于多实例部署的tomcat.redis等应用,可以利用zabbix的low level discovery功能来实现监控,减少重复操作.  注:Zabbix版本: Zabbix 3.0.2 一.服务 ...

  5. 自学Zabbix9.3 zabbix客户端自动注册

    自学Zabbix9.3 zabbix客户端自动注册 1. 概述 网络自动发现配置,只要就是zabbix server去扫描一个网段,把在线的主机添加到Host列表中.但是Active agent是主动 ...

  6. zabbix(10)自动发现规则(low level discovery)

    1.概念 在配置Iterms的过程中,有时候需要对类似的Iterms进行添加,这些Iterms具有共同的特征,表现为某些特定的参数是变量,而其他设置都是一样的,例如:一个程序有多个端口,而需要对端口配 ...

  7. Solr实现Low Level查询解析(QParser)

    Solr实现Low Level查询解析(QParser) Solr基于Lucene提供了方便的查询解析和搜索服务器的功能,可以以插件的方式集成,非常容易的扩展我们自己需要的查询解析方式.其中,Solr ...

  8. C++ Low level performance optimize 2

    C++ Low level performance optimize 2 上一篇 文章讨论了一些底层代码的优化技巧,本文继续讨论一些相关的内容. 首先,上一篇文章讨论cache missing的重要性 ...

  9. 使用Java Low Level REST Client操作elasticsearch

    Java REST客户端有两种风格: Java低级别REST客户端(Java Low Level REST Client,以后都简称低级客户端算了,难得码字):Elasticsearch的官方low- ...

随机推荐

  1. C# 双击ListView出现编辑框可编辑,回车确认

    原文:C# 双击ListView出现编辑框可编辑,回车确认 //获取鼠标点击的项------API [DllImport("user32")] public static exte ...

  2. Ionic App之国际化(2) json数组的处理

    在Ionic App值国际化(1)中我们实现了对单个参数的多语言处理,下面开始如何进行数组的处理. 1.在我们的多语言文件中设置要访问的json数组,en.json和zh.json,此处就以en.js ...

  3. EZ 2018 06 24 NOIP2018 模拟赛(二十)

    很久之前写的一套题了,由于今天的时间太多了,所以记起来就写掉算了. 这一场尽管T2写炸了,但也莫名Rank4涨了Rating.不过还是自己太菜. A. 环游世界 首先我们先排个序,想一下如果不用走回来 ...

  4. [Spark][Python]spark 从 avro 文件获取 Dataframe 的例子

    [Spark][Python]spark 从 avro 文件获取 Dataframe 的例子 从如下地址获取文件: https://github.com/databricks/spark-avro/r ...

  5. centos7 清除系统日志、历史记录(包括history)、登录信息

    history: # echo > .bash_history //清除保存的用户操作历史记录 # history -cw //清除所有历史 centos7 清除系统日志.历史记录.登录信息: ...

  6. .net core实践系列之短信服务-Sikiro.SMS.Api服务的实现

    前言 上篇<.net core实践系列之短信服务-架构设计>介绍了我对短信服务的架构设计,同时针对场景解析了我的设计理念.本篇继续讲解Api服务的实现过程. 源码地址:https://gi ...

  7. Zabbix实战-简易教程--DB类--ClickHouse

    一.ClickHouse介绍 Clickhouse是一个用于联机分析处理(OLAP)的列式数据库管理系统(columnar DBMS). 传统数据库在数据大小比较小,索引大小适合内存,数据缓存命中率足 ...

  8. week3个人作业

    一.必应词典的bug 必应词典占用资源过多,作为后台软件,必应词典的内存占用是其他的四五倍 适应能力弱,经常与其他软件冲突,兼容性差 二.分析 根据我的分析,团队人数6人左右,计算机大学毕业生,并有专 ...

  9. Mooc总结——Linux内核分析

    朱荟潼+ 原创作品转载请注明出处 :<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 学习笔记链接汇总 第 ...

  10. Ajax写成绩批量录入

    1.jsp,ajax的循环调用,必须要递归,否则会出错. <%@ page language="java" import="java.util.*" pa ...