com base na minha pesquisa eu encontrei os plugins python são capazes de enviar dados marcados (Write_tsdb plugin por exemplo), mas não há uma maneira fácil de marcar os dados do plugin do sistema, como cpu, memória etc)
Eu registro várias estatísticas genéricas e personalizadas de vários servidores diferentes usando collectd
para um único host executando um ouvinte de rede. A configuração é bem simples. Todos os sistemas executam uma instância de collectd. O servidor de coleta executa o plug-in rrdtool para salvar os dados e executar o plugin de rede no modo de servidor para manter uma porta aberta e coletar coisas de todos os outros. Todos os outros servidores não possuem nenhum plug-in de gravação e apenas executam a rede no modo cliente para passar os dados que coletaram. O legal dessa configuração é que todos os dados escritos por rrdtool
vêm em uma estrutura de arquivos consistente e fácil de processar para gráficos e outros monitores.
Isso funciona muito bem para um layout simples com um hub para o qual todos podem enviar. Agora estou tentando configurar uma configuração mais complexa. Ainda usando o mesmo servidor central e clientes, o daemon que executa um desses clientes é capaz de reunir estatísticas para vários hosts diferentes de si mesmo que não podem executar o próprio daemon collectd
.
A
/|\
B C D
|\
E F
Eu sou capaz de configurar as configurações em C, de modo que ele relate as estatísticas que coletou de E e F. Isso funciona.
O que não posso fazer é fazer com que o C relate esses dados em vários nomes de host diferentes. Todos os dados enviados são rotulados com seu próprio host, o que é incorreto. Como posso identificar alguns dos blocos Plugin ou Type no collectd.conf
para se reportarem como pertencentes a um host diferente do computador que executa o daemon?
com base na minha pesquisa eu encontrei os plugins python são capazes de enviar dados marcados (Write_tsdb plugin por exemplo), mas não há uma maneira fácil de marcar os dados do plugin do sistema, como cpu, memória etc)
Sim; existe uma configuração em collectd.conf
chamada Hostname
; mude isso para qualquer hostname que você quiser.
Você provavelmente também desejará definir FQDNLookup
to false
; caso contrário, esses sistemas não enviarão dados quando a pesquisa do FQDN falhar.
No arquivo collectd.conf, você deseja adicionar:
Hostname "some.host.example.com"
FQDNLookup false
... all your other settings ...
Algumas configurações podem ser substituídas em um plug-in; você pode conseguir trocar Hostname
em um plugin do padrão global.