Ganglia é uma estrutura de monitoramento para clusters de servidores. Ele registra muitas estatísticas e também pode registrar as definidas de forma personalizada. Ele funciona de maneira distribuída, com cada máquina da qual você deseja coletar estatísticas para executar o deamon do monitor Ganglia, gmond. As estatísticas de cada deamon de monitoramento são coletadas por um daemon de metadados, gmetad, rodando em um dos hosts monitorados ou em uma máquina separada. O Ganglia fornece um frontend PHP que exibe os dados do gmetad na forma de gráficos bonitos.
As etapas necessárias para instalar o Ganglia, como acontece com muitos softwares distribuídos, não são imediatamente óbvias. Este é um guia para colocá-lo em funcionamento no Ubuntu 12.04.
Mude seu diretório para $ HOME
cd $HOME
Primeiro, precisamos instalar os pacotes necessários para o Ganglia. Você precisa dos pacotes dev enquanto estamos construindo a partir do código-fonte; os pacotes dev trazem os arquivos de cabeçalho necessários para compilar o ganglia. Os pacotes dev extraem seus pacotes binários associados, no entanto, você só precisa especificar o seguinte para obter tudo o que precisa:
sudo apt-get update
sudo apt-get install build-essential librrd2-dev libapr1-dev libconfuse-dev libexpat1-dev python-dev
Baixe o arquivo tar de ganglia.sourceforge.net no link abaixo: ganglia-3.0.07.tar.gz
http://sourceforge.net/projects/ganglia/files/ganglia%20monitoring%20core/
Extraia o tarball
tar -zxvf ganglia-3.0.7.tar.gz
Instalando Gmond e Gmetad
cd ganglia-3.0.7
./configure --with-gmetad
make
sudo make install
Executando front-end da web
sudo apt-get install apache2 php5-mysql libapache2-mod-php5 rrdtool
sudo cp -r ganglia-3.0.7/web /var/www
sudo mkdir /var/www/ganglia
sudo mv /var/www/web /var/www/ganglia
A primeira etapa é gerar um arquivo de configuração padrão e personalizá-lo para o seu site.
sudo mkdir /etc/ganglia
sudo gmond --default_config > /etc/ganglia/gmond.conf
sudo ln -s /etc/ganglia/gmond.conf /etc/gmond.conf
Abra /etc/ganglia/gmond.conf e altere as linhas:
cluster {
name = "unspecified"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}
para valores adequados para o seu sistema. Altere o nome e o proprietário do cluster
cluster {
name = "HadoopCluster"
owner = "localhost"
latlong = "unspecified"
url = "unspecified"
}
Para executar o gmond, você precisa usar o sudo. Gmond irá deseamonizar automaticamente assim que for iniciado.
sudo gmond
Você pode usar o ps para testar se o aplicativo está em execução.
ps aux | grep gmond
Ouput será parecido assim
nobody 24069 3.1 0.7 4304 1872 ? Ss 15:45 0:00 gmond
hadoop 24071 0.0 0.2 3004 756 pts/0 R+ 15:45 0:00 grep gmond
Por fim, abra a porta que gmond escuta com telnet para verificar se ele está produzindo saída nessa porta.
telnet localhost 8649
Você deve obter um fluxo de XML impresso na janela do terminal.
Se o daemon não for executado com êxito, você pode passar o sinalizador -d 1 para forçá-lo a ser executado em primeiro plano e imprimir mensagens de erro.
Executando Gmetad
Gmetad também precisa de um arquivo de configuração escrito. Existe uma configuração padrão no pacote fonte, que precisa ser movida para /etc/ganglia/gmetad.conf.
sudo cp gmetad/gmetad.conf /etc/ganglia/gmetad.conf
sudo nano /etc/ganglia/gmetad.conf
Remova o comentário / altere as seguintes linhas:
data_source "HadoopCluster" localhost
gridname "Grid"
sudo ln -s /etc/ganglia/gmetad.conf /etc/gmetad.conf
Abra /etc/ganglia/gmetad.conf e altere o usuário sob o qual ele é executado para “nobody”. Em seguida, o diretório para Gmetad armazenar seus arquivos rrd precisa ser criado.
sudo mkdir -p /var/lib/ganglia/rrds/
sudo chown -R nobody /var/lib/ganglia/rrds/
Em seguida, inicie o gmetad no modo de depuração para ter certeza de que funciona. Novamente, -d 1 força o programa a ser executado em primeiro plano.
sudo gmetad -d 1
Se você abrir o front-end da Web do Ganglia novamente, ele deve funcionar (http: // <hostname> / ganglia /). Se não houver gráficos, você pode ter esquecido de instalar o rrdtool.
Depois de ter certeza de que tudo está funcionando, você pode matar o gmetad e reiniciá-lo, permitindo que ele desamonize:
sudo gmetad
Finalmente, execute algum trabalho em seu cluster para ter certeza de que o ganglia está monitorando-o corretamente!
Ainda não escrevi scripts de inicialização para Ganglia. Se alguém tiver, adoraria ter uma cópia.! 🙂