O collectd é um daemon Unix que coleta, transfere e armazena dados de desempenho de computadores e equipamentos de rede. Os dados adquiridos têm como objetivo ajudar administradores de sistemas a manter uma visão geral dos recursos disponíveis para detectar gargalos existentes ou iminentes.

A primeira versão do daemon foi escrita em 2005 por Florian Forster e tem sido desenvolvida desde então como um projeto de código aberto e livre. Outros desenvolvedores escreveram melhorias e extensões para o software que foram incorporadas ao projeto. A maioria dos arquivos do código-fonte está licenciada sob os termos da GNU General Public License, versão 2 (GPLv2), enquanto os arquivos restantes estão licenciados sob outras licenças de código aberto.

Funcionamento O collectd utiliza um design modular: o daemon em si implementa apenas a infraestrutura para filtragem e retransmissão de dados, além de funções auxiliares, e requer muito poucos recursos, chegando a rodar inclusive em dispositivos embarcados baseados em OpenWrt. A aquisição e o armazenamento de dados são controlados por plug-ins na forma de objetos compartilhados (shared objects). Dessa forma, o código específico para um determinado sistema operacional é mantido, em sua maior parte, fora do daemon principal. Os plug-ins podem ter suas próprias dependências, como um sistema operacional específico ou bibliotecas de software. Outras tarefas executadas pelos plug-ins incluem o processamento de "notificações" e mensagens de log.

Os plug-ins de aquisição de dados, chamados de "plug-ins de leitura" (read plug-ins) na documentação do collectd, podem ser divididos basicamente em três categorias: Plug-ins de sistema operacional: coletam informações como utilização de CPU, uso de memória ou número de usuários logados em um sistema. Esses plug-ins geralmente precisam ser portados para cada sistema operacional. Nem todos esses plug-ins estão disponíveis para todos os sistemas operacionais. Plug-ins de aplicação: coletam dados de desempenho de ou sobre uma aplicação em execução no mesmo computador ou em um computador remoto, como o Servidor HTTP Apache. Esses plug-ins frequentemente utilizam bibliotecas de software, mas, fora isso, costumam ser independentes do sistema operacional. Plug-ins genéricos: oferecem funções básicas que o usuário pode empregar para executar tarefas específicas. Exemplos incluem a consulta a equipamentos de rede usando o protocolo SNMP ou a execução de programas ou scripts personalizados.

Os chamados "plug-ins de escrita" (write plug-ins) oferecem a possibilidade de armazenar os dados coletados no disco utilizando arquivos RRD ou CSV, ou de enviar os dados pela rede para uma instância remota do daemon.

Rede Incluído na distribuição do código-fonte do collectd está o plug-in chamado "network", que pode ser usado para enviar e receber dados de/para outras instâncias do daemon. Em uma configuração de rede típica, o daemon seria executado em cada host monitorado (chamados de "clientes") com o plug-in de rede configurado para enviar os dados coletados para um ou mais endereços de rede. Em um ou mais computadores chamados de "servidores", o mesmo daemon seria executado, mas com uma configuração diferente, de modo que o plug-in de rede receba os dados em vez de enviá-los. Frequentemente, o plug-in do RRDtool é utilizado nos servidores para armazenar os dados de desempenho.

O plug-in utiliza um protocolo de rede binário sobre UDP. Tanto IPv4 quanto IPv6 são suportados como camada de rede. É possível utilizar endereçamento unicast (ponto a ponto) e multicast (ponto a grupo). A autenticação e a criptografia foram adicionadas ao protocolo na versão 4.7.0, lançada em maio de 2009.

Ver também Cacti Comparação de sistemas de monitoramento de rede Monitor de sistema Multi Router Traffic Grapher (MRTG) Munin Shinken Zabbix

Referências

Ligações externas

Lista de plug-ins disponíveis (em inglês)

Categoria:Software livre de gerenciamento de rede Categoria:Software livre programado em C Categoria:Software usando a licença MIT