ganglia使用nagios告警

1.複製所需腳本到nagios的腳本目錄,並設置權限php

  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的命令node

    編輯commands.cfg文件,添加以下內容ios

# 'check_ganglia' command definition
define command {
        command_name check_ganglia
        command_line $USER1$/check_ganglia.py -h $HOSTNAME$ -m $ARG1$ -w $ARG2$ -c $ARG3$
}

 

 

3.check_ganglia.py 使用方法:ui

./check_ganglia.py -hurl

check_gmond: option -h requires argumentspa

Usage: check_ganglia -h|--host= -m|--metric= -w|--warning= -c|--critical= [-s|--server=] [-p|--port=]code

-h :指定監控的nodesorm

-m  指定監控的metric  server

-w 指定 wanning 值blog

-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;">



相關文章
相關標籤/搜索