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:
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:
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:
Insira as seguintes linhas:
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:
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:
Faça login no console do MySQL e proteja a conta de superusuário do MariaDB:
__TITULAR DO LUGAR DO BLOCO DE CÓDIGO_10__
Em seguida, execute o script de segurança do MySQL:
Faça login no console do banco de dados e crie o banco de dados para o Icinga 2:
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:
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):
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:
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:
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:
Reinicie o daemon do Icinga 2 e verifique seu status:
É necessário um banco de dados Icinga 2 para instalar o esquema MySQL:
Abra o arquivo de configuração IDO do MySQL da Icinga 2:
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:
object IdoMysqlConnection "ido-mysql" {
user = "icinga_user",
password = "strongpassword",
host = "localhost",
database = "icingadb"
}
Salve o arquivo e reinicie o daemon do Icinga 2:
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:
__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:
A saída desse comando deve ser algo como isto:
Observação: para mostrar o token gerado, caso o tenha esquecido, você pode usar o comando:
Abra a porta HTTP para se conectar à interface da Web:
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 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.