溫馨提示×

溫馨提示×

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

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

ganglia運維監控解決方案及與nagios監控整合

發布時間:2020-07-14 22:29:14 來源:網絡 閱讀:1714 作者:劃舞魚 欄目:移動開發

Ganglia UC Berkeley發起的一個開源監視項目,設計用于測量數以千計的節點。每臺計算機都運行一個收集和發送度量數據(如處理器速度、內存使用量等)的名為gmond的守護進程。它將從操作系統和指定主機中收集。接收所有度量數據的主機可以顯示這些數據并且可以將這些數據的精簡表單傳遞到層次結構中。正因為有這種層次結構模式,才使得Ganglia 可以實現良好的擴展。gmond帶來的系統負載非常少,這使得它成為在集群中各臺計算機上運行的一段代碼,而不會影響用戶性能。

所有這些數據收集會多次影響節點性能。網絡中的 “抖動(Jitter)” 發生在大量小消息同時出現時。我們發現通過將節點時鐘保持一致,就可以避免這個問題。


RRDTool 表示:輪循數據庫工具(Round Robin Database Tool)。它是由Tobias Oetiker創建的,并且為許多高性能監視工具提供了引擎。Ganglia是其中之一,但是Cacti Zenoss 是另外兩個。

要安裝 Ganglia,首先需要讓RRDTool 運行在監視服務器上。RRDTool將提供其他程序使用的兩個非常優秀的功能:

  • 它將在輪循數據庫中存儲數據。隨著捕捉的數據變得越來越舊,解析的精確性將變得越來越低。這將占用很少的內存并且在大多數情況下仍然有用。


  • 它可以通過使用命令行實參根據捕捉的數據生成圖形。


ganglia運維監控解決方案及與nagios監控整合

工作原理圖


Ganglia的核心包含gmetad、gmond以及一個Web前端。主要是用來監控系統性能,如:cpu、mem、硬盤利用率,I/O負載、網絡流量情況等,通過曲線很容易見到每個節點的工作狀態,對合理調整、分配系統資源,提高系統整體性能起到重要作用。


gmetad可以部署在集群內任一臺節點或者通過網絡連接到集群的獨立主機,它通過單播路由的方式與gmond通信,收集區域內節點的狀態信息,并以XML數據的形式,保存在數據庫中。

每臺計算機都運行一個收集和發送度量數據的名為gmond(帶來的系統負載非常少)的守護進程。

RRDTool工具處理數據,并生成相應的的圖形顯示,以Web方式直觀的提供給客戶端。



安裝軟件包依賴性

yum install -y libart_lgpl_devel gcc gcc-c++ python-devel pcre-devel expat-devel rrdtool-devel apr-devel rpm-build


rpm -ivh libconfuse-2.6-3.el6.x86_64.rpm libconfuse-devel-2.6-3.el6.x86_64.rpm

rpmbuild -tb ganglia-3.3.7.tar.gz
cd /root/rpmbuild/RPMS/x86_64           //放有ganglia源碼包rpmbuild的包5個
ganglia-devel-3.6.0-1.x86_64.rpm
ganglia-gmetad-3.6.0-1.x86_64.rpm
ganglia-gmond-3.6.0-1.x86_64.rpm
ganglia-gmond-modules-python-3.6.0-1.x86_64.rpm
libganglia-3.6.0-1.x86_64.rpm


rpm -ivh *

vi /etc/ganglia/gmond.conf

cluster {
	name = "my cluster"
	owner = "unspecified"
	latlong = "unspecified"
	url = "unspecified"
	}


service gmetad start

service gmond start


rpmbuild -tb ganglia-web-3.4.2.tar.gz

cd /root/rpmbuild/RPMS/noarch

ganglia-web-3.5.10-1.noarch.rpm

yum localinstall ganglia-web-3.5.10-1.noarch.rpm (默認安裝路徑是/var/www/html/ganglia)


/etc/init.d/httpd restart     //現在就可以用打開ganglia-web(http://ip/ganglia)查看本機檢測信息

此時本機是server+client,若想再監測其他主機,須在其上安裝以下包:

ganglia-gmond-3.6.0-1.x86_64.rpm

ganglia-gmond-modules-python-3.6.0-1.x86_64.rpm

libganglia-3.6.0-1.x86_64.rpm

libconfuse-2.6-3.el6.x86_64.rpm

vi /etc/ganglia/gmond.conf         //和上邊修改一樣

/etc/init.d/gmond start


現在可以重新啟動 gmetad,刷新Web 瀏覽器,然后應當會看到節點現在出現在列表中

進入/var/lib/ganglia/rrds目錄,可以看到每個主機的度量指標,生成了易于查看的圖形.


-------------------------------------------------------------


ganglia+nagios整合:

Ganglia Nagios,這是兩個用于監視數據中心的工具。這兩個工具被大量用于高性能計算(HPC)環境中,但是它們對于其他環境也具有很大的吸引力(例如云、呈 現集群和托管中心)。此外,兩者對監視的定義也采取了不同的側重點。Ganglia更多地與收集度量數據并隨時跟蹤這些數據有關,而Nagios 一直致力于成為一種報警機制。


tar zxf ganglia-3.6.0.tar.gz

cd ganglia-3.6.0/contrib

./check_ganglia.py -h ip -m disk_free -w 20 -c 10 //-h后根檢測主機的iphostname,-m后跟要監測的對象,-w、-c指定警告和緊急的閥值


cp /ganglia-3.1.7/contrib/check_ganglia.py /usr/local/nagios/libexec :ganglianagios可以部署在不同的主機

vi /usr/local/nagios/libexec/check_ganglia.py   //注意此處格式要求嚴格
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)


chown nagios.nagios check_ganglia.py


配置nagios:

vi /usr/local/nagios/etc/objects/commands.cfg

define command {

command_name check_ganglia

command_line $USER1$/check_ganglia.py -h $HOSTNAME$ -m $ARG1$ -w $ARG2$ -c $ARG3$

}


vi /usr/local/nagios/etc/objects/templates.cfg

define service {

use generic-service

name ganglia-service

hostgroup_name ganglia-servers

service_groups ganglia-metrics

}


vi /usr/local/nagios/etc/objects/hosts.cfg

define host {

use linux-server

host_name ty2.org

address   192.168.0.21

}

define hostgroup {

hostgroup_name ganglia-servers

alias ganglia-servers

members ty2.org                 //hostgroup中的members必須要有host定義匹配

}


vi services.cfg

define service{

use                      ganglia-service

service_description      根分區

check_command           check_ganglia!disk_free_percent_rootfs!20!10

}


define service{

use                      ganglia-service

service_description      系統負載

check_command            check_ganglia!load_one!4!5

}


define service{

use                      ganglia-service

service_description      內存空閑

check_command            check_ganglia!mem_free!50000!30000

}


define servicegroup {

servicegroup_name ganglia-metrics

alias Ganglia Metrics

}


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

/etc/init.d/nagios reload

監控成功,nagios下就可以看見ganglia監測主機的信息




向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女