| collectd | |
|---|---|
| Autor original | Florian Forster |
| Lançamento | 8 de julho de 2005 |
| Versão estável | |
| Escrito em | C |
| Sistema operacional | Qualquer tipo Unix |
| Disponível em | Inglês |
| Tipo | Planejamento de capacidade |
| Licença | Licença MIT & GNU General Public License, versão 2 |
| Sítio eletrônico | collectd |
| Repositório | |
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.
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 [en]). 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 [en].
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:
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.
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.