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.
Em seguida, configure o nome do host para o servidor, executando o seguinte comando. Eu adicionei icinga2 como o nome do meu host.
Você verá uma saída no terminal, parecida com o exemplo abaixo:
hostnamectl
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
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:
Agora, vamos iniciar os serviços:
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:
tcp6 0 0 127.0.0.1:80 127.0.0.1:40780 TIME_WAIT –
netstat -plan | grep mysql
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:
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:
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
Query OK, 1 row affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.01 sec)
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:
Depois de habilitar este módulo e criar nosso banco de dados, precisamos reiniciar o nosso serviço Icinga2.
Certifique-se de que o arquivo de configuração do IDO MySQL esteja corretamente configurado com credenciais de banco de dados corretas.
* The db_ido_mysql library implements IDO functionality
* for 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:
Enabled features: checker ido-mysql mainlog notification
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.
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.
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.
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
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
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.
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
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.