1. 程式人生 > >Ganglia安裝(Centos6.5)

Ganglia安裝(Centos6.5)

前言:

Ganglia是加州伯克利大學千禧計劃的其中一個開源專案,以BSD協議分發。是一個叢集彙總監控用的的軟體,和很多人熟知的Cacti不同,cacti是詳細監控叢集中每臺伺服器的執行狀態,而Ganglia是將叢集中的伺服器資料進行彙總然後監控。有時通過cacti或者zabbix看不出來的叢集總體負載問題,卻能夠在Ganglia中體現,其叢集的熵圖我個人認為是個挺亮點的東西,一眼就明確叢集的負載狀況。中文翻譯叫神經中樞,一目瞭然,言簡意賅。

ganglia是一個用於監控Linux系統叢集環境的主機各項效能的開源軟體,使用廣泛。
裝這個東西竟然花了我幾天的時間,實在覺得有點浪費了。所以先和大家說,最好不要去解壓ganglia某個版本的包和依賴圖形軟體rrdtool的包,因為他們對版本環境什麼的都有各種要求,裝起來比較麻煩,並且最後還會出現一些未知的問題,就是我踩過的各種坑。現在給大家貼一個簡單的安裝方法,全程yum,主要是快而且不容易出問題,也留給以後的自己。

流行的開源伺服器叢集監控工具有很多,例如Nagios、Cacti、Ganglia、Zenoss、Clumon,它們在底層都利用了RRDTool。國內最常用的就是Cacti+Nagios,但是Ganglia其實也很不錯,Ganglia+Nagios的組合也很強大。
Ganglia是一個可伸縮的監控系統,尤其適合用來監計算機叢集、網格等。
監控端:由gmetad(主程式)、ganglia-web(web檔案)及rrd組成;
被監控端:gmond(收集本機資料,併發送至其他機器上,並非只是監控端;且收集其它被監控端資料,供監控端讀取)
Ganglia的收集資料工作可以工作在單播(unicast)或多播(multicast)模式下,預設為多播模式。 
單播:傳送自己收集到的監控資料到特定的一臺或幾臺機器上,可以跨網段 
多播:傳送自己收集到的監控資料到同一網段內所有的機器上,同時收集同一網段內的所有機器傳送過來的監控資料。因為是以廣播包的形式傳送,因此需要同一網段內。但同一網段內,又可以定義不同的傳送通道。


安裝:

所有節點:(我這裡只要三臺虛擬機器192.168.205.148、192.168.208.157、192.168.205.158)
以主節點192.168.205.148為例
vi /etc/hosts
192.168.205.148 HUI-01
192.168.205.157 HUI-02
192.168.205.158 HUI-03

vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=HUI-01

三臺節點都重啟reboot

先查詢Centos6.5自帶的yum
[[email protected] ~]# rpm -qa |grep yum
yum-utils-1.1.30-14.el6.noarch
yum-plugin-fastestmirror-1.1.30-14.el6.noarch
PackageKit-yum-0.5.8-21.el6.x86_64
yum-3.2.29-40.el6.centos.noarch
PackageKit-yum-plugin-0.5.8-21.el6.x86_64
yum-plugin-security-1.1.30-14.el6.noarch
yum-metadata-parser-1.1.2-16.el6.x86_64
You have mail in /var/spool/mail/root
然後刪除自帶的yum
[

[email protected] ~]# rpm -qa|grep yum|xargs rpm -e --nodeps(不檢查依賴,直接刪除rpm包)
[[email protected] ~]# rpm -qa |grep yum

根據網易映象查詢相關centos的yum安裝包
http://mirrors.163.com/centos/6/os/x86_64/Packages/
它這個網站最後兩個rpm包沒有相應的版本,有可能是時間的問題,我已經把這四個包上傳,地址:http://download.csdn.net/download/m0_37739193/9947144

[[email protected] ~]# cd /mnt/
[[email protected] mnt]# ls
python-iniparse-0.3.1-2.1.el6.noarch.rpm  yum-3.2.29-40.el6.centos.noarch.rpm  yum-metadata-parser-1.1.2-16.el6.x86_64.rpm  yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
[[email protected] ~]# rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm
warning: python-iniparse-0.3.1-2.1.el6.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
        package python-iniparse-0.3.1-2.1.el6.noarch is already installed
(如果你想去掉Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY這行警告可執行rpm --import /etc/pki/rpm-gpg/RPM*)
[[email protected] ~]# rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
Preparing...                ########################################### [100%]
   1:yum-metadata-parser    ########################################### [100%]
[[email protected] ~]# rpm -ivh yum-3.2.29-40.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
Preparing...                ########################################### [100%]
   1:yum-plugin-fastestmirro########################################### [ 50%]
   2:yum                    ########################################### [100%]

[[email protected] ~]# cd /etc/yum.repos.d/
[[email protected] ~]# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
[[email protected] yum.repos.d]# yum clean all清除原有快取
[[email protected] yum.repos.d]# yum makecache獲取yum列表

更新安裝epel
[[email protected] yum.repos.d]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Retrieving http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
warning: /var/tmp/rpm-tmp.tV5yAh: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]
(你會發現在/etc/yum.repo目錄下會多出epel.repo和epel-testing.repo這兩個檔案)

伺服器端192.168.205.148執行:
安裝gmetad
yum install -y ganglia-gmetad ganglia-devel

安裝依賴圖形軟體rrdtool,先確認已解除安裝舊版本
yum erase rrdtool -y
yum install -y rrdtool

安裝httpd伺服器(用於搭建php網頁伺服器)
yum install -y httpd

安裝ganglia-web及php
yum install -y ganglia-web php

192.168.205.157、192.168.205.158安裝gmond(客戶端)
yum install -y ganglia-gmond

軟體安裝目錄說明
ganglia配置檔案目錄:/etc/ganglia
rrd資料庫存放目錄:/var/lib/ganglia/rrds
httpd主站點目錄:/var/www/html
ganglia-web安裝目錄:/usr/share/ganglia
ganglia-web配置目錄:/etc/httpd/conf.d/ganglia.conf

在192.168.205.148配置服務端(gmetad)
將ganglia-web的站點目錄連線到httpd主站點目錄
ln -s /usr/share/ganglia/ /var/www/html/

修改httpd主站點目錄下ganglia站點目錄的訪問許可權
將ganglia站點目錄訪問許可權改為apache:apache
chown -R apache:apache /var/www/html/ganglia/
chmod -R 755 /var/www/html/ganglia/

修改rrd資料庫存放目錄訪問許可權
將rrd資料庫存放目錄訪問許可權改為ganglia:ganglia,這個是預設許可權,也可以在gmetad中修改為root或nobody,這邊做相應修改
chown -R ganglia:ganglia /var/lib/ganglia/rrds/
修改ganglia-web的訪問許可權:
vi /etc/httpd/conf.d/ganglia.conf

Alias /ganglia /usr/share/ganglia
  <Location /ganglia>
    Order deny,allow
    # Deny from all
    # Allow from 127.0.0.1
    # Allow from ::1
    Allow from all
    # Allow from .example.com
  </Location>
配置/etc/ganglia/gmetad.conf
data_source "my cluster" 1 192.168.205.148 192.168.205.157
gridname "HUI QIANG"
每個data_source由3個欄位組成。第一個欄位為唯一標識data_source的字串;第二個欄位為指定輪詢間隔(單位:秒)的數字;第三個欄位為以空格分開的所要輪詢資料的主機列表,這些地址以IP地址或DNS主機名的形式指定,並可能新增“:埠號”形式的字尾,該埠號指明gmond的tcp_accept_channel所在位置。如果未指明埠號,gmetad將嘗試連線tcp/8649。
注意: gmetad會依次檢測指定主機,並從第一臺響應主機開始收集狀態資料,所以無需在data_source定義裡指定叢集內的所有主機。假若有節點失效,通常指定兩三個主機也就足夠保證資料的收集。

case_sensitive_hostnames 1
這個也可以不配置。在gmetad之前版本中,RRD檔案區分主機名大小寫,但是現在已經有所改變。如果希望繼續使用Ganglia 3.2之前版本建立的RRD檔案,將該值設定為1。從Ganglia 3.2開始,該值預設設定為0。

service gmetad start

在192.168.205.157、192.168.205.158配置客戶端(gmond)
被監控節點配置檔案gmond.conf:
按上面的步驟安裝完後其實已經存在/etc/ganglia/gmond.conf檔案了,但如果你將此配置檔案瞎改後想還原預設配置的話可以做這一步:
gmond -t | tee /etc/ganglia/gmond.conf(生成預設配置檔案)

gmond.conf包括了幾個部分:globals、cluster、udp_send_channel、udp_recv_channel等,如果只是想要Ganglia簡單地執行
只需命名一個cluster名稱,名稱與gmetad.conf中的data_source保持一致。我的命名:name = "my cluster"
把這個gmond.conf配置檔案分發到每個被監控的節點伺服器上,重啟監控端的gmetad和gmond,以及節點端的gmond,即可對節點進行監控。 

service gmond start

如果你修改了rrd資料資料夾的讀寫許可權,下面兩處也需要修改一下,假如許可權組為nobody

globals {
daemonize = yes      #以後臺的方式執行
setuid = yes
user = nobody        #執行gmond的使用者
debug_level = 0      #除錯級別
max_udp_msg_len = 1472
mute = no            #啞巴,本節點將不會再廣播任何自己收集到的資料到網路上
deaf = no            #聾子,本節點將不再接收任何其他節點廣播的資料包
allow_extra_data = yes
host_dmax = 0 /*secs */
cleanup_threshold = 300 /*secs */
gexec = no           #是否使用gexec
send_metadata_interval = 0 /*secs */
}
cluster {
name = "my cluster"  #本節點屬於哪個cluster
owner = "nobody"     #誰是該節點的所有者
latlong = "unspecified"
url = "unspecified"
}
客戶端監控安裝完成後,配置檔案位於安裝Ganglia的etc目錄下,名稱為gmond.conf,這個配置檔案稍微複雜,其他內容介紹如下:
host {
  location = "unspecified"  
 }
 
udp_send_channel {       #udp包的傳送通道
  mcast_join = 239.2.11.71   #多播,工作在239.2.11.71通道下。如果使用單播模式,則要寫host = host1,單播模式下也可以配置多個udp_send_channel
  port = 8649            #監聽埠
  ttl = 1
}
 
udp_recv_channel {           #接收udp包配置 //如果使用單機廣播,要刪除“mcast_join”和“bind”
  mcast_join = 239.2.11.71   #同樣工作在239.2.11.71通道下
  port = 8649                #監聽埠
  bind = 239.2.11.71         #繫結
}

tcp_accept_channel {
  port = 8649               #通過tcp協議監聽的埠,遠端可以通過連結8649埠得到監控資料
}
------------------------------------------
globals段:gmond的全域性配置,一般不需要修改
cluster段:這一段是重要的一段,至少需要定義name變數,所有name相同的節點將認為在同一個叢集裡,其他變數是對該叢集的說明。
host段:只有一個變數,location,是對這個節點的一些說明
udp_send_channel段:這也是很重要的一段,可以定義多個這樣的段,不過如果在通一區域網內,只有一個叢集的環境下,這一段保持預設也可以工作的很好。ganglia預設採用多播發送監控資料,mcast_join變數指定多播組。但是,並非所有環境都適合多播,例如,我的環境就不適合多播,幸運的是,ganglia也支援單播的方式,host變數指定一臺gmond伺服器接受監控資料。值得注意的是,mcast_join和host不能同時出現在一個channel裡。port 指定埠號,ttl指定跳數一般為1,如果需要經過gmond中轉,需要修改這個跳數。
udp_recv_channel段:對應於udp_send_channel段,也可以設定多個。如果採用單播的方式,需要注意bind變數指出的ip,你的所有其他gmond可以訪問到,事實上,可以使用0.0.0.0
tcp_accept_channel段:指定一個埠,可以通過TCP的的方式,從這個埠讀取XML格式的監控資料
modules段和collection_group段:這兩段會在下一篇講擴充套件gmond的文章中介紹
------------------------------------------

--檢查 gmetad 服務
telnet localhost 8651
(有大量xml資料返回,由於過多這裡就不粘貼出來了)
--檢查 gmond 服務
telnet localhost 8649

主節點192.168.205.148上:
[[email protected] ~]# service httpd restart
Stopping httpd: [  OK  ]
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
[  OK  ]
解決:
vi /etc/httpd/conf/httpd.conf   加入一句  ServerName  localhost:80
但是輸入http://192.168.205.148無法開啟網頁
結果後來發現又敗在了防火牆selinux上。。。

我這裡測試的機器太少,只有兩三臺,如果能部署在上百臺機器上效果可能會更好



點選上圖紅色箭頭所指位置有



參考:

http://slaytanic.blog.51cto.com/2057708/808981/

相關推薦

Ganglia安裝Centos6.5

前言:Ganglia是加州伯克利大學千禧計劃的其中一個開源專案,以BSD協議分發。是一個叢集彙總監控用的的軟體,和很多人熟知的Cacti不同,cacti是詳細監控叢集中每臺伺服器的執行狀態,而Ganglia是將叢集中的伺服器資料進行彙總然後監控。有時通過cacti或者zabb

Linux版本openoffice4.1.2和SwfTools的安裝CentOS6.5

Linux系統下安裝openoffice和swftools;這兩個元件在上篇部落格(線上預覽的開發解析)已經介紹過,在這裡我就詳細的說一下安裝過程(安裝過程不需要重啟伺服器): 一、openoffice4.1.2安裝 1、首先下載rmp包(官網或者其他網站都可以)但

linux基礎-系統安裝教程篇centos6.5

tps 支持 如果 地址 系統安裝 內存 pan 雙擊 內核 一.linux系統簡介:   Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程序和網絡

mysql-5.6.40 源碼安裝Centos6.6

文件 start 方式 sql命令 相關 dde rpm include star 1. 檢測系統是否自帶有mysql [root@shu1024 ~]# rpm -qa|grep mysql mysql-libs-5.1.73-3.el6_5.x86_64 若有則卸載

新手小白LinuxCentos6.5部署java web項目mysql5.7安裝及相關操作

UNC cancel linux系統安裝 temporary tran sch statement current datadir 一、安裝   參考:https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yu

新手小白LinuxCentos6.5部署java web項目mongodb4.0.2安裝及相關操作

read har space 創建 縮進 路徑 .org font url 紅帽企業或CentOS的Linux上安裝MongoDB的社區版: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-ha

伺服器部署全程記錄centos6.5 170217、nginx 安裝時候報錯:make: *** No rule to make target `build', needed by `default'. Stop. centos7 cannot find a valid base

1.安裝nginx 上傳安裝包:put E:\yz_index\installPackage\nginx-1.14.0.tar.gz 解壓:tar zxvf nginx-1.14.0.tar.gz 切換:cd nginx-1.14.0 準備編譯:./configure 編譯:ma

HBASE單機安裝教程centOS6.5

注意Hadoop與HBASE對應支援支援版本 1基本配置 1.1關閉防火牆    Chkconfig –list | grep iptables 確定全部為off 否則執行chkconfig iptables off Service iptables stop

Cloudera Manager安裝之利用parcels方式安裝3或4節點叢集包含最新穩定版本或指定版本的安裝新增服務CentOS6.5

參考部落格    ClouderManager官網的安裝歷史穩定版 https://www.cloudera.com/documentation/manager/5-1-x/Cloudera-Manager-Installation-Guide/cm5ig_install_ol

Cloudera Manager安裝之利用parcels方式安裝單節點叢集包含最新穩定版本或指定版本的安裝新增服務CentOS6.5

前期部落格 說在前面的話(看清楚就好!!!)    我這篇部落格,是兩種方式都使用過:(在/etc/yum.repos.d下的) [[email protected]clouderamanager01 yum.repos.d]$ sudo vi cl

Matlab2016 linuxcentos6.5 命令安裝,無圖形介面,解決不能在遠端安裝的破解問題

Matlab2016b安裝教程,linux 版本安裝環境:centos6.5, 遠端桌面命令安裝準備3個安裝原始檔R2016b_glnxa64_dvd1.iso, R2016b_glnxa64_dvd2.iso, Matlab-2016b-Linux64-Crack(破解檔案

Linux版本openoffice4.1.2和SwfTools的安裝CentOS6.5-6.7

Linux系統下安裝openoffice和swftools;這兩個元件在上篇部落格(線上預覽的開發解析)已經介紹過,在這裡我就詳細的說一下安裝過程(安裝過程不需要重啟伺服器): 一、openoffic

linuxcentos6.5下部署springboot jar包用 *.sh 檔案啟動專案並將專案做成開機自啟動服務

版權宣告:轉載請註明出處。 原文作者:[email protected] 原文連結:https://blog.csdn.net/weixin_42389328/article/details/83104214 第一種方法:非自啟動方式 1.如果你使用的是maven來管理專案,執行以

hadoop初識 - 搭建偽分散式叢集CentOS6.5

關於hadoop模式三種的瞭解,請自行百度瞭解,此文只說明偽分散式的搭建 前提:jdk(hadoop是有java語言完成的,必須有jdk支援) 可以參考我的經驗  --- > Linux-CentOS-6.5下配置JDK 一、準備工作 1、下載hadoop

Tomcat8開啟APR執行模式centos6.5

Tomcat有三種運營模式:bio、nio、apr,不同模式下Tomcat的執行效率差別比較大。 一、bio(blockingIO) 阻塞式IO,Tomcat6及以前版本預設執行模式,效能非常低下,沒有經過任何優化處理。 二、nio(noblocking IO) 非阻塞

Ganglia 安裝 for centos6.5

環境: centos6.5x64 ,cdh5.1.0 三個節點: c1:gmeta gmond(gmeta類似於namenode,gmond 相當於datanode)主節點 c2: gmond (相當於datanode) c3:gmond(相當於datanode) 一.Ga

解決虛擬機器選擇橋接模式連不上網CentOs6.5

保證你Vmware裡面的虛擬機器是關機狀態 右鍵點選電腦螢幕右下角小電腦圖示,選擇開啟網路與共享中心,然後點選彈出來的視窗左上角的“更改介面卡設定”。這裡指的是你Windows系統下的網路共享中心。

yum-內網yum源服務器配置CentOS6.5

tar img pan 內網 check 服務器 掛載點 x86_64 版本 一、安裝apache服務1.安裝httpd服務 yum -y install httpd (純內網用rpm包安裝也可以)2.啟動httpd服務 service httpd sta

epel源安裝Centos6.10和Centos7.5

Centos6.10 rpm -e epel-release #首先解除安裝以前裝的epel 以免影響 wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-6.repo #下載

Ambari安裝之Ambari安裝前準備(CentOS6.5

優秀部落格 Ambari安裝前準備 (一)機器準備   192.168.80.144   ambari01   (部署Ambari-server和Mirror server)          (分配1G,我這裡只是體驗過程,當然你可以分配更多或更小)    192.1