Ganglia sem multicast

5

Estou executando o Ganglia 3.1.2 em uma rede onde não há multicast (nem posso ligá-lo). Alguém tem uma solução elegante para obter os gânglios para funcionar corretamente? Eu encontrei isto:

link

mas não se adapta muito bem.

Neste momento, tenho linhas data_source separadas para cada host na minha rede no arquivo gmetad.conf, mas isso também não se adapta bem, e não consigo obter estatísticas resumidas precisas, porque ele sobrescreve os rrds (embora as estatísticas do host funcionam bem).

Todos os ponteiros seriam muito apreciados (ou a confirmação de que já encontrei a melhor solução).

Obrigado!

    
por jedberg 09.06.2009 / 02:03

4 respostas

5

Depois de mais pesquisas, encontrei a resposta. Nos meus clientes, adicionei o seguinte ao gmond.conf:

udp_send_channel {
  host = monitoring-host
  port = 8666
  ttl = 1
}

udp_send_channel {
  host = monitoring-host-backup
  port = 8666
  ttl = 1
}

Isso envia os dados via UDP unicast para o host de monitoramento e o backup a cada 1 segundo.

Em seguida, no host de monitoramento, adicionei isso:

udp_recv_channel {
  port = 8666
}

A chave é se livrar da entrada multicast, que está lá por padrão.

    
por 09.06.2009 / 04:28
2

Isso funciona, mas o problema é que todos os nós terminarão na mesma origem de dados padrão, portanto, as informações do cluster serão perdidas, o que não é bom para ambientes com vários clusters.

Ainda não tentei, mas uma possível solução para isso seria criar um canal UDP para cada cluster, o que não é tão bom se você tiver muitos deles.

Edição posterior:

Minha configuração atual está usando unicast no nível do cluster devido a limitações de rede e todos os dados estão sendo enviados para um nó de cada cluster. Em seguida, entro em contato com cada um deles usando metadados para obter todos os dados referentes a esse cluster.

Dessa forma, os clusters serão atribuídos a suas próprias fontes de dados e suas informações completas estarão lá.

A configuração ficaria assim:

# on each node in the cluster
udp_send_channel {
  host = 1.2.3.4 # this is a member of the cluster, not a metad server
  port = 8650
}

Em seguida, nos metadados:

data_source "My Cluster" 1.2.3.4

Para redundância, você pode ter várias entradas udp_send_channel e vários IPs listados no data_source. Eu pessoalmente uso dois para cada cluster.

Para federação eu uso algo assim:

data_source "My Grid" 1.2.3.5:8651

Isso é válido somente se você tiver metadados ouvindo na porta 8651.

    
por 17.05.2011 / 19:39
2

Estava enfrentando o mesmo problema com o modo multicast ao configurar o Ganglia na nuvem do Amazon EC2, o que impede o uso de multicast em sua rede. A solução possível é mudar para o modo unicast, que funciona felizmente.

Para ser muito conciso, os passos simples abaixo estão disponíveis para se livrar do modo multicast.

  1. Faça um de seus nós dominar executando o daemon gmond (coletor de dados do gânglio).

Exemplo: 10 nós estão lá que estão executando o daemon gmond. Escolha um nó qualquer de 10 e faça com que o Mestre, que estará obtendo todos os dados de 10 nós, também seja o escravo de si mesmo.

# Define the cluster.
cluster {
  name = "Yellow"
  owner = "Your Company"
  latlong = "N34.02 W118.45"
  url = "http://yourcompany.com/"
}

# Disable multicast and define the host, the yellow master, where nodes in the cluster send data.

udp_send_channel {
  # mcast_join = 239.2.11.71  (No need to join as mcast is not being used)
  host = master.among10node.com  (put the IP/Hostname of server from any 10 nodes to ack as                  master)
  port = 8649
  ttl = 1
}

udp_recv_channel {
  # mcast_join = 239.2.11.71   (Disabled mcast as it is not being used)
  port = 8649
  # bind = 239.2.11.71  (No need to bind as mcast is not being used)
} 

Nota: Copie a mesma configuração em todos os 10 nós que executam o daemon gmond. Reinicie o Mestre primeiro e depois todos os outros. Espero que funcione e o Nó Principal esteja com todos os dados de outros nós.

Agora configure o daemon do consolidador de dados do Ganglia (gmetad) para usar o seu nó mestre como fonte de dados primária.

Exemplo:

data_source "Yellow" master.among10node.com 

# default port is 8649, define here if you are using non default

Agora reinicie o daemon gmetad e deixe a mágica começar.

Felicidades Mohd Mozammil Khan

    
por 24.02.2012 / 12:19
0

Veja também:

link

Instalei hoje e consegui trabalhar no EC2, que não permite multicast.

    
por 14.06.2013 / 09:15