1. 程式人生 > >zabbix-agent自定義item監控遠端伺服器

zabbix-agent自定義item監控遠端伺服器

1.首先是自己的指令碼
我的指令碼就是簡單的正則表示式的指令碼,只是為了模擬檢測bond中網絡卡關閉的資訊。檢測到網絡卡關閉就報警。
具體程式碼如下:

#!/usr/bin/env python
# -*-coding:utf-8 -*-
import os 

def detect(file_name):#提取出網絡卡錯誤的資訊

    bond_txt = file_name.split('\\')

    file = open( file_name , 'r')
    line = file.readline()
    detect_str = 'Slave Interface:'
while( line ): #print ( line ) if detect_str in line: second_line = file.readline() detect_down = 'down' if detect_down in second_line : list_first = line.split() #print ( len(list_first) ) print
( 'in the ' + bond_txt[len(bond_txt)-1] + ', network ' + list_first[ len( list_first ) -1] + ' is down') #print( '++++++++++++++++++++++++++++++++++' ) line = file.readline() def main(): dic = 'C:\\Users\\daicy\\Desktop\\test_for_bonding\\bond0.txt' detect( dic ) if
__name__ == '__main__': main()

2.建立host並將模板template新增上
建立如下圖:
這裡寫圖片描述

3.建立item
這裡寫圖片描述

4.建立triggers
這裡寫圖片描述

這裡寫圖片描述

5.在遠端伺服器上,進行zabbix-agent的配置
首先將/usr/local/etc/zabbix_agentd.conf中的伺服器地址新增上
這裡寫圖片描述
這裡寫圖片描述
然後就是新增userparameter,我的是在/usr/local/etc/zabbix_agentd.conf.d/這個資料夾下新增
這裡寫圖片描述
這樣一個簡易的報警觸發裝置就弄好了。

自己遇到的一個錯誤資訊:
提示:unsupported item key

自己的錯誤是埠10050被防火牆關閉了,導致訊息傳達不到,大家遇到此類問題,可以參考一下:
首先使用iptables -nL檢視埠是否沒有開啟
這裡寫圖片描述
經過上圖我們可以發現確實沒有開啟,我們將該埠開啟就好了
開啟程式碼如下:

iptables -I INPUT -p tcp -s 10.10.30.232 -m tcp --dport 10050 -m comment --comment "zabbix_agentd listen 10050" -j ACCEPT

最後,我們再檢視其是否開啟了:
這裡寫圖片描述
這樣就是開啟了,問題就得到了解決。