CentOS Ganglia Monitoring

Ganglia Ganglia — масштабируемая распределенная система мониторинга кластеров параллельных и распределенных вычислений и облачных систем с иерархической структурой. Позволяет наблюдать статистику и историю вычислений в реальном времени для каждой из наблюдаемых машин. Ganglia используется для связи кластеров в университетских кампусах по всему миру и может масштабироваться для обработки кластеров имеющих до 2000 узлов в своем составе.

Сервер на котором будем устанавливать Ganglia Monitoring

# uname -a
Linux devops.bezha.od.ua 2.6.32-220.17.1.el6.x86_64 2012 x86_64 GNU/Linux
# lsb_release -a
Distributor ID:	CentOS
Description:	CentOS release 6.2 (Final)
Release:	6.2
Codename:	Final

Скачиваем и устанавливаем Epel

# rpm -Uvh http://ftp.tlk-l.net/pub/mirrors/fedora-epel/6/i386/epel-release-6-7.noarch.rpm

Ganglia состоит из:
ganglia-gmetad: Ganglia Metadata collection daemon
ganglia-gmond: Ganglia Monitoring daemon
ganglia-web: Ganglia Web Frontend (Apache + php + rddtool)

Устанавливаем gmetad

# yum install ganglia-gmetad
# chkconfig gmetad on
# service gmetad start

Устанавливаем gmond

# yum install ganglia-gmond
# chkconfig gmond on
# service gmond start

Устанавливаем ganglia-web

# yum install ganglia-web httpd rrdtool php
# chkconfig httpd on
# service httpd start

gmond.conf

# grep -v -E "#|^$" gmond.conf 
/* This configuration is as close to 2.5.x default behavior as possible
   The values closely match ./gmond/metric.h definitions in 2.5.x */
globals {
  daemonize = yes
  setuid = yes
  user = ganglia
  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
  send_metadata_interval = 0 /*secs */
}
/*
 * The cluster attributes specified will be used as part of the 
 * tag that will wrap all hosts collected by this instance.
 */
cluster {
  name = "bezha.od.ua"
  owner = "Bezha"
  latlong = "unspecified"
  url = "unspecified"
}

gmetad.conf

# grep -v -E "#|^$" gmetad.conf 
data_source "my cluster" localhost
case_sensitive_hostnames 1

# gstat -a
CLUSTER INFORMATION
       Name: bezha.od.ua
      Hosts: 1
Gexec Hosts: 0
 Dead Hosts: 0
  Localtime: Fri Jun  1 16:46:29 2012

CLUSTER HOSTS
Hostname                     LOAD                       CPU              Gexec
 CPUs (Procs/Total) [     1,     5, 15min] [  User,  Nice, System, Idle, Wio]

devops.bezha.od.ua
    2 (    1/  431) [  0.51,  0.37,  0.32] [   8.5,   4.1,  15.0,  71.9,   0.5] OFF

Добавить вторую Node
Нa сервере Ganglia

# grep -v -E "#|^$" gmetad.conf 
data_source "Cluster1" devops.bezha.od.ua
data_source "Cluster2" vps.bezha.od.ua:8649
gridname "BezhaGrid"

На второй ноде, установить ganglia-gmond

# yum install ganglia-gmond
# grep -v -E "#|^$" gmond.conf 
globals {                    
  daemonize = yes              
  setuid = yes             
  user = ganglia              
  debug_level = 0               
  max_udp_msg_len = 1472        
  mute = no             
  deaf = no             
  host_dmax = 0 /*secs */ 
  cleanup_threshold = 300 /*secs */ 
  gexec = no             
} 
cluster { 
  name = "vps.bezha.od.ua" 
  owner = "Bezha" 
  latlong = "unspecified" 
  url = "bezha.od.ua" 
} 
host { 
location = "unspecified" 
} 
  udp_send_channel { 
  mcast_join = 192.168.1.10
  port = 8649 
}
udp_recv_channel { 
  port = 8649 
} 

Запускаем gmond

# chkconfig gmond on
# service gmond start