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.pswp.cn/pingmian/76153.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/76153.shtml
英文地址,請注明出處:http://en.pswp.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 …