Como instalar o Icinga 2 e o Icinga Web 2 no Debian ou Ubuntu

O Icinga 2 é um sistema de monitoramento de código aberto que é altamente escalável e extensível. Ele pode monitorar ambientes grandes e complexos em vários locais. Ele verifica a disponibilidade dos recursos de rede, notifica usuários sobre as interrupções e gera dados de desempenho em relatórios. É um aplicativo de monitoramento de rede que pode ser configurado a partir da web graças a um servidor PHP.

 

Basicamente, ele monitora o estado dos protocolos de rede, como HTTP, FTP, SMTP, IMAP ou outros serviços de rede, recursos de hosts, sensores físicos, instalações de software, carga de CPU, memória, espaço em disco e quase todos os dispositivos de rede interligados via ICMP ou solicitações de ping. Além disso, ele é muito fácil de configurar e você pode ajustar algumas configurações para notificar o sistema ou administradores de rede por e-mail, SMS, bate-papo ou outros tipos de alertas de rede, sistemas, serviços ou outra interrupção da rede, e também pode gerar gráficos sobre o tempo de inatividade da rede ou o desempenho.

Neste artigo, vou explicar como configurar um servidor Icinga2 com a interface Web 2 no nosso servidor Debian ou Ubuntu mais recente. A seguir configura as instruções passo a passo, e veja como configurar nosso sistema de monitoramento.

Requisitos do Icinga 2

Antes de mais nada, vamos verificar os requisitos do Icinga 2, mas não se preocupe com memória e processamento, a aplicação é leve. Estamos falando dos requisitos de software que o Icinga 2 requer para que tudo funcione corretamente, os comandos abaixo podem ser executados no Debian ou Ubuntu. Perceba que os comandos estão sendo demonstrados como Root, no caso do Ubuntu, você pode utilizar o sudo.

# apt update
# apt upgrade
# apt install bash-completion

Em seguida, configure o nome do host para o servidor, executando o seguinte comando. Eu adicionei icinga2 como o nome do meu host.

# hostnamectl set-hostname icinga2

Você verá uma saída no terminal, parecida com o exemplo abaixo:

hostnamectl
Static hostname: icinga2
Icon name: computer-vm
Chassis: vm
Machine ID: 7f2b1120403449a3b27d2f40de770be2
Boot ID: 321481f419e94e6cb377ae804d9bab42
Virtualization: kvm
Operating System: Debian GNU/Linux 9 (stretch)
Kernel: Linux 4.9.0-4-amd64
Architecture: x86-64
cat /etc/hostname
icinga2

Agora precisamos reiniciar nosso servidor Debian ou Ubuntu. Essa reinicialização serve para aplicar as atualizações do kernel e o nome do host.

Instalando o LAMP

Como dito anteriormente, o Icinga 2 é um aplicativo de monitoramento de rede escrito em C ++ e o Icinga Web 2 é uma poderosa estrutura PHP para aplicações web que vem em um design limpo e reduzido.

Para executar seus scripts de arquivos, um servidor web, como o servidor HTTP Apache, e um gateway de processamento do PHP precisa ser instalado para que tudo funcione. Eu instalei o servidor web Apache, MySQL e todos os módulos PHP necessários necessários, todos eles são requeridos pelo Icinga com o comando abaixo:

# apt install apache2 libapache2-mod-php7.0 php7.0-xml php7.0-opcache php7.0-xml php7.0-mbstring php7.0-json php7.0-curl php7.0-ldap php7.0-cli php7.0-gd php7.0-intl php7.0-readline php7.0-pgsql
# apt install mariadb-server mariadb-client php7.0-mysql

Agora, vamos iniciar os serviços:

# systemctl enable apache2 mariadb
# systemctl start apache2 mariadb
# systemctl status apache2 mariadb

Depois que o Apache, o MySQL e o PHP foram instalados, você pode testar se o servidor web está funcionando fazendo testes no IP do servidor ou você pode até mesmo confirmar testando as conexões de rede através das portas correspondentes ou usando o comando netstat do console com privilégios de root como abaixo:

# netstat -plan | grep :80
tcp6 0 0 :::80 :::* LISTEN 19097/apache2
tcp6 0 0 127.0.0.1:80 127.0.0.1:40780 TIME_WAIT –
netstat -plan | grep mysql
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 14240/mysqld
unix 2 [ ACC ] STREAM LISTENING 52783 14240/mysqld /var/run/mysqld/mysqld.sock

Criar banco de dados MySQL para Icinga2

Em primeiro lugar, precisamos entrar no console do MySQL e executar o seguinte comando para proteger o banco de dados do MariaDB e definir uma senha de root:

# mysql_secure_installation

Agora, podemos criar dois bancos de dados que podem ser usados ??pelo aplicativo Icinga2 e um usuário com uma senha para gerenciar esses bancos de dados. Criei o banco de dados, ou seja, icingadb e icinga_users e privilégios concedidos para o usuário icinga_user com uma senha para acessar aqueles abaixo:

# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 12
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.
MariaDB [(none)]> create database icingadb;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on icingadb.* to ‘icinga_user’@’localhost’ identified by ‘password’;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> create database icinga_users;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on icinga_users.* to ‘icinga_user’@’localhost’ identified by ‘password’;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.01 sec)
O banco de dados icingadb é criado para o aplicativo web icinga2 e o banco de dados icinga_users é criado para armazenar usuários, grupos e outros dados personalizados da interface web Icinga2.

Como instalar o Icinga2

Depois de concluir a instalação de todos os requisitos do sistema, podemos continuar com a instalação do aplicativo Icinga2 ao lado do módulo IDO do MySQL. Estamos usando o MySQL como o banco de dados externo. Portanto, precisamos instalar o módulo IDO do MySQL que é usado pela interface web Icinga2. Ele é usado para exportar todas as informações de configuração e status em seu banco de dados. O Icinga 2 possui pacotes binários pré-compilados oferecidos pelos repositórios do Ubuntu ou Debian. Assim, a instalação pode ser realizada através do seu gerenciador de pacotes apt como abaixo:

# apt install icinga2 icinga2-ido-mysql
Uma série de perguntas vão aparecer na tela durante a instalação. Em primeiro lugar, você será perguntado se deseja configurar e habilitar o Icinga 2 para usar o módulo MySQL. Selecione a Yes com as setas de navegação e pressione a tecla [enter] para continuar, conforme ilustrado na imagem abaixo.

Na próxima caixa de diálogo, você será perguntado se deseja configurar o banco de dados para o icinga2-ido-mysql com a opção dbconfig-common. Escolha a No e pressione a [enter] para terminar a instalação do Icinga. Viu como foi fácil ? Pois é!

Depois de habilitar este módulo e criar nosso banco de dados, precisamos reiniciar o nosso serviço Icinga2.

# systemctl start icinga2.service
# systemctl status icinga2.service

Certifique-se de que o arquivo de configuração do IDO MySQL esteja corretamente configurado com credenciais de banco de dados corretas.

# cat /etc/icinga2/features-enabled/ido-mysql.conf
/**
* The db_ido_mysql library implements IDO functionality
* for MySQL.
*/
library “db_ido_mysql”
object IdoMysqlConnection “ido-mysql” {
user = “icinga_user”,
password = “password”,
host = “localhost”,
database = “icingadb”
}

Ativando a lista de recursos

Por padrão, Icinga2 permite os seguintes recursos. Podemos habilitar qualquer recurso adicional na lista executando esse comando icinga2 feature enable <feature name>. Podemos confirmar as configurações ativadas executando este comando como abaixo:

# icinga2 feature list
Disabled features: api command compatlog debuglog gelf graphite influxdb livestatus opentsdb perfdata statusdata syslog
Enabled features: checker ido-mysql mainlog notification
The following features are enabled by default:
Checker: This feature enables the execution of checks.
Mainlog: This feature enables the logging.
Notification: This feature enables notification mechanism.
IDO-mysql: Provides IDO module for the database.

Instalando o Plugin Icinga Web2

Nosso próximo passo é instalar a interface web Icinga 2 e pacotes de serviços de linha de comando do Debian ou Ubuntu usando seu gerenciador de pacotes.

# apt install icingaweb2 icingacli

Após a instalação, você pode reiniciar o daemon Icinga 2 para aplicar todas as alterações e verificar o status do aplicativo antes de prosseguir com a parte de configuração.

# systemctl restart icinga2.service
# systemctl status icinga2.service
# systemctl restart apache2
Agora, instale o schema MySQL para o banco de dados Icinga executando o seguinte comando. O schema do banco de dados MySQL está localizado no diretório /usr/share/icinga2-ido-mysql/schema/.
# mysql -u root icingadb -p < /usr/share/icinga2-ido-mysql/schema/mysql.sql

Pronto, agora já podemos gerar o token de instalação para completar a instalação do plugin Icinga web 2 através de uma interface web. Isso vai facilitar muito a sua vida na hora de verificar qualquer informação.

# icingacli setup token create
The newly generated setup token is: c25b22acfc9f9094
# icingacli setup token show
The current setup token is: c25b22acfc9f909

Como configurar o plugin Icinga Web 2

Depois de gerar o token, podemos começar a configurar o plugin Icinga Web 2 abrindo esse URL >> http://IP//icingaweb2/setup no seu navegador. Você pode se basear nos prints abaixo, para que tudo fique mais fácil.

Passo 1: Configurando o Token

No primeiro passo, será solicitado que você forneça o token gerado para iniciar a fase de instalação. Se você não gerou um token, pode seguir as instruções fornecidas na captura de tela acima para gerar um token e passar para o próximo passo.

Etapa 2: Selecionando os Módulos Web2 da Icinga

Depois de preencher o campo com o token, ele vai passar para a próxima tela, que é a hora de selecionar os módulos. Você pode escolher os módulos que preferir, no entanto, vou apenas escolher o módulo do monitoramento, após isso vamos avançar para o próximo passo.

Etapa 3: Verificando as configurações do PHP

Para prosseguir, precisamos instalar os módulos PHP que estão em falta e configurar o fuso horário. Eu instalei o módulo que estava faltando no PHP usando este comando “apt install php7.0-pgsql” e depois reiniciei o Apache para aplicar as mudanças. Além disso, você pode definir o fuso no arquivo de configuração do PHP /etc/php/7.0/apache2/php.ini. Assim que terminamos essa configuração, vamos passar para o próximo passo.

Etapa 5: Autenticação

Precisamos escolher os meios de autenticação para prosseguir com a instalação. Como dito antes, eu prefiro escolher o tipo de autenticação, banco de dados como mostrado no print.

Etapa 6: Insira os detalhes do banco de dados

Nesta etapa, adicione o nome do banco de dados MySQL Icinga 2 e as credenciais de acesso para este banco de dados. Este banco de dados será usado para armazenar usuários e grupos da interface web Icinga 2. Use as informações do banco de dados para o segundo banco criado anteriormente. Adicione icingaweb_db como um nome para este recurso e deixe as variáveis ??Host, Port e Character como padrão. Não marque a opção Persistent e SSL. Clique no botão Validar configuração para validar a conexão do banco de dados, conforme mostrado na imagem abaixo. Quando terminar, clique no botão Avançar para passar para a próxima etapa do instalador.

Etapa 7: Criando logs de administração da interface Web Icinga

Depois de autenticar nossos recursos de banco de dados com sucesso, precisamos criar a conta administrativa para gerenciar a interface da Web Icinga2. Escolha uma senha boa para esta conta. Quando você terminar, clique no botão Avançar para passar para a próxima tela de instalação.

Etapa 8: Escolhendo as opções de configuração do aplicativo

Em seguida, precisamos configurar o aplicativo Icinga e a configuração de log com as seguintes configurações, exatamente como mostra na captura de tela.

Check Show Stacktraces
Storage Type = Database
Logging Type = File
Logging Level = Error
File path = /var/log/icingaweb2/icingaweb2.log
Precisamos criar este arquivo de log no servidor e definir as permissões adequadas para garantir o funcionamento dos logs da Icinga Web 2.

Passo 9: Revisão de todas as configurações escolhidas.

Esta tela informará que o Icinga Web2 foi configurado com sucesso e um relatório detalhado exibirá todas as configurações feitas até o momento. Revise o relatório e pressione o botão Avançar para continuar na próxima seção de instalação.

Etapa 10: Configurando o Módulo de Monitoramento

Agora nós completamos a parte de autenticação e seguimos com a configuração do módulo de monitoramento.

Como dito anteriormente, o módulo Icinga IDO exporta todas as informações de status e configuração para o banco de dados principal do Icinga. Portanto, precisamos selecionar este módulo e configurá-lo corretamente para atualizar o banco de dados com essas informações.

Agora precisamos fornecer a informação principal do banco de dados para prosseguir. Preencha os detalhes do banco de dados. Certifique-se de definir privilégios atenciosamente para o usuário do banco de dados, muita atenção nesta hora.

Configure Icinga Command Transport com as seguintes configurações e clique no botão Next para continuar.

Transport Name = icinga2
Transport Type = Local Command File
Command File = /var/run/icinga2/cmd/icinga2.cmd

Não precisamos fazer nenhuma modificação no próximo estágio que é voltado para segurança. Podemos simplesmente prosseguir com as configurações padrão clicando em “Next”.

Etapa 11: revisando as opções de configuração do módulo de monitoramento

Esta etapa informará você com toda a parte de configuração do módulo de monitoramento que você selecionou. Você pode apenas confirmar as configurações e continuar para concluir a configuração.

Passo final: Faça login na interface da Web

Depois que o processo de instalação for completado com sucesso, uma mensagem de parabéns informará que a Icinga Web 2 foi instalada com sucesso. Clique no botão de Login para redirecionar para a página de login Icinga2.

Faça login na Icinga Web 2 com as credenciais configuradas durante o processo de instalação e você será direcionado para o Icinga Web 2 Dashboard ou em nosso idioma, Painel de controle.

Podemos ver as notificações de serviço para o nosso servidor Icinga principal por aqui também, ou você pode simplesmente procurar a URL http://IP/icingaweb2/ para acessar a interface da web.

Podemos adicionar quantos tipos de monitoramento quiser a este sistema de monitoramento.
Nós instalamos e configuramos o aplicativo de monitoramento de rede Icinga 2 no servidor Debian ou Ubuntu, neste exemplo foi usado o Debian 9.3. Para mais detalhes sobre a configuração personalizada, você pode consultar esta Documentação do Icinga . Espero que este artigo seja útil para você.
Share This Article
Follow:
Fundador do SempreUPdate. Acredita no poder do trabalho colaborativo, no GNU/Linux, Software livre e código aberto. É possível tornar tudo mais simples quando trabalhamos juntos, e tudo mais difícil quando nos separamos.
Sair da versão mobile