美文网首页我爱编程
用wxpython製作簡易Zabbix微監控

用wxpython製作簡易Zabbix微監控

作者: Maliao | 来源:发表于2018-03-23 15:56 被阅读28次

概念說明

Zabbix前端報警及郵件發信等已可立即告警,但如果能整合到內部系統豈不甚好?

既然如此,後面將會以下圖說明由Redis Server做為中間接收的媒介,讓Zabbix與內部系統整合告警。

image

1. Zabbix Server

Zabbix告警動作可以選擇腳本,這點非常強大,只要設好監控項到動作告警,剩下都可以交由腳本做進一步的呈現。

觸發器

創建觸發器。

image

報警媒介

創建腳本RedisAlarm.py,當發報時會將觸發器的狀態寫入到Redis中。

名稱:RedisAlarm
類型:"腳本"
腳本名稱:RedisAlarm.py
(
路經:/usr/local/share/zabbix/alertscripts,
權限:777
)
腳本參數:
{ALERT.SENDTO} 收件人地址
{ALERT.SUBJECT} 主題
{ALERT.MESSAGE} 詳細內容

image
  • 創建腳本

RedisAlarm.py

#!/home/zabbix/anaconda2/bin/python
# -*- coding: utf-8 -*-

'''
# RedisAlarm.py
'''
import sys
import redis

if __name__ == '__main__':
    # {ALERT.SENDTO}
    rc = redis.StrictRedis(sys.argv[1].decode('utf8'))
    # {ALERT.SUBJECT}
    status = sys.argv[2].decode('utf8')
    # {ALERT.MESSAGE}
    name = sys.argv[3].decode('utf8')

    if "OK" in status:
        rc.set(name,status)
    else:
        rc.set(name,status)

用戶報警媒介"收件人"

設定收件人為RedisServerIP,設定完記得按更新

image

動作

  • 選擇觸發器

    一個動作可包含多個觸發器。

    image
  • 操作步驟

    默认接收人:{TRIGGER.STATUS} 觸發器狀態
    默认信息:{TRIGGER.NAME} 觸發器名稱

    image
  • 恢复操作步驟

    默认接收人:{TRIGGER.STATUS} 觸發器狀態
    默认信息:{TRIGGER.NAME} 觸發器名稱

    image

2. Redis Server

Redis Server是一個Key,Velue的數據庫,默認數據是存於內存的,擁有極快的存取速度,通常用於緩存資料使用。

建立初始資料

先確保Redis可否連接,在新增觸發器名稱作為Redis Key,這邊用一個簡單的腳本新增。

import redis
r = redis.StrictRedis("127.0.0.1")

# Check redis server
try:
    r.ping()
except Exception as e:
    print "RedisServer Error"

# Add redis keys
items = ["Google","Modem","Negix1","Negix2"]
[r.set(i,"OK") for i in items]
print r.keys()

先全部新增為"OK",不然後面Get不到值會出錯。

3. Zabbix Alarm Client

利用Wxpython製作一個實時監測Zabbix監控項的小程序。

源碼地址

下載項目

git clone https://github.com/noyoung/Simple-Zabbix-Alarm.git

服務器設定

監控項設定

運行監控

4. 運行結果

  • 服務器異常時
    Zabbix將會觸發RedisAlarm.py腳本將異常狀態傳給Redis

    監控狀態

  • 服務器恢復時

    監控狀態

相关文章

  • 用wxpython製作簡易Zabbix微監控

    概念說明 Zabbix前端報警及郵件發信等已可立即告警,但如果能整合到內部系統豈不甚好? 既然如此,後面將會以下圖...

  • Zabbix創建監控項 - 簡單檢查

    利用簡單檢查監測站點是否存活,Zabbix內置的簡單檢查可針對各端口站點監測是否有回應?速度如何? 1. 創建一個...

  • 用wxpython製作鬧鐘程序

    功能需求 鬧鐘 貪睡功能 倒計時 自動重複 彈窗提醒 碼表 通用功能 自訂鬧鈴聲音 開發環境 思路心得 主程序 F...

  • https://tongmunchen.webnode.tw/古

    福記監製1972年立新陶瓷廠出品朱泥標準壶12杯 江蘇宜兴民国著名「立新陶器厂」福紀監製12杯標準水平朱泥壶 早期...

  • 2018-08-22

    今天想到用樹莓派做的機房溫溼度監控系統,實現報警功能,其實可以比較簡單的實現,比如, 0 今天在使用highcha...

  • Zabbix創建圖形

    單個監控項的圖形都是獨立的,若要同時比較多主機、多監控項,就需要創建自定圖形。 監控項 創建圖形之前必須建立好監控...

  • 「ARIA  GIOIELLI」簡介

    簡介:「aria gioielli」歷史 「aria gioielli」自1914年開始手工製作飾品至今,其超凡手...

  • 「ARIA  GIOIELLI」簡介

    簡介:「aria gioielli」歷史「aria gioielli」自1914年開始手工製作飾品至今,其超凡手工...

  • 「ARIA  GIOIELLI」簡介

    簡介:「aria gioielli」歷史 「aria gioielli」自1914年開始手工製作飾品至今,其超凡手...

  • 终于要上场了!!!

    数字DNA的七大成功密码 之前努力了那麼久,不管是影片製作還是簡報製作等等! 跟平台來來回回討論了好幾次,視頻還重...

网友评论

    本文标题:用wxpython製作簡易Zabbix微監控

    本文链接:https://www.haomeiwen.com/subject/ifgffftx.html