200.2 Prever a necessidade futura de Recursos
Para prever necessidade futura de algum recurso, vamos usar algumas aplicações que vão nos informar em que momento vamos necessitar de mais recursos, para que não tenhamos problemas em nossa infraestrutura.
CollectD
O CollectD é um daemon lançado em 8 de julho 2005 que permite monitorar o uso da infraestrutura de TI. Foi escrito em C para maior portabilidade, sua função originalmente era coletar estatísticas do sistema local, mas hoje em dia pode ser usado para coletar informações remotas (de outros equipamentos) com um plugin de rede.
Os dados coletados são armazenados num formato de banco de dados conhecido como (Round Robin Database - RRB), para o CollectD sozinho, essas informações são armazenadas em /var/lib/collectd/rra/
, lembrando que esses arquivos *.rra (Round Robin Archive) são arquivos binários. Para conseguir ver/manusear a informação desses arquivos, usamos uma ferramenta chamada rrdtool
, que é usada pelo collectd para armazenar as informações que ele coletou no formato de banco chamado RRB.
O arquivo de configuração dele fica em /etc/collectd/collectd.conf
.
Para instalar, use o comando abaixo:
$ sudo apt install collectd
RRDTOOL
É uma ferramenta para trabalhar com banco de dados Round-Robin (manusear os arquivos), lançada em 16 de Julho de 1999. Essa ferramenta é tão poderosa que o tamanho do *.rra não muda, isso acontece porque sempre que um dado mais novo é adicionado, um dado mais antigo é removido.
Diferente do collectd
, o rrdtool
não faz coleta, apenas armazena a informação, essa é a diferença entre as duas aplicações, Collectd coleta e armazena (usando rrdtool
) e RRDTool apenas armazena.
Por essa explicação acima, você sempre verá outras ferramentas que usam o RRDTool como backend para armazenar informações que foram coletadas, algumas que conhecimento comum são: Cacti, Nagios, CollectD e MRTG (são os mais comuns).
Cacti
O Cacti é uma ferramenta Open Source desenvolvida com a finalidade de monitorar e gerar gráficos, escrita em PHP e usa MySQL para armazenar boa parte das configurações, apesar de ser escrito em PHP, trabalha com plugins, tendo muitos deles em C.
O RRDTool tem um peso enorme na vida do Cacti, já que ele é usado para armazenar as informações coletadas, diferente de outras ferramentas, o Cacti é na verdade um front-end com maior intuito facilidade a administração e gerenciamento de dispositivos e exibição de informações, já que com ele, é mais fácil de criamos os gráficos e mexermos neles. Como backend o Cacti usa o utilitário SNMP para coleta de informação e usa o RRDTool para armazenar essa informação.
MRTG
O MRTG (Multi Router Traffic Grapher) foi escrito em Perl e é muito similar ao Cacti, com a diferença que o MRTG é usado para coletar e gerar gráficos de Rede, também usa o snmp e rrdtool.
Nagios/Icinga
O Nagios é um sistema de monitoramento que permite os administradores de rede identificar e resolver problemas na infraestrutura de TI antes que esses problemas afetem algum processos críticos da empresa, basicamente ele identifica que algo não está funcionando como deveria e notifica os responsáveis.
O Nagios possui algumas formas de alertar os responsáveis após ser detectado uma mudança de estado de um dispositivo gerenciado, o tipo mais comum é o alerta visual no dashboard do Nagios, mas você pode configurar para que seja enviado e-mail e até mesmo integrar o envio de mensagens no telegram usando plugins.
Já o Icinga é um fork do Nagios, isso quer dizer que o código fonte do Nagios foi clonado e a partir dele nasceu um novo software, nesse caso, o Icinga pelo menos em sua primeira versão, muda apenas o frontend, mantendo o mesmo backend do Nagios sem as limitações que nele existem.