溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nagios插件化之ganglia插件

發(fā)布時間:2020-08-13 13:04:04 來源:網絡 閱讀:737 作者:gold的寵兒 欄目:移動開發(fā)

 架構:

  nagios跟ganglia一樣可以都是監(jiān)控軟件,但是兩個也有不同之處,Ganglia的優(yōu)勢在于實時對監(jiān)控集群中的機器的各項指標,比如CPU、內存、磁盤、溫度等數據,匯總成各種圖形化界面,并提供可調用數據。而在出現(xiàn)問題的時候報警提示功能,相對較弱。

 Nagios的優(yōu)勢在于出現(xiàn)問題之時可以提供強大的報警提示功能,但是在時間監(jiān)控上,功能比較弱,即使使用NRPE插件也不足以提供強大的機器監(jiān)控,所以此處將兩者結合起來。實現(xiàn)監(jiān)控、報警功能。

環(huán)境介紹:

1.服務器中已經安裝好了Ganglia,安裝過程參考:http://9480860.blog.51cto.com/9470860/1746122

2.服務器中已經安裝好了Nagios,安裝過程詳見:http://9480860.blog.51cto.com/9470860/1746124

安裝思路:

通過Nagios調用Ganglia的接口,獲取整個服務器的監(jiān)控指標。如果超過設定的指標,則予以報警。

安裝過程:

1.Ganglia與naios的結合

# cp ganglia-3.6.0/contrib/check_ganglia.py  /usr/local/nagios/libexec/
# chown nagios.nagios check_ganglia.py 
# /usr/local/nagios/libexec/check_ganglia.py

2.修改gmetad配置,使其shared監(jiān)控數據

# vim /usr/local/ganglia/etc/gmetad.conf 
 trusted_hosts 127.0.0.1 192.168.235.138 cjx
## vim check_ganglia.py   修改報警腳本
try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.connect((ganglia_host,ganglia_port))
        parser = GParser(host, metric)
        value = parser.parse(s.makefile("r"))
        s.close()
except Exception, err:
        print "CHECKGANGLIA UNKNOWN: Error while getting value \"%s\"" % (err)
        sys.exit(3)
if critical > warning: 
        if value >= critical: 
                print "CHECKGANGLIA CRITICAL: %s is %.2f" % (metric, value) 
                sys.exit(2) 
        elif value >= warning: 
                print "CHECKGANGLIA WARNING: %s is %.2f" % (metric, value) 
                sys.exit(1) 
        else: 
                print "CHECKGANGLIA OK: %s is %.2f" % (metric, value) 
                sys.exit(0) 
else: 
        if critical >= value: 
                print "CHECKGANGLIA CRITICAL: %s is %.2f" % (metric, value) 
                sys.exit(2) 
        elif warning >= value: 
                print "CHECKGANGLIA WARNING: %s is %.2f" % (metric, value) 
                sys.exit(1) 
        else: 
                print "CHECKGANGLIA OK: %s is %.2f" % (metric, value) 
                sys.exit(0) 
 //報警腳本需要特別注意格式,否則會顯示錯誤提示
# python check_ganglia.py -h cjx -m load_one -w 10 -c 100

 

3.增加檢測ganglia的命令

# vim /etc/nagios/objects/commands.cfg 
# 'check_ganglia' command definition
define command{
        command_name    check_ganglia
        command_line    $USER1$/check_ganglia.py -h $HOSTADDRESS$ -m $ARG1$ -w $ARG2$ -c $ARG3$
        }

4.定義ganglia模板

# vim templates.cfg 
define service{
        name                            ganglia-service                 ; The name of this service template
        use                             generic-service
        hostgroup_name                  gangliaservers
        service_groups                  gangliametrics
        register                        0
        }

5.定義主機

[root@cjx objects]# vim hosts.cfg 
define host{
    use linux-server
    host_name cjx
    alias Manager
    address 127.0.0.1
    icon_p_w_picpath server.gif
    statusmap_p_w_picpath server.gd2
    2d_coords 200,300
    3d_coords 200,300,100
    }
define hostgroup{
            hostgroup_name  ganglia-servers ; The name of the hostgroup 
            alias            ganglia servers ; Long name of the group 
            members         *;
     }
~

5.定義服務

[root@cjx objects]# vim service.cfg 
define servicegroup {
#servicegroup_name ganglia-metrics
servicegroup_name gangliametrics
alias Ganglia Metrics
}
define service {
use ganglia-service
host_name cjx
hostgroup_name ganglia-servers
service_description load_one
check_command check_ganglia!load_one!4!5
}
 
define service{
host_name cjx
hostgroup_name ganglia-servers
use ganglia-service
service_description disk_free
check_command check_ganglia!disk_free!0.2!0.1
}
//定義服務時一定要定義好主機、主機組、服務組,否則會出現(xiàn)error、warning錯誤提示,且 網上不好找到答案

6.把文件路徑加入到nagios主配置文件里面

[root@cjx objects]# cd ..
# vim /etc/nagios/nagios.cfg 
cfg_file=/etc/nagios/objects/hosts.cfg
cfg_file=/etc/nagios/objects/service.cfg

7.驗證配置正確性

# /usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg

8.重啟nagios服務

# service nagios restart

9.打開nagios-web頁面可以看到相關信息

Nagios插件化之ganglia插件

Nagios插件化之ganglia插件

        這個時候就靜靜的看著web頁面吧。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI