Este guia mostra como instalar e configurar a ferramenta de monitoramento de infraestrutura de rede Icinga 2 no Debian 9.
O que é o Icinga 2?
O Icinga é um aplicativo de monitoramento de código aberto que pode ser usado para monitorar serviços e sistemas críticos em seu servidor virtual. O Icinga 2 pode monitorar hosts na rede ou verificar protocolos de rede externos, como o status do servidor HTTP, do servidor de e-mail, dos serviços de compartilhamento de arquivos e outros.
O Icinga 2 pode ser configurado para monitorar o status dos sistemas internos, para verificar a carga, a memória, o espaço livre em disco ou outros parâmetros internos do host. O Icinga também pode ser configurado para enviar notificações e alertas por e-mail ou SMS aos administradores do sistema especificados nos contatos.
Requisitos iniciais
Muitos dos comandos deste guia exigem privilégios de superusuário. Se um comando bash: sudo: não for encontrado ao usar o comando sudo, será necessário ativar o modo de superusuário, definir o comando sudo e adicionar seu usuário ao grupo sudo:
su -
apt-get install sudo -y
usermod -aG sudo yourusername
A pilha LAMP deve ser instalada no servidor virtual.
Atualize os repositórios e pacotes locais:
sudo apt-get update && sudo apt-get upgrade
Uso do OPCache para aumentar a velocidade de download
Para aumentar a velocidade de carregamento do seu aplicativo usando o plug-in OPCache disponível no PHP 7, adicione os seguintes parâmetros OPCache ao final do arquivo de configuração do PHP:
vi /etc/php/7.0/apache2/php.ini
Insira as seguintes linhas:
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
Reinicie o Apache para que as alterações tenham efeito:
systemctl restart apache2
Configurações do banco de dados
Instale o DBMS exigido pelo aplicativo Web Racing 2 para monitoramento e a interface Icinga Web 2 para armazenar usuários, contatos e outros dados coletados. Execute o seguinte comando para instalar o banco de dados MariaDB e o módulo PHP necessários para acessar o banco de dados MySQL no Debian 9:
apt install php7.0-mysql mariadb-server mariadb-client
Faça login no console do MySQL e proteja a conta de superusuário do MariaDB:
mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privileges;
__TITULAR DO LUGAR DO BLOCO DE CÓDIGO_10__
Em seguida, execute o script de segurança do MySQL:
sudo mysql_secure_installation
Faça login no console do banco de dados e crie o banco de dados para o Icinga 2:
mysql -p
Crie um usuário com uma senha forte para gerenciar o banco de dados do aplicativo Icinga 2, digitando os comandos abaixo. Neste exemplo, substitua icingadb, icinga-user e strongpassword pelo nome e pelas credenciais do seu banco de dados:
create database icingadb;
grant all privileges on icingadb.* to 'icinga_user'@'localhost' identified by 'strongpassword';
flush privileges;
Crie um segundo banco de dados MySQL usado pelo Icinga 2 Web para armazenar usuários e grupos. Como na etapa anterior, substitua o nome do banco de dados e as credenciais. Você pode usar a mesma conta de usuário do MySQL para gerenciar os dois bancos de dados simultaneamente (icinga_user'@'localhost):
create database icinga_users;
grant all privileges on icinga_users.* to 'icinga_user'@'localhost' identified by 'strongpassword';
exit
Instalação do Icinga 2
Instale o Icinga 2 e o módulo MySQL do Icinga 2 para acessar o banco de dados MariaDB:
apt install icinga2 icinga2-ido-mysql
Durante a instalação, surge a questão de usar o módulo MySQL. Escolha Yes na linha de comando:
Depois de instalar o Icinga 2, inicie o serviço Icinga 2 e verifique o status do daemon:
systemctl start icinga2.service
systemctl status icinga2.service
Instalação da interface da Web do Icinga 2
Para controlar o Icinga 2 por meio da interface da Web, instale os pacotes da interface da Web e da interface de linha de comando (CLI) do Icinga 2:
apt install icingaweb2 icingacli
Reinicie o daemon do Icinga 2 e verifique seu status:
systemctl restart icinga2.service
systemctl status icinga2.service
É necessário um banco de dados Icinga 2 para instalar o esquema MySQL:
mysql -u root icingadb -p < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Abra o arquivo de configuração IDO do MySQL da Icinga 2:
vi /etc/icinga2/features-enabled/ido-mysql.conf
Adicione as credenciais do banco de dados Icinga 2, conforme mostrado no exemplo abaixo. Use as credenciais do primeiro banco de dados que você criou na etapa anterior para criar o banco de dados:
library "db_ido_mysql"
object IdoMysqlConnection "ido-mysql" {
user = "icinga_user",
password = "strongpassword",
host = "localhost",
database = "icingadb"
}
Salve o arquivo e reinicie o daemon do Icinga 2:
systemctl restart icinga2.service
Crie o diretório de registro do Icinga Web 2 e adicione as permissões apropriadas do sistema de arquivos para conceder permissões de gravação ao grupo:
mkdir -p /var/log/icingaweb2/
chgrp -R icingaweb2 /var/log/icingaweb2/
__TITULAR DO LUGAR DO BLOCO DE CÓDIGO_27__
Configurar o Icinga 2 por meio da interface da Web
Gere o token de instalação. Armazene-o em um local de fácil acesso. Você precisará usá-lo para acessar a configuração do Icinga 2:
icingacli setup token create
A saída desse comando deve ser algo como isto:
The newly generated setup token is: c0f22932e763ac41
Observação: para mostrar o token gerado, caso o tenha esquecido, você pode usar o comando:
icingacli setup token show
Abra a porta HTTP para se conectar à interface da Web:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Abra seu navegador e acesse http://exampleIP/icingaweb2/setup. Substitua o IP de exemplo pelo endereço IP de seu servidor virtual. No primeiro estágio da instalação, adicione o token criado anteriormente:
Na próxima tela, marque os módulos Doc e Monitoring e clique em Next para continuar:
O Icinga 2 verificará os requisitos de seu sistema e os módulos PHP para garantir que todos os requisitos sejam atendidos antes de continuar com o processo de instalação e configuração. Se alguns módulos estiverem faltando, eles deverão ser reinstalados.
Role até a parte inferior da página e clique em Next para continuar:
Para o tipo de autenticação, selecionebase de dados:
Use as informações do segundo banco de dados que você criou anteriormente para adicionar as credenciais necessárias para acessar o banco de dados do Icinga 2 para armazenar usuários e grupos.
Use icingaweb_db como o nome para esse recurso.
Os parâmetros Host e Port devem ser localhost e 3306, respectivamente. Não ative as opções persistente e SSL. Clique no botão Validate configuration (Validar configuração) para confirmar o banco de dados. Depois de verificar com êxito o banco de dados, clique em Next para ir para a próxima etapa do processo de configuração do Icinga 2:
Defina um nome para o banco de dados de autenticação e clique em Next:
Adicione um nome de usuário com uma senha forte para fazer login na interface da Web do Icinga 2 e clique em Next:
Em seguida, configure o aplicativo e configure o registro de erros usando os seguintes parâmetros:
- Marque Show Stacktraces;
- Storage Type = Database;
- Tipo de registro = Arquivo;
- Nível de registro = Erro;
- Caminho do arquivo = /var/log/icingaweb2/icingaweb2.log
Veja o relatório de informações e, se não houver erros, clique em Next para continuar:
Na próxima janela, clique em Next para continuar:
Adicione um nome para o Icinga 2 Backend, selecione IDO como Backend Type e clique em Next:
Adicione credenciais de banco de dados para configurar o ambiente de recursos do IDO. Depois de adicionar, clique no botão Validate Configuration (Validar configuração) para verificar o recurso IDO de monitoramento do Icinga.
Depois que a mensagem Successfully validated for exibida, clique em Next:
Configure o módulo de transporte usando os seguintes parâmetros:
Transport Name = icinga2
Transport Type = Local Command File
Command File = /var/run/icinga2/cmd/icinga2.cmd
Configure as variáveis de ambiente de segurança de monitoramento (você pode deixar os valores padrão):
A próxima tela mostra um relatório detalhado da configuração atual. Verifique a configuração e clique em Finish (Concluir) para concluir o processo de instalação:
Após a conclusão do processo de instalação e configuração, é exibida uma mensagem informando que o Icinga Web 2 foi configurado com êxito:
Faça login no painel do Icinga 2 em http://exampleIP/icingaweb2/authentication/login:
Você será redirecionado para o painel de controle do Icinga Web 2, onde verá os serviços e recursos do servidor virtual que são monitorados atualmente pelo Icinga 2:
Você instalou e configurou com êxito o aplicativo de monitoramento Icinga 2 e a interface Icinga Web 2 no Debian 9.