運維 監控 zabbix自定義發現策略

2022-05-15 16:20:17 字數 2924 閱讀 5498

想想看系統監控工程師以前是乙個多麼高大上的職業,現在也漸漸消失了。因為自動化的普及,成功的實現了乙個會開發,懂架構的人,可以幹多少個技術崗位的工作。阿里出圈後,有多少公司,一群一群的高階人才想圍住低階人才建立技術壁壘,把普通人打入到靠想法,靠體力活著。想法好,抽你9成水,體力抽你9.9成。

技術平台(地主)-->資料介面(賣鏟子的人)--> 使用者(碼農)--> 真正的業務(產出)-->乾掉一名監控運維

感嘆一下,回到正題。zabbix的自定義發現策略,真正的產出結果。本例以開源專案zabbix開發出自動新增為顯示ip為例。展示如何乾掉一名值班運維的。

1、指令碼格式

bash版

#!/bin/bash

ip_dev=( $(ip a| awk -f " |:" '/state up/') )

function zabbix_json()

for ((i=0;i

do#printf "$i"

host_ip=`ip a sh $ | awk -f" |/" '/inet /'`

printf '\n\t\t\":\"$}\",\"\":\"$host_ip\"}"

if [ $i -lt $[$length-1] ];then

printf ','

fidone

printf "\n\t]\n"

printf "}\n"

}zabbix_json $ip_dev

golang版

package main

import (

"encoding/json"

"fmt"

"net"

"os"

"regexp"

)type netinfo struct "`

hostip string `json:""`

}// 處理address轉化成字元

func addrtostr(l net.addr)(s string,err error)

s1 := v.string()[:len(v.string())-3]

if count > 0 else

count += 1

}return

}// 返回結果ip,name對應表

func interinfo()(netinfo, error)

for _, item := range inter

matchflags, _ := regexp.matchstring("up.*|.*up,.*", byname.flags.string())

matchname, _ := regexp.matchstring("loopback.*|lo.*", byname.name)

byname.flags.string())

if (!matchflags || matchname)

var addresses net.addr

addresses, err = byname.addrs()

data, err := addrtostr(addresses)

byname.name,

data,})}

return ips, nil

}func main()

result,_ := json.marshal(ips)

fmt.println(string(result))

}

2、調整伺服器新增監控

cat /etc/zabbix/zabbix_agentd.d/userparameter_ip_linux.conf 

userparameter=discovery.activeip,/bin/bash /etc/zabbix/script/discovery_network_ip.sh

3、重啟伺服器

systemctl restart zabbix-agent

systemctl restart zabbix-server

1、新增模板

2、新增自定義監控

自定義監控配置

過濾器配置

3、監控原型書寫

監控原型--程序

out原型雷同配置,不在重複。

另外有其他需求可自行開發書寫。這裡就不在贅述了。

4、圖形原型

模板完成。

1、繫結主機

2、除錯檢視

3、成果展示

zabbix自定義監控

1 監控資料備份情況 主動模式 1 資料備份及傳送成功 1 2 資料匯入成功 1 2 在zabbix agent客戶端配置如下 root zagent zabbix cat etc zabbix zabbix agentd.conf startagents 0 設定該值為0,則agent不會監聽本地...

zabbix監控之自定義監控

自定義監控node1資料庫狀態,並設定報警 編輯agent客戶端的userparameter mysql.conf 檔案,最後一行新增自定義監控內容 root node1 cd etc zabbix zabbix agentd.d root node1 zabbix agentd.d lsuserp...

Zabbix運維 監控

一 使用shell指令碼監控記憶體 二 新增監控一台主機 1 監控主機上安裝agent服務 配置檔案server端位址修改為zabbix server端ip位址 2 web頁面新增主機 3 選擇監控模板 4 重啟zabbix server,加速看到效果,客戶端狀態已經綠了 三 自定義監控項 1 新增...