以kafka为例,需要先对 topic-parttion 做发现,脚本如下

cat topic_parttion_discovery.py

#!/usr/bin/env python
import json
import os cmd=os.popen("""sh /usr/local/kafka/bin/kafka-topics.sh --describe --bootstrap-server 127.0.0.1:9092 --topic route001 | awk '/Leader/{print $2"-"$4}'""") parttions=[] for parttion in cmd.readlines():
r=parttion.strip()
parttions+=[{'{#PARTTION}':r}] print json.dumps({'data':parttions},sort_keys=True,indent=4,separators=(',',':'))

集成到 agent 监控脚本

cat kafka_parttion_offset.sh

#!/bin/bash

if [ $# -eq 0 ];
then
python /etc/zabbix/scripts/topic_parttion_discovery.py
else
r="$(/usr/local/kafka/bin/kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --describe --group route001 2>/dev/null)"
echo "$r" | awk 'NR>2 {print $2"-"$3,$5}' | awk '/'$1'/ {print $2}'
fi

cat kafka_parttion_lag.sh

#!/bin/bash

if [ $# -eq 0 ]
then
python /etc/zabbix/scripts/topic_parttion_discoovery.py
else
r="$(/usr/local/kafka/bin/kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --describe --group route001 2>/dev/null)"
echo "$r" | awk 'NR>2 {print $2"-"$3,$6}' | awk '/'$1'/ {print $2}'
fi

添加自定义监控项,并重启服务

# kafka - consumer group
UnsafeUserParameters=1
AllowRoot=1 UserParameter=kafka.offset.parttiion[*],/etc/zabbix/scripts/kafka_parttion_offset.sh $1
UserParameter=kafka.lag.parttiion[*],/etc/zabbix/scripts/kafka_parttion_lag.sh $1

agent 端测试命令

/etc/zabbix/sbin/zabbix_agentd -t kafka.lag.parttiion

/etc/zabbix/sbin/zabbix_agentd -t kafka.lag.parttiion[route001-0]

web 端配置

  • 添加模板
  • 创建Discovery rules
key:
kafka.offset.parttiion Fiters:
{#PARTTION} Regular expression: ^route001
  • 创建监控项原型
key:
kafka.offset.parttiion[{#PARTTION},] Update interval:
5m
key:
kafka.lag.parttiion[{#PARTTION},] Update interval:
5m
  • 关联模板到主机

zabbix 使用监控项原型(自动发现规则)的更多相关文章

  1. Zabbix监控系统配置之-自动发现规则入门

    假设你已经知道[模板-监控项-监控项原型-自动发现规则]之间的关系.(此处应有关系图,待填坑) 1. 添加模板 我新建了一个名叫Dapianzi SNMP Linux的模板,里面添加了已经启动了SNM ...

  2. zabbix模板的自动发现规则(ldd)实现被监控项自动发现

    zabbix模板的自动发现规则(ldd)实现被监控项自动发现 自动发现规则(ldd)用途说明 在zabbix自带的linux模板的自动发现规则中,有一个Mounted filesystem disco ...

  3. zabbix/自动发现规则

      对于zabbix 我们并不陌生 他是开源的监控系统,现在的一部分企业都在用zabbix,今天给大家分享的是企业级监控zabbix的自动发现规则,有了它我们自定义健康的时候根据宏值可以让他自动发现对 ...

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

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

  5. zabbix mysql自动发现规则

    1.配置mysql,添加监控用的账号,授予查看所有用户线程/连接的权限 GRANT PROCESS ON *.* TO 'zabbix'@'127.0.0.1' identified BY '20c1 ...

  6. Zabbix添加自定义监控项(一)

    前言:由于Zabbix提供的项目和模板有限,有时我们需要自定义监控项,下面以监控磁盘I/O使用率为例,创建自动发现规则,并配置图形. (1)Zabbix_agentd端自动发现脚本,zabbix要求返 ...

  7. Zabbix-设置自动发现规则实例

    一.前文 此篇文章,主要针对自动发现规则中使用snmpv2类型发现 zabbix官方解读,可当参考:   https://www.zabbix.com/documentation/4.0/zh/man ...

  8. Zabbix自定义监控项(模板)

    虽然Zabbix提供了很多的模板(简单理解为监控项的集合),在zabbix界面点击share按钮就可以直接跳到模板大全的官方网站,但是由于模板内的监控项数量太多不好梳理且各种模板质量参差不齐,还是建议 ...

  9. zabbix分布式部署和主机自动发现

    1.分布式部署原理 1.1Zabbix分布式部署的原理 传统的部署架构,是server直接监控所有的主机,全部主机的数据都是有server自己来采集和处理,server端的压力比较大,当监控主机数量很 ...

  10. zabbix的简单操作(自动发现)

    zabbix需要监控很多服务器,比如公司进购一批新的服务器,如何自动添加到zabbix服务上 自动发现: zabbix Server主动发现所有客户端,然后将客户端记录下来 自动注册: zabbix ...

随机推荐

  1. ray-分布式计算框架-集群与异步Job管理

    0. ray 简介 ray是开源分布式计算框架,为并行处理提供计算层,用于扩展AI与Python应用程序,是ML工作负载统一工具包 Ray AI Runtime ML应用程序库集 Ray Core 通 ...

  2. [aac @ 0x1dd24c0] Input contains NaN/+-Inf

    ffmpeg编码pcm为aac时报错:[aac @ 0x1dd24c0] Input contains NaN/+-Inf 在./configure选项后面加上下列选项就可以 --enable-enc ...

  3. #PowerBi 1分钟学会,powerbi中行列值拼接(COMBINEVALUES与CONCATENATEX)

    在日常的工作中,我们往往需要对表格数据的拼接,用来生成一些复合数据列,如下图类似场景. 其实,在powerbi中,我们同样也可以对表格文本进行拼接.今天我们就介绍两个DAX函数,COMBINEVALU ...

  4. #Powerquery 数据结构基础 一维数据与二维数据

    本文参考了采悟老师的文章,推荐大家看原文,本文为笔记随笔 https://mp.weixin.qq.com/s?__biz=MzA4MzQwMjY4MA==&mid=2484068871&am ...

  5. 2020-10-22:谈谈java中的LongAdder和LongAccumulator的相同点和不同点。

    福哥答案2020-10-22: 简单回答:相同点:都是多个单元操作.不同点:LongAdder相加,LongAccumulator自定义计算规则. 中级回答:相同点: LongAddr与LongAcc ...

  6. WSGI实现支持多URL的WEB服务器

  7. 第十三届蓝桥杯c++b组国赛题解(还在持续更新中...)

    试题A:2022 解题思路: 有2022个物品,它们的编号分别是1到2022,它们的价值分别等于它们的编号.也就是说,有2022种物品,物品价值等于物品编号. 从2022个物品种选取10个物品,满足1 ...

  8. Kotlin难点

    目录 高阶函数 双冒号 函数引用 类引用 属性引用 匿名函数 Lambda 表达式 例子 作用域函数 高阶函数 高阶函数是将函数用作参数或返回值的函数,还可以把函数赋值给一个变量. 所有函数类型都有一 ...

  9. Linux常用磁盘管理命令详解

    du du命令用于查看文件和目录磁盘的使用空间. 命令语法:du [参数] [文件或目录名称] 参数说明: 参数 说明 -a 列出所有的文件与目录容量. -h 以G.M.K为单位,返回容量. -s 列 ...

  10. 在树莓派上使用numpy实现简单的神经网络推理,pytorch在服务器或PC上训练好模型保存成numpy格式的数据,推理在树莓派上加载模型

    这几天又在玩树莓派,先是搞了个物联网,又在尝试在树莓派上搞一些简单的神经网络,这次搞得是mlp识别mnist手写数字识别 训练代码在电脑上,cpu就能训练,很快的: 1 import torch 2 ...