Como instalar a ferramenta de monitoramento Icinga2 no Debian
Originalmente criado como um fork da ferramenta de monitoramento Nagios, o Icinga é uma solução gratuita e de código aberto para monitoramento e alerta de infraestrutura que monitora toda a sua infraestrutura e fornece feedback sobre a disponibilidade e o desempenho dos seus dispositivos.
Também permite coletar, armazenar e visualizar diversas métricas. Você pode então criar relatórios usando os dados coletados e as visualizações que foram preenchidas.
O Icinga também envia alertas ou notificações caso algo dê errado para que você possa resolver prontamente os problemas e restaurar os serviços no menor tempo possível.
Neste guia, orientaremos você na instalação da ferramenta Icinga2 Monitoring no Debian 11/10.
Pré-requisitos
Para instalar o Icinga2 com sucesso, certifique-se de ter a pilha LAMP instalada. Já temos um guia sobre como instalar o LAMP no Debian 10/11. Depois de instalar todos os componentes do LAMP, siga para as etapas a seguir.
Etapa 1: Instale módulos PHP no Debian
Alguns módulos PHP adicionais são necessários para que a instalação ocorra sem problemas. Portanto, em seu terminal, execute o seguinte comando para instalá-los.
sudo apt install php-gd php-mbstring php-mysqlnd php-curl php-xml php-cli php-soap php-intl php-xmlrpc php-zip php-common php-opcache php-gmp php-imagick php-pgsql -y
Em seguida, edite o arquivo PHP ini.
sudo nano /etc/php/7.4/apache2/php.ini
Faça as seguintes alterações.
memory_limit = 256M
post_max_size = 64M
upload_max_filesize = 100M
max_execution_time = 300
default_charset = "UTF-8"
date.timezone = "Asia/Kolkata"
cgi.fix_pathinfo=0
Para o parâmetro date.timezone
, defina-o para refletir seu fuso horário atual. Aqui está a lista de fusos horários suportados.
Salve as alterações, saia do arquivo e reinicie o Apache para aplicar as alterações.
sudo systemctl restart apache2
Etapa 2: Instale o Icinga2 no Debian
Para instalar o Icinga2 e os plug-ins de monitoramento associados, primeiro atualize as listas de pacotes:
sudo apt update -y
Em seguida, execute o seguinte comando:
sudo apt install icinga2 monitoring-plugins -y
Assim que a instalação for concluída, inicie e ative o Icinga2 para iniciar no momento da inicialização.
sudo systemctl start icinga2
sudo systemctl enable icinga2
Você pode verificar se Icinga2 está sendo executado da seguinte maneira:
sudo systemctl status icinga2
Na saída, você pode ver que o daemon Icinga2 está rodando, o que é ótimo!
Etapa 3: Instale o módulo Icinga2 IDO MySQL
Icinga IDO (Icinga Data Output) é um recurso chave que exporta todas as informações de configuração e status para o banco de dados IDO. O banco de dados IDO fica no backend e serve o Icinga Web 2.
Para instalar o módulo Icinga IDO MySQL execute o comando:
sudo apt install icinga2-ido-mysql -y
Isso o guiará por alguns prompts para configurar o módulo icinga2-ido-mysql. Quando solicitado a ativar o recurso icinga2-ido-mysql, selecione ‘Sim‘ e pressione ENTER.
O módulo Icinga-ido-mysql requer que um banco de dados seja instalado e configurado antes de poder ser usado. Normalmente, isso pode ser resolvido usando dbconfig-common, que é uma ferramenta que simplifica o gerenciamento de banco de dados.
Para simplificar, selecione configurar automaticamente o banco de dados para icinga2-ido-mysql usando dbconfig-common selecionando 'Sim' e pressionando ENTRE.
Em seguida, forneça uma senha para icinga2-ido-mysql para se conectar ao servidor de banco de dados e confirme-a.
Etapa 4: Crie um banco de dados para o módulo MySQL Icinga-IDO
Em seguida, precisamos criar manualmente o banco de dados para o módulo de monitoramento icinga2-ido-mysql.
Então, faça login no prompt do MySQL.
sudo mysql -u root -p
Crie o banco de dados e o usuário do banco de dados para icinga2-ido-mysql e então conceda todos os privilégios ao usuário do banco de dados.
Sinta-se à vontade para usar qualquer nome arbitrário para o banco de dados e para o usuário do banco de dados.
> CREATE DATABASE icinga_ido_db;
> GRANT ALL ON icinga_ido_db.* TO 'icinga_ido_user'@'localhost' IDENTIFIED BY 'Password321';
> FLUSH PRIVILEGES;
> EXIT;
Em seguida, importe o esquema Icinga2 IDO da seguinte maneira. Forneça a senha root do MySQL assim que solicitado.
sudo mysql -u root -p icinga_ido_db < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Etapa 5: Habilitar Módulo MySQL Icinga-IDO
O pacote IDO MySQL possui um arquivo de configuração padrão conhecido como ido-mysql.conf. Precisamos fazer algumas alterações para permitir a conexão com o banco de dados que acabamos de criar.
Então, abra o arquivo de configuração.
sudo vim /etc/icinga2/features-available/ido-mysql.conf
Role e navegue até esta seção e forneça os detalhes do banco de dados.
Salve as alterações e saia do arquivo de configuração. Em seguida, habilite o módulo ido-mysql da seguinte forma.
sudo icinga2 feature enable ido-mysql
Para aplicar as alterações, reinicie o Icinga2:
sudo systemctl restart icinga2
Etapa 6: Instale o IcingaWeb2 no Debian
A seguir, instalaremos e configuraremos o IcingaWeb2, que é uma interface web simples, intuitiva e responsiva para o Icinga.
Primeiro, instalaremos o IcingaWeb2 junto com o Icinga CLI da seguinte forma:
sudo apt install icingaweb2 icingacli -y
Assim que a instalação for concluída, crie um banco de dados para o Icinga Web 2.
sudo mysql -u root -p
Em seguida, crie o banco de dados e o usuário do banco de dados para Icingaweb2 e conceda todas as permissões ao usuário do banco de dados no banco de dados.
> CREATE DATABASE icingaweb2;
> GRANT ALL ON icingaweb2.* TO 'icingaweb2user'@'localhost' IDENTIFIED BY 'P@ssword';
> FLUSH PRIVILEGES;
> EXIT;
Em seguida, crie um token secreto que será usado para autenticação ao concluir a configuração em um navegador da web.
sudo icingacli setup token create
Anote o token e cole-o em algum lugar seguro, pois ele será necessário ao concluir a configuração do Icinga2 no navegador.
Etapa 7: instalação completa do IcingaWeb2
A última etapa na instalação do Icinga é finalizar a configuração em um navegador. Então, inicie seu navegador e acesse o URL mostrado.
http://server-ip/icingaweb2/setup
Isso leva você a esta página onde será necessário autenticar com o token de segurança gerado na etapa anterior. Cole o token de segurança e clique em ‘Avançar’.
A próxima etapa exibe todos os módulos que podem ser habilitados. O módulo de monitoramento está habilitado por padrão. Você pode ativar módulos adicionais conforme julgar adequado.
A próxima página é basicamente uma lista de verificação de todos os módulos php que precisam ser habilitados. Certifique-se de que todos os módulos php necessários foram instalados e nenhum erro foi exibido. Em seguida, role para baixo e clique em ‘Avançar’ para passar para a próxima etapa.
Para autenticação, selecione ‘Banco de dados‘ e clique em ‘Avançar‘.
Na próxima etapa, preencha os detalhes do banco de dados para IcingaWeb2 que você especificou na Etapa 6.
Role para baixo e clique em ‘Validar configuração’.
Se os detalhes estiverem corretos, você receberá uma notificação de que tudo correu bem. Role para baixo e clique em ‘Avançar’.
Na próxima etapa, basta clicar em ‘Avançar’ para aceitar a configuração padrão e prosseguir com a instalação.
Em seguida, configure uma conta Admin para o usuário que você usará para fazer login na WebUI do Icinga2.
Na próxima etapa, basta clicar em ‘Avançar’ para aceitar os detalhes de configuração padrão do aplicativo.
Nesta fase, o Icinga Web 2 foi configurado com sucesso. Revise os detalhes da configuração e certifique-se de que tudo esteja definido corretamente. Em seguida, role para baixo e clique em ‘Avançar’.
A próxima seção orienta você na configuração do módulo de monitoramento Icinga para o Icinga Web 2. Este é o módulo principal que fornece visualizações de status e relatórios com recursos robustos de filtragem.
Para começar, clique em ‘Avançar’.
Selecione ‘IDO’ como tipo de back-end de monitoramento e clique em ‘Avançar’.
A seguir, forneça os detalhes do banco de dados para o módulo de monitoramento icinga-ido-mysql conforme especificado na Etapa 4.
Role até o fim e clique em ‘Validar configuração’. Se os detalhes da conexão estiverem corretos, você deverá receber uma notificação de que a configuração foi validada com sucesso.
Para prosseguir para a próxima etapa, role para baixo e clique em ‘Avançar’. Na seção ‘Transporte de comando’, selecione ‘Arquivo de comando local’ como o tipo de transporte. e clique em ‘Avançar’.
Na seção ‘Monitoramento de segurança’, aceite os padrões pressionando ‘Avançar’.
Revise todos os detalhes de configuração do módulo de monitoramento e certifique-se de que tudo está correto. Em seguida, role para baixo e clique em ‘Concluir’.
Você deverá receber uma notificação de que o Icinga Web 2 foi configurado com sucesso. Para fazer login na WebUI, clique no botão ‘Login no Icinga Web 2’.
A página de login aparecerá conforme mostrado. Forneça as credenciais de administrador do Icinga e clique no botão ‘Login’.
Isso leva você ao painel Icinga conforme mostrado. Quaisquer problemas existentes serão exibidos. Por exemplo, você pode ver que temos 6 pacotes com atualizações pendentes.
Para confirmar isso, iremos ao terminal e listaremos os pacotes com atualizações pendentes.
sudo apt list --upgradable
A partir do resultado, podemos confirmar que, de fato, 6 pacotes possuem atualizações. Para atualizar esses pacotes, simplesmente executaremos:
sudo apt upgrade -y
E isso encerra nosso guia de hoje. Como você notou, a instalação é bastante longa e requer muita atenção aos detalhes. No entanto, tudo deverá correr bem se você seguir cuidadosamente os passos para o último.
Neste guia, demonstramos como instalar a ferramenta de monitoramento Icinga2 no Debian 11/10.