Você pode usar o software de monitoramento ganglia (gratuito, código aberto). Ele tem um número de módulos métricos de DSM do Gmond Python contribuídos pelo usuário , incluindo um módulo GPU Nvidia ( /ganglia/gmond_python_modules/gpu/nvidia/
).
Sua arquitetura é típica de um software de monitoramento de cluster:
( fonte da imagem )
É simples de instalar (~ 30 minutos sem apressar), exceto o módulo GPU Nvidia, que não possui documentação clara. (Ainda estou preso )
Para instalar os gânglios, você pode fazer o seguinte. No servidor:
sudo apt-get install -y ganglia-monitor rrdtool gmetad ganglia-webfrontend
Escolha Yes
cada vez que você estiver fazendo uma pergunta sobre o Apache
Primeiro,configuramososervidorGanglia,porexemplo,gmetad
:
sudocp/etc/ganglia-webfrontend/apache.conf/etc/apache2/sites-enabled/ganglia.confsudonano/etc/ganglia/gmetad.conf
Emgmetad.conf
,façaasseguintesalterações:
Substituir:
data_source"my cluster" localhost
por (assumindo que 192.168.10.22
é o IP do servidor)
data_source "my cluster" 50 192.168.10.22:8649
Isso significa que o Ganglia deve escutar na porta 8649 (que é a porta padrão do Ganglia). Você deve se certificar de que o IP e a porta estejam acessíveis para os clientes do Ganglia que serão executados nas máquinas que você planeja monitorar.
Você agora pode iniciar o servidor Ganglia:
sudo /etc/init.d/gmetad restart
sudo /etc/init.d/apache2 restart
Você pode acessar a interface da web no link (onde 192.168.10.22
é o IP do servidor)
Segundo , configuramos o cliente do Ganglia (por exemplo, gmond
), na mesma máquina ou em outra máquina.
sudo apt-get install -y ganglia-monitor
sudo nano /etc/ganglia/gmond.conf
Em gmond.conf
, faça as seguintes alterações para que o cliente do Ganglia, por exemplo, gmond
, aponte para o servidor:
Substituir:
cluster {
name = "unspecified"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}
para
cluster {
name = "my cluster"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}
Substituir
udp_send_channel {
mcast_join = 239.2.11.71
port = 8649
ttl = 1
}
por
udp_send_channel {
# mcast_join = 239.2.11.71
host = 192.168.10.22
port = 8649
ttl = 1
}
Substituir:
udp_recv_channel {
mcast_join = 239.2.11.71
port = 8649
bind = 239.2.11.71
}
para
udp_recv_channel {
# mcast_join = 239.2.11.71
port = 8649
# bind = 239.2.11.71
}
Agora você pode iniciar o cliente do Ganglia:
sudo /etc/init.d/ganglia-monitor restart
Ele deve aparecer dentro de 30 segundos na interface da Web do Ganglia no servidor (por exemplo, link ).
Como o arquivo gmond.conf
é o mesmo para todos os clientes, você pode adicionar o monitoramento de ganglia em uma nova máquina em alguns segundos:
sudo apt-get install -y ganglia-monitor
wget http://somewebsite/gmond.conf # this gmond.conf is configured so that it points to the right ganglia server, as described above
sudo cp -f gmond.conf /etc/ganglia/gmond.conf
sudo /etc/init.d/ganglia-monitor restart
Eu usei os seguintes guias:
Um script bash para iniciar ou reiniciar gmond
em todos os servidores que você deseja monitorar:
deploy.sh
:
#!/usr/bin/env bash
# Some useful resources:
# while read ip user pass; do : http://unix.stackexchange.com/questions/92664/how-to-deploy-programs-on-multiple-machines
# -o StrictHostKeyChecking=no: https://sobrelinux.info/questions/92656/regarding-host-key-verification-failed"$pass" ssh $user@$ip -o StrictHostKeyChecking=no -T "
echo $pass | sudo -S sudo /etc/init.d/ganglia-monitor restart
"
echo 'done'
done 3<servers.txt
servers.txt
:
53.12.45.74 my_username my_password
54.12.45.74 my_username my_password
57.12.45.74 my_username my_password
Capturas de tela da página principal na interface da Web:
O
link oferece uma boa visão geral da interface da Web do Ganglia: