zabbix中通过模板实现自动发现对tcp端口批量监控

主要为了解决监控大量端口,避免繁琐的重复操作监控项和触发器
诸位~ 仅供参考哈
自动发现监控参考地址:
https://blog.csdn.net/qq_37510195/article/details/130893655

模板

  1. 首先创建一个模板
    自定义名称和群组
    在这里插入图片描述
  2. 创建自动发现规则
    模板——自动发现——创建发现规则
    在这里插入图片描述
  3. zabbix-agent配置文件
UnsafeUserParameters=1
UserParameter=tcpportlisten,/home/shell/discoverport.sh(key)         (脚本地址,zabbix必须有执行权限)

在这里插入图片描述
4. linux脚本参考(仅供参考)
创建一个discoverport.sh文件

#!/bin/bash
portarray=(`sudo netstat -tnlp|egrep -i "java|nginx|mysql|minio"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]*$/) print $NF}'`)
servicename=(`sudo netstat -tnlp|egrep -i "java|nginx|mysql|minio"|awk {'print $7'}|awk -F'/' '{print $NF}'|sed 's/:$//'`)# 定义端口和服务名称的映射关系 键值对
declare -A service_map=([8761]="eureka-server"[9000]="gateway-server"[10001]="core-server"[10002]="device-server"[10003]="media-server"[10004]="visitor-server"[10005]="system-monitor-server"[10777]="parking-server"
)
length=${#portarray[@]} #输出有多少个
printf "{\n"
printf  '\t'"\"data\":["
for ((i=0;i<$length;i++))
doprintf '\n\t\t{'if [  -n "${service_map[${portarray[$i]}]}" ];thenprintf "\"{#TCP_PORT}\":\"${portarray[$i]}\", \"{#TCP_NAME}\":\"${service_map[${portarray[$i]}]}\"}"elseprintf "\"{#TCP_PORT}\":\"${portarray[$i]}\", \"{#TCP_NAME}\":\"${servicename[$i]}\"}"fiif [ $i -lt $[$length-1] ]; thenprintf ','fi
done
printf  "\n\t]\n"
printf "}\n"
  1. Windows的参考这个脚本
    创建一个discoverport.bat文件
@echo off
setlocal EnableDelayedExpansion
set "output={"data":["for /f "tokens=2 delims= " %%a in ('netstat -ano ^| findstr "LISTENING" ^| findstr ":3306 :8182 :8180 :15672 :5672 :6379"') do (for /f "tokens=1* delims=:" %%b in ("%%a") do (for %%d in (%%c) do (set "value=%%~d"set "output=!output!{"{#TCP_PORT}":"!value:]:=!"},"))
)rem Remove the trailing comma from the last object
set "output=!output:~0,-2!}]}"
echo !output!!#pause #这个要停留端口验证在用,平时注释掉

主机绑定模板

进入主机,选择要绑定的模板
在这里插入图片描述
进入主机的自动发现,找到加入的自动发现规则,双击自动发现后进行测试
在这里插入图片描述
这里,确保测试有数据产生!
在这里插入图片描述
注意:如果出现访问脚本超时,或者无权限执行脚本的类似文件:如

sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
{
"data":[
]
}

解决方法:
需要把zabbix用户加入到sudo中,然后再执行测试自动发现就正常了
修改文件/etc/sudoers
加入:zabbix ALL=(ALL) NOPASSWD: ALL
在这里插入图片描述

创建监控项目

注意:这里是自动发现里面的监控项,非主机下的监控项
这里就可以通过脚本获取到的JSON数据,实现变量方式传值了,极大地避免了人工手动监控多个服务的情况。
监控{#TCP_PORT}端口,{#TCP_NAME}服务
在这里插入图片描述

创建触发器

在这里插入图片描述
{#TCP_NAME}服务停止了,端口为{#TCP_PORT}
验证主机中生成的监控项和触发器:
主机的监控项:
在这里插入图片描述
主机的触发器:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/76153.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql备忘记录

1、简介 Mysql操作经常忘记命令&#xff0c;本文将持续记录Mysql一些常用操作。 2、常见问题 2.1、忘记密码 # 1、首先停止Mysql服务 systemctl stop mysqld # windows 从任务管理器里面停 # 2、更改配置文件 my.cnf (windows是 ini文件) vim /etc/my.cnf 在[mysqld]下面添…

【蓝桥杯】15届JAVA研究生组F回文字符串

一、思路 1.这题去年考的时候想的是使用全排列进行尝试&#xff0c;实际不用这么麻烦&#xff0c;只用找到第一个和最后一个非特殊字符串的位置&#xff0c;然后分别向内检查是否对称&#xff0c;向外检查是否对称直到左指针小于0(可以通过添加使其对称) 2.至于如何找到第一个…

X 进制减法

题目链接&#xff1a; 思路&#xff1a; X进制数321怎么转换为十进制数为65&#xff1f;如下图&#xff1a; ①题目要求我们求 A - B 的最小值&#xff0c;对第 i 位&#xff0c;要求 A[i] - B[i] 的最小值&#xff0c;当进制越小的时候差值越小&#xff0c;但进制要比 max&…

java线程安全-单例模式-线程通信

首先看看单例模式的写法 首先我们先来回顾一下饿汉式单例模式&#xff1a; class Singleton{private static Singleton singletonnew Singleton();private Singleton(){}public static Singleton getInstrance(){return singleton;} } public class Test{public static void …

大数据技术之SPARK

Spark Core 什么是 RDD 代码中是一个抽象类&#xff0c;它代表一个弹性的、不可变、可分区、里面的元素可并行计算的集合 弹性 存储的弹性&#xff1a;内存与磁盘的自动切换&#xff1b; 容错的弹性&#xff1a;数据丢失可以自动恢复&#xff1b; 计算的弹性&#xff1a;…

Go 语言范围 (Range)

Go 语言范围 (Range) Go 语言是一种静态强类型、编译型、并发型编程语言&#xff0c;由 Google 开发。它的简洁性和高效性使其成为众多开发者的首选。在 Go 语言中&#xff0c;range 是一个非常有用的关键字&#xff0c;用于遍历数组、切片、字符串以及通道&#xff08;channe…

VUE中数据绑定之OptionAPI

<template> <div> 姓名:<input v-model="userName" /> {{ userName }} <br /> 薪水:<input type="number" v-model="salary" /> <br /> <button v-on:click="submit">提交</button>…

react动态路由

框架的权限控制&#xff08;在config.ts中配置&#xff09; export default {access: {}, }; 权限配置文件&#xff08;access.ts&#xff09; 新建 src/access.ts &#xff0c;在该文件中 export default 一个函数&#xff0c;定义用户拥有的权限 该文件需要返回一个 functi…

Android里面如何优化xml布局

在 Android 开发中&#xff0c;以下是系统化的优化方案&#xff0c;从基础到高级分层解析&#xff1a; 一、基础优化策略 1. 减少布局层级 问题&#xff1a;每增加一层布局&#xff0c;测量/布局时间增加 1-2ms 解决方案&#xff1a; <!-- 避免嵌套 --> <LinearLayo…

基于STM32、HAL库的IP6525S快充协议芯片简介及驱动程序设计

一、简介: IP6525S是一款高性能的同步降压DC-DC转换器芯片,具有以下特点: 输入电压范围:4.5V至32V 输出电压范围:0.8V至30V 最大输出电流:5A 效率高达95% 可编程开关频率(100kHz-1MHz) 支持PWM和PFM模式 内置过流保护、过温保护等功能 该芯片常用于工业控制、通信设备…

二分算法的入门笔记

二分查找 使用前提&#xff1a;有序。可理解为枚举的一种技巧。时间复杂度&#xff1a; l o g ( n ) log(n) log(n) 基础模版代码 使用时根据情景进行相应的变化。注意跳出条件and分支处理方式and返回答案&#xff0c;三者之间的配合&#xff0c;不要进入死循环。可以在模拟…

轻量级Java跨包调用(完全解耦)

Java函数式命令模式 轻量级跨包调用解耦方案&#xff0c;让跨包调用就像调用本地接口那样简单。适用与具有公共依赖的两个jar包&#xff0c;但是又不想相互引入对方作为依赖。 函数式命令模式&#xff0c;很好地实现了跨包调用解耦的目标&#xff0c;并且通过泛型JSON动态转换保…

离散数学问题集--问题5.9

问题 5.9 综合了计算机组成原理、数字逻辑和离散数学中的关键概念&#xff0c;旨在帮助学生理解二进制算术运算的硬件实现、逻辑门与算术运算的关系&#xff0c;以及如何使用数学方法来验证数字系统的正确性。它强调了从规范到实现再到验证的完整过程。 思想 函数抽象&#xf…

OpenLayers:海量图形渲染之矢量切片

最近由于在工作中涉及到了海量图形渲染的问题&#xff0c;因此我开始研究相关的解决方案。在咨询了许多朋友之后发现矢量切片似乎是行业内最常用的一种解决方案&#xff0c;于是我便开始研究它该如何使用。 一、什么是矢量切片 矢量切片按照我的理解就是用栅格切片的方式把矢…

神经网络入门—自定义网络

网络模型 定义一个两层网络 import torch import torch.nn as nn import torch.optim as optim import torch.nn.functional as F# 定义神经网络模型 class Net(nn.Module):def __init__(self, init_x0.0):super().__init__()self.fc1 nn.Linear(1, 10)self.fc2 nn.Linear(…

无人机装调与测试

文章目录 前言一、无人机基本常识/预备知识&#xff08;一&#xff09;无人机飞行原理无人机硬件组成/各组件作用1.飞控2.GPS3.接收机4.电流计5.电调6.电机7.电池8.螺旋桨9.UBEC&#xff08;稳压模块&#xff09; &#xff08;二&#xff09;飞控硬件简介&#xff08;三&#x…

2024年-全国大学生数学建模竞赛(CUMCM)试题速浏、分类及浅析

2024年-全国大学生数学建模竞赛(CUMCM)试题速浏、分类及浅析 全国大学生数学建模竞赛&#xff08;China Undergraduate Mathematical Contest in Modeling&#xff09;是国家教委高教司和中国工业与应用数学学会共同主办的面向全国大学生的群众性科技活动&#xff0c;目的在于激…

Linux入门指南:从零开始探索开源世界

&#x1f680; 前言 大家好&#xff01;今天我们来聊一聊Linux这个神奇的操作系统~ &#x1f916; 很多小伙伴可能觉得Linux是程序员专属&#xff0c;其实它早已渗透到我们生活的各个角落&#xff01;本文将带你了解Linux的诞生故事、发行版选择攻略、应用领域&#xff0c;还有…

记录vscode连接不上wsl子系统下ubuntu18.04问题解决方法

记录vscode连接不上wsl子系统下ubuntu18.04问题解决方法 报错内容尝试第一次解决方法尝试第二次解决方法注意事项参考连接 报错内容 Unable to download server on client side: Error: Request downloadRequest failed unexpectedly without providing any details… Will tr…

Cursor+MCP学习记录

参考视频 Cursor MCP 王炸&#xff01;彻底颠覆我的Cursor工作流&#xff0c;效率直接起飞_哔哩哔哩_bilibili 感觉这个博主讲的还不错 所使用到的网址 Smithery - Model Context Protocol Registry Introduction - Model Context Protocol 学习过程 Smithery - Model …