zabbix 自動發現規則配置(詳解)

前言

         對於很多情況下手動創建監控項是很費勁的事,所以zabbix提供了自動發現的功能,我這裏以自動發現agent端活動端口爲例,再借助zabbix自帶的端口監控項來實現自動監控。廢話不多說,直接來硬的。

一、修改agent端配置文件

   該位置以自己安裝的爲準,沒找到可用locate搜索一下

   vim /etc/zabbix/zabbix_agentd.conf

UnsafeUserParameters=1 # 默認爲0,表示不允許自定義key
UserParameter=portall,/root/shell/python/postjson.py   #自定義監控項

        注意:如果不能成功獲取到監控項數據(一般提示權限不夠),請修改agent配置文件 AllowRoot=1

        https://img-blog.csdnimg.cn/20191202091445240.png

二、在agent上添加腳本

      獲得本地端口的shell語句如下:

      netstat -ntl|tail -n +3|awk '{print $4}'|awk -F: '{print $NF}'|sort|uniq

     

    然後寫個python2的腳本,將數據轉換成json格式

     Vim /root/shell/python/postjson.py

#!/usr/bin/env python
import json
import os

cmd=os.popen("""netstat -ntl|tail -n +3|awk '{print $4}'|awk -F: '{print $NF}'|sort|uniq""")

ports=[]

for port in cmd.readlines():
         r=port.strip()
         ports+=[{'{#PORT}':r}]

print json.dumps({'data':ports},sort_keys=True,indent=4,separators=(',',':'))

     效果截圖

      

      注意:記得給腳本加執行權限

三、重啓agent服務,server端測試

        server端使用zabbix_get測試監控項有效性。

        

四、創建自動發現規則

         鍵值就是前面agent配置文件那裏寫的名稱

        

五、創建監控項原型

        注意:net.tcp.port[,{#PORT}]鍵值必須這麼寫,在寫的時候參考官方文檔不然監控項無效。

      

      

六、zabbix 查看監控項數據   ​

 

總結:

             我這裏主要是介紹zabbix有這個功能,簡單的實現方法,如果自己有其他需求要自己去寫腳本咯,監控項原型也可以是自己自定義的監控項,我希望我的文章對朋友們有幫助,記得點個贊啥的,哈哈

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章