Pesquisa de site

Como instalar a ferramenta de monitoramento Icinga2 no Ubuntu 20.04/22.04


Icinga2 é uma poderosa ferramenta de monitoramento gratuita e de código aberto que fica de olho nos recursos da sua rede e envia alertas ou notificações em caso de falhas ou interrupções. Ele também coleta métricas de recursos de rede que podem ajudá-lo a gerar dados de desempenho e criar relatórios.

Icinga2 é escalável e pode monitorar redes pequenas a grandes e complexas em vários locais. Neste guia, você aprenderá como instalar a ferramenta de monitoramento Icinga2 no Ubuntu 20.04 e no Ubuntu 22.04.

Etapa 1: Instale Apache, MariaDB e PHP

Começamos instalando Apache, MariaDB e PHP com módulos PHP adicionais que são necessários durante a configuração final de Icinga2 em um navegador da web.

sudo apt install apache2 mariadb-server mariadb-client mariadb-common php 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

Depois de instalado, certifique-se de que todos os serviços estejam em execução. Nesse caso, execute os seguintes comandos.

sudo systemctl start {apache2,mariadb}
sudo systemctl enable {apache2,mariadb}
sudo systemctl status {apache2,mariadb}

Em seguida, você precisa usar o script mysql_secure_installation para configurar a senha da conta root do banco de dados, remover usuários anônimos, proibir login root remotamente e remover o banco de dados de teste.

sudo mysql_secure_installation

Com os módulos PHP instalados, você precisa modificar o arquivo php.ini que é o arquivo de configuração padrão para aplicativos executados em PHP.

Usando seu editor preferido, abra o arquivo. Aqui. estamos usando um editor de linha de comando nano.


sudo nano /etc/php/8.1/apache2/php.ini   [On Ubuntu 22.04]
sudo nano /etc/php/7.4/apache2/php.ini   [On Ubuntu 20.04]

Faça as seguintes alterações nos parâmetros a seguir.

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, certifique-se de configurá-lo para refletir seu fuso horário atual. Aqui está uma lista de fusos horários suportados pelo PHP.

Para aplicar as alterações feitas, basta reiniciar o servidor Apache.

sudo systemctl restart apache2

Passo 2: Instale o Icinga2 no Ubuntu

Com a configuração do PHP resolvida, prosseguiremos e instalaremos o Icinga2. No entanto, o repositório Icinga2 não é fornecido pelos repositórios do Ubuntu 20.04. Como tal, precisamos adicionar manualmente o repositório ao seu sistema.

Portanto, comece adicionando a chave GPG usando o comando curl.

curl https://packages.icinga.com/icinga.key | apt-key add -

A seguir, crie um arquivo de repositório para Icinga2.

sudo vim /etc/apt/sources.list.d/icinga-focal.list

Adicione as seguintes entradas.

deb http://packages.icinga.com/ubuntu icinga-focal main
deb-src http://packages.icinga.com/ubuntu icinga-focal main

Salve e saia do arquivo.

Para começar a usar o repositório, atualize as listas de pacotes da seguinte maneira.

sudo apt update

Em seguida, instale o Icinga2 e os plugins de monitoramento.

sudo apt install icinga2 monitoring-plugins

Assim que a instalação for concluída, habilite e inicie o serviço Icinga2.

sudo systemctl enable icinga2
sudo systemctl start icinga2

Para confirmar se o serviço Icinga2 está em execução, execute:

sudo systemctl status icinga2

A saída indica que o daemon Icinga2 está em execução e estamos prontos para prosseguir.

Etapa 3: Instale o Módulo Icinga2 IDO

O Icinga2 Data Output (IDO) exporta todas as informações de configuração e status para um banco de dados. O banco de dados IDO é então usado pelo Icinga Web 2 como backend de dados.

Para instalar o módulo, execute o comando

sudo apt install icinga2-ido-mysql -y

Ao longo do caminho, um pop-up será exibido no terminal. Para ativar o recurso ido-mysql do Icinga2, selecione ‘Sim‘ e pressione ENTER.

O pacote icinga2-ido-mysql requer um banco de dados instalado e configurado. Isso pode ser resolvido com dbconfig-common, mas nós mesmos criaremos o banco de dados. Portanto selecione ‘Não‘ e recuse esta opção.

Em seguida, faça login no servidor de banco de dados MariaDB.

sudo mysql -u root -p

Em seguida, crie um banco de dados e um usuário de banco de dados para o pacote icinga2-ido-mysql e conceda ao usuário todos os privilégios no 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;

Com o banco de dados instalado, prossiga e importe o esquema Icinga2 IDO usando o comando. Você será solicitado a fornecer a senha root do servidor de banco de dados.

sudo mysql -u root -p icinga_ido_db < /usr/share/icinga2-ido-mysql/schema/mysql.sql

Etapa 4: Habilite o Módulo Icinga2 IDO

Para ativar a comunicação do banco de dados icinga2-ido-mysql com o Icinga Web 2, precisamos dar um passo adiante e fazer alterações no arquivo de configuração padrão.

Abra o arquivo de configuração icinga2-ido-mysql.

sudo vim /etc/icinga2/features-available/ido-mysql.conf

Edite as entradas a seguir e configure-as para que correspondam aos detalhes do banco de dados icinga2-ido-mysql conforme especificado na Etapa 3.

Salve as alterações e saia.

Em seguida, habilite o recurso icinga2-ido-mysql.

sudo icinga2 feature enable ido-mysql

Para que as alterações tenham efeito, reinicie o Icinga2.

sudo systemctl restart icinga2 

Etapa 5: instalar e configurar o IcingaWeb2

O último componente a ser instalado e configurado é o IcingaWeb 2, que é um framework PHP rápido, poderoso e extensível que atua como front-end do Icinga2.

Portanto instale o IcingaWeb2 e o Icinga CLI, execute o comando.

sudo apt install icingaweb2 icingacli -y

Precisamos criar um segundo esquema de banco de dados que será designado para o Icinga Web 2.

Mais uma vez, faça login no servidor de banco de dados.

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;

Depois disso, crie um token de configuração usando o comando a seguir. O token de configuração será usado durante a autenticação ao configurar o Icinga2 no navegador.

sudo icingacli setup token create

Caso você perca ou esqueça o token, você pode visualizá-lo executando o comando:

sudo icingacli setup token show

Etapa 6: Conclua a instalação do IcingaWeb2 no Ubuntu

Com todas as configurações feitas, concluiremos agora a configuração do Icinga2 em um navegador da web. Então, inicie seu navegador e acesse o URL mostrado.

http://server-ip/icingaweb2/setup

Isso leva você à página de boas-vindas, conforme mostrado. Lembra do token de configuração que você criou? Copie e cole no campo de texto e clique em ‘Avançar’.

Na página ‘Módulos‘, o módulo ‘Monitoramento’ está habilitado por padrão. No entanto, você tem a liberdade de ativar seus módulos preferidos.

Em seguida, role para baixo e clique em ‘Avançar‘.

Na próxima etapa, certifique-se de que todos os módulos e bibliotecas PHP estejam instalados e que as permissões de diretório estejam corretas.

Em seguida, role para baixo e clique em ‘Avançar‘.

Na página ‘Autenticação’, selecione ‘Banco de dados’ como o tipo de autenticação e clique em ‘Avançar’.

Na seção ‘Recurso de banco de dados’, preencha os detalhes do banco de dados para IcingaWeb2 conforme especificado na Etapa 5.

Em seguida, role para baixo e clique em ‘Validar configuração’ para validar os detalhes do banco de dados.

Se tudo correr bem, a configuração do banco de dados será validada com sucesso. Assim que a validação for bem-sucedida, role para baixo e clique em ‘Avançar’.

Na próxima etapa, clique em ‘Avançar’ para aceitar os padrões.

Na seção ‘Configuração do aplicativo’, clique em ‘Avançar’ para aceitar os padrões.

Na próxima etapa, reserve um tempo e revise todas as alterações do Icinga Web 2. Certifique-se de que todas as configurações estão corretas e fique à vontade para voltar e fazer as correções necessárias.

Se tudo estiver certo, role para baixo e clique em ‘Avançar‘.

A última seção da configuração da web do Icinga2 envolve a configuração do módulo de monitoramento. Então, clique em ‘Avançar’.

Em seguida, preencha os detalhes do banco de dados para o módulo Icinga2 IDO conforme especificado na Etapa 3.

Em seguida, role para baixo e clique em ‘Validar configuração’.

Mais uma vez, a validação dos detalhes do banco de dados deverá ser um sucesso. Se você receber um erro, volte e verifique se todos os detalhes estão corretos.

Para ir 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’, basta clicar em ‘Avançar’ para seguir com os padrões.

Revise todas as alterações do módulo de monitoramento. Se algo parecer fora do lugar, volte e faça as correções necessárias.

Em seguida, role para baixo e clique em ‘Concluir’.

Neste ponto, o Icinga Web 2 foi configurado com sucesso e você deverá ver uma notificação nesse sentido, conforme mostrado abaixo. Para fazer login no painel do Icinga2, clique em ‘Login no Icinga Web 2’.

Isso leva você para a página de login conforme mostrado. Forneça os detalhes da sua conta de administrador e pressione ENTER para fazer login.

E o painel Icinga2 aparecerá. Quaisquer problemas existentes serão exibidos com seu nível de gravidade. Por exemplo, o painel nos notifica sobre 28 pacotes com atualizações prontas.

Para verificar isso, voltaremos ao terminal e executaremos o comando:

sudo apt list --upgradable

Para atualizar os pacotes, simplesmente executaremos:

sudo apt upgrade -y

E isso resolve o problema. No painel, você pode ver que não há mais problemas exibidos.

Neste guia, demonstramos como instalar a ferramenta de monitoramento Icinga2 no Ubuntu. É certo que a instalação é bastante longa e requer atenção aos detalhes. No entanto, se você seguiu as etapas deste último, tudo deverá funcionar perfeitamente.