Instalando o Cacti 1.2 no Ubuntu 20 LTS com Network Weather Plugin

O Cacti é uma solução de monitoramento, que coleta métricas a partir do protocolo SNMP. Ele é muito comum entre os profisionais da área de Telecom, pois a grande maioria dos equipamentos de rede exporta suas métricas a partir do protocolo SNMP. Esta solução é capaz de gerar gráficos, mapas e relatórios relacionados ao ambiente de rede das empresas.

Note: An english version of this article can be found here.

Introdução

Recentemente um amigo me solicitou ajuda para investigar um problema em um dos plugins do Cacti. No passado usei muito esta solução, e confesso que fiquei curioso para ver o atual estágio de desenvolvimento do Cacti. Então resolvi criar esse artigo rápido, para ajudar a quem precisa, e satisfazer a minha curiosidade. 🙂

Hardware Virtual

  • 2 vCPU
  • 4GB RAM
  • 20GB SSD

Requisitos

$ sudo apt-get install -y apache2 rrdtool mariadb-server snmp snmpd cacti
Acione a opção padrão YES

Após isso será solicitada uma senha para o banco de dados do Cacti. Entre uma senha segura e tome nota da mesma, pois você precisará dela mais tarde.

O arquivo de configuração da parte web foi gerado como um include do Apache.

Apache cacti.conf

Pacotes Adicionais

$ sudo apt-get install -y open-vm-tools mc htop sysstat dstat

Configuração do Cacti

Agora reinicie o servidor com o comando “sudo reboot”, e tente acessar via browser o IP da VM, como por exemplo:

http://169.254.0.1/cacti/
Tela de Login

Recomendo que seja atribuído um FQDN a esta VM, para que os acessos não precisem ser feitos via IP.

  • Exemplo: cacti.meudominio.com.br

Também é interessante configurar 2 recursos opcionais no Apache:

  • Habilitar TLS 1.2+ no Apache. Meu arquivo de configuração do Virtual Host SSL ficou assim:
Arquivo de configuração do Virtual Host
  • Configurar um redirect de http://FQDN para https://FQDN
Arquivo /usr/share/cacti/site/index.html

O login é “admin“, e a senha de acesso será a mesma que você definiu no momento de configuração do banco de dados.

Cacti Dashboard

Pronto. Cacti instalado e pronto para o consumo. Foi fácil, não?

Instalando o Plugin Network Weathermap

Um plugin muito popupar entre os profissionais de telecom é o Weathermap. De acordo com o manual, o processo de instalação é bem simples. Mas existe um problema: Enquanto eu redigia este post, a versão disponível no GIT do desenvolvedor era 0.98a, que não é compatível com o Cacti 1.2. Porém, um bom samaritano fez um fork do plugin e realizou os ajustes necessários. Vou mostrar a seguir como instalá-lo.

Antes de continuar, recomendo que dê uma olhada no arquivo “/usr/share/cacti/site/plugins/README.Plugins“, pois ele tem recomendações sobre como manter organizada sua estrutura de plugins. Em meu ambiente, eu segui os passos descritos no mesmo, e executei um comando a mais ($ sudo ln -s /usr/local/share/cacti/plugins /usr/share/cacti/).

$ sudo mkdir /usr/local/share/cacti/plugins
$ sudo chown www-data:users /usr/local/share/cacti/plugins
$ sudo chmod 775 /usr/local/share/cacti/plugins
$ cd /usr/local/share/cacti/plugins
$ sudo wget https://www.urban-software.com/wp-content/uploads/Cacti1x/weathermap_098a_cacti1.x_updated.zip
$ sudo unzip weathermap_098a_cacti1.x_updated.zip
$ sudo chown -R www-data:users /usr/local/share/cacti/plugins/weathermap
$ sudo chmod 777 /usr/local/share/cacti/plugins/weathermap/{output,configs}
Arquivos do Plugin Network Weather Map

Uma vez armazenados os arquivos do plugin, agora basta ir na interface do Cacti e ativar o mesmo.

Vá em Configuration > Plugins e clique em “Go“.

Plugin não Instalado

O plugin aparecerá na lista, mas constará como não instalado. Basta ativar o mesmo no ícone da engrenagem que aparece na coluna “Actions“. Para saber mais detalhes sobre o processo de instalação do plugin, consultar a documentação aqui.

Testando o Plugin

Antes de fazer o teste, precisamos de um device com o serviço SNMP ativo. Para este exemplo, iremos utilizar o próprio servidor do Cacti.

Para ativar o SNMP no servidor do Cacti, precisaremos seguir os passos abaixo. Observe que existe um arquivo de configuração para o serviço SNMP.

Instalar o SNMP no Linux

$ sudo apt-get install snmpd

Configurar o SNMP

$ sudo cat /etc/snmp/snmpd.conf
Conteúdo do Arquivo snmpd.conf

Ativar o SNMP

$ sudo systemctl enable snmpd
$ sudo systemctl restart snmpd

Testar o SNMP

$ snmpwalk -v2c -c public 127.0.0.1
Retorno do Comando

Com o SNMP funcionando, basta adicionar o device no Cacti. Um device monitorado gera gráficos, como os apresentados a seguir.

Gráficos do Cacti Server

Criando Mapas

Agora basta criar um mapa e associar os hosts ao mesmo.

Network Weathermap de Teste

Arquivo PHP.INI

Isso não é necessário, mas por custome eu fiz 2 ajustes no meu arquivo php.ini

short_open_tag = On
display_errors = On

Senha de root do MariaDB

Para este tipo de instalação do Cacti, onde todos os componentes rodam em uma mesma máquina virtual, você não precisará desta senha, pois os acessos serão feitos via local socket.

Notas Finais

Para um ambiente de produção, recomendo que o Apache e o MariaDB sejam ajustados de forma a suportar um volume maior de carga, pois a configuração padrão destes serviços pode não ser suficiente para atender a demandas mais exigentes.

Também pode ser interessante substituir os certificados auto-assinados por Let’s Encrypt.

Faziam muitos anos que eu não usava o Cacti, e pelo que eu lembre, não mudou muito. Apesar de ser uma solução opensource de fácil uso e implementação, existem outras soluções livres que são mais completas e com mais funcionalidades, como por exemplo o Zabbix e o Netbox. Talvez seja o momento de considerar migrar o seu Cacti para algo mais moderno.

Comments are closed.