2014-05-20 32 views
1

我正在使用的組織現在使用Munin作爲監控工具。我們已經編寫了一個服務,用於傳輸關於可以由Javascript組件顯示的服務的實時數據。優選地,操作團隊希望在Munin中顯示這些度量以避免具有用於實時監控的另一個系統。Munin實時監控和Javascript圖形

  1. 使用Javascript使用Munin顯示實時數據可行嗎?最好我想創建它作爲一個插件,但我們也可以修改一些Munin HTML頁面或類似的,只需將Javascript組件添加到頁面。
  2. 當流的某些屬性高於某個閾值時指定警報/ alamars也不錯。考慮到(1)是可行的,那麼整合這一點的一個想法將是編寫一個外部應用程序,該應用程序讀取實時流並識別何時應該觸發警報。當檢測到錯誤時,外部應用程序可以將其寫入磁盤上的文件。然後這個想法是寫一個Munin插件從這個文件中讀取,並在適用的情況下從Munin內部觸發更改/警報。

回答

0

在數據庫中保存要製作圖表的數據。編寫另一個代碼來製作圖表,並簡單地使用ajax請求更新您的圖表。 使圖表使用gd庫的php代碼,或者你可以通過svg xml輸出來實現它,我建議它更多。 只要時間通過在ajax中請求它就可以得到腳本的結果。 ,這是我剛剛知道,每五分鐘數據

2
  1. 穆寧「民意調查」的機器。爲了將您的流式數據點提供給中央的munin服務器,您需要在服務器上配置一個輸出數據的munin節點,並編寫一個shell腳本(可能涉及curl和awk)來獲取當前數據。

    在一個節點上創建一個munin插件非常簡單,它只是一個shell腳本,它將可讀形式的數據輸出到標準輸出。

  2. 設置警報很容易,因爲您返回的值需要在munin插件配置輸出中設置警告和臨界值。請記住,這些警告也是5分鐘的時間表,因此它不是「立即」的。

閱讀上穆寧如何(剝離系統負載插件的版本)的作品以簡單的穆寧插件http://guide.munin-monitoring.org/en/latest/

例子:

#!/bin/sh 
. $MUNIN_LIBDIR/plugins/plugin.sh 

if [ "$1" = "autoconf" ]; then 
     echo yes 
     exit 0 
fi 

if [ "$1" = "config" ]; then 

     echo 'graph_title Load average' 
     echo 'graph_args --base 1000 -l 0' 
     echo 'graph_vlabel load' 
     echo 'graph_scale no' 
     echo 'graph_category system' 
     echo 'load.label load' 
     print_warning load 
     print_critical load 
     echo 'graph_info The load average of the machine describes how many processes are in the run-queue (scheduled to run "immediately").' 
     echo 'load.info 5 minute load average' 
     exit 0 
fi 

echo -n "load.value " 
cut -f2 -d' ' < /proc/loadavg