Pesquisa de site

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.