標籤:splay content php檔案 編輯 mod node 開啟 主機 res
1.複製所需指令碼到nagios的指令碼目錄,並設定許可權
cp -fr ./ganglia-3.7.1/contrib/check_ganglia.py /usr/local/nagios/libexec/ chown nagios.nagios /usr/local/nagios/libexec/check_ganglia.py chmod 755 /usr/local/nagios/libexec/check_ganglia.py
2.添加check_ganglia的命令
編輯commands.cfg檔案,添加如下內容
# ‘check_ganglia‘ command definitiondefine command { command_name check_ganglia command_line $USER1$/check_ganglia.py -h $HOSTNAME$ -m $ARG1$ -w $ARG2$ -c $ARG3$}
3.check_ganglia.py 使用方法:
./check_ganglia.py -h
check_gmond: option -h requires argument
Usage: check_ganglia -h|--host= -m|--metric= -w|--warning= -c|--critical= [-s|--server=] [-p|--port=]
-h :指定監控的nodes
-m 指定監控的metric
-w 指定 wanning 值
-c 指定錯誤值
-s 指定ganglia 的server
-p 指定連接埠
/usr/local/nagios/libexec/check_ganglia.py -h puppet.sa.beyond.com -m load_one -w 1 -c 2
4. 根據指令碼使用方法,進行配置監控
define service { use beyond-service host_name test.sa.beyond.com service_description check_load_one check_command check_ganglia!load_on!1!2}define service { use beyond-service host_name test.sa.beyond.com service_description check_load_five check_command check_ganglia!load_five!0.9!1}define service { use beyond-service host_name test.sa.beyond.com service_description check_load_fifteen check_command check_ganglia!load_fifteen!1!2}
5.開啟nagios介面,可以看到效果
6. 在nagiosUI上添加ganglia的圖
如果主機和服務名在ganglia和nagios中保持一致,那麼只需要使用內建的nagios宏就可以將任意服務的action_url指回ganglia的graph.php檔案,這樣使用者在點擊nagiosUI中的action_url來請求某項服務時,就可以獲得這個服務在ganglia的表徵圖形式的資料
例如:某項服務 load_one我們可以用下面語句來擷取ganglia的資料
http://203.130.45.173:9100/ganglia/graph.php?c=beyond&h=puppet.sa.beyond.com&m=load_one&r=hour&z=large
c表示主機所在的cluster
h表示主機 可以使用nagios內建宏hostname來傳遞
m表示metric 可以使用nagios內建宏 servicedesc 來傳遞
由於在nagios中沒有叢集的概念,所以需要自動宏來傳遞主機所在的cluster。nagios自訂宏以底線開頭,如下
最後 為統一管理,可以在模版上加如action_url
重啟nagios。會在nagios的ui上看到表徵圖,點擊進去之後,是ganglia的圖表
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">
來自為知筆記(Wiz)
ganglia使用nagios警示