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. Queremos destacar que usamos caixas coloridas para identificar informações.

Confira as cores e o que elas indicam:

comandos
Informações
Alertas
Agora, que você já sabe o que cada cor quer dizer, continue com o tutorial!
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.

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu

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 é!

No próximo prompt, você será perguntado se deseja configurar o banco de dados para icinga2-ido-mysql com a opção dbconfig-common. Escolha a No partir do prompt e pressione a [enter]tecla para terminar a instalação do Icinga 2.

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

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-3

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.

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-4

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.

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-5

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.

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-6

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.

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-7

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-7

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.

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-9

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.

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-10

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.

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-11

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-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-12

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.

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-13

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.

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-14

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

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-15

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”.

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-16

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.

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-17

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.

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-18

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.

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-19

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.

como-instalar-o-icinga-2-e-o-icinga-web-2-no-debian-ou-ubuntu-20

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ê.

Como instalar o Tlog, uma ferramenta que grava tudo o que acontece no terminal Linux

Previous article

Purism planeja entrar no mundo da convergência

Next article

You may also like

More in Tutoriais