ganglia使用nagios告警

2022-07-14 08:15:13 字數 1640 閱讀 5256

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 definition

define command

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 

define service

define service

5.開啟nagios介面,可以看到效果

6. 在nagiosui上新增ganglia的圖

如果主機和服務名在ganglia和nagios中保持一致,那麼只需要使用內建的nagios巨集就可以將任意服務的action_url指回ganglia的graph.php檔案,這樣使用者在點選nagiosui中的action_url來請求某項服務時,就可以獲得這個服務在ganglia的圖示形式的資料

例如:某項服務 load_one我們可以用下面語句來獲取ganglia的資料

c表示主機所在的cluster

h表示主機    可以使用nagios內建巨集hostname來傳遞

m表示metric   可以使用nagios內建巨集 servicedesc 來傳遞

由於在nagios中沒有集群的概念,所以需要自動巨集來傳遞主機所在的cluster。nagios自定義巨集以下劃線開頭,如下

最後 為統一管理,可以在模版上加如action_url

重啟nagios。會在nagios的ui上看到圖示,點選進去之後,是ganglia的圖表

來自為知筆記(wiz)

ganglia和nagios協作(一)

ganglia作為一款最常用的linux環境中的監控軟體,它擅長的的是從節點中按照使用者的需求以較低的代價採集資料。但是ganglia在預警以及發生事件後通知使用者上並不擅長。最新的ganglia已經有了部分這方面的功能。可我們為什麼不找乙個更擅長此道的人去做呢?unix上的乙個核心思想也是不要大而...

使用Ganglia監控Hadoop

hadoop本身提供了很多監控工具的介面,如jmx nagios ganglia等。使用ganglia監控hadoop,配置起來非常簡單,只需要修改 hadoop home conf hadoop metrics.properties檔案,把相關的配置段修改為下面的示例 configuration ...

使用Ganglia監控Hadoop

hadoop本身提供了很多監控工具的介面,如jmx nagios ganglia等。使用ganglia監控hadoop,配置起來非常簡單,只需要修改 hadoop home conf hadoop metrics.properties檔案,把相關的配置段修改為下面的示例 configuration ...