Icinga: uma ferramenta de 'monitoramento de servidor Linux' de código aberto de última geração para RHEL/CentOS 7.0
Icinga é uma moderna ferramenta de monitoramento de código aberto que se originou de um fork do Nagios e agora tem duas ramificações paralelas, Icinga 1 e Icinga 2. O que esta ferramenta faz não é muito diferente do Nagios pelo fato de ainda utilizar plugins e add-ons do Nagios e até arquivos de configuração para verificar e monitorar serviços de rede e hosts, mas algumas diferenças podem ser detectadas nas interfaces web, especialmente em nova interface web, capacidade de geração de relatórios e fácil desenvolvimento de complementos.
Este tópico se concentrará em uma instalação básica da ferramenta de monitoramento Icinga 1 a partir de binários no CentOS ou RHEL 7, usando o RepoForge (anteriormente conhecido como RPMforge) repositórios para CentOS 6, com a interface web clássica mantida pelo Apache Webserver e a utilização de Plugins Nagios que serão instalados em seu sistema.
Leia também: Instale a ferramenta de monitoramento Nagios no RHEL/CentOS
Requisitos
Uma instalação básica do LAMP no RHEL/CentOS 7.0 sem MySQL e PhpMyAdmin, mas com estes módulos PHP: php-cli
php-pear php-xmlrpc php-xsl php-pdo php-soap php-gd.
- Instalando LAMP básico no RHEL/CentOS 7.0
Etapa 1: Instalando a ferramenta de monitoramento Icinga
1. Antes de prosseguir com a instalação do Icinga a partir de binários, adicione repositórios RepoForge em seu sistema emitindo o seguinte comando, dependendo de sua máquina.
Para 86-64 bits
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
Para 32 bits
rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
2. Após os repositórios RepoForge terem sido adicionados ao seu sistema, comece com a instalação básica do Icinga sem a interface web ainda, executando o seguinte comando.
yum install icinga icinga-doc
3. O próximo passo é tentar instalar a interface web Icinga fornecida pelo pacote icinga-gui. Parece que no momento este pacote tem alguns problemas não resolvidos com o CentOS/RHEL 7 e irá gerar alguns erros de verificação de transação, mas você pode ficar à vontade para tentar instalar o pacote, talvez enquanto isso o problema tenha sido resolvido.
Ainda assim, se você receber os mesmos erros em sua máquina, conforme mostrado nas imagens abaixo, use a abordagem a seguir, conforme descrito mais detalhadamente, para poder instalar a interface web Icinga.
yum install icinga-gui
4. O procedimento para instalar o pacote icinga-gui que fornece a interface web é o seguinte. Primeiro baixe o pacote binário do site RepoForge usando o comando wget.
Para 86-64 bits
wget http://pkgs.repoforge.org/icinga/icinga-gui-1.8.4-4.el6.rf.x86_64.rpm
Para 32 bits
wget http://pkgs.repoforge.org/icinga/icinga-gui-1.8.4-4.el6.rf.i686.rpm
5. Após o wget terminar de baixar o pacote, crie um diretório chamado icinga-gui (você pode escolher outro nome se quiser), mova icinga-gui Binário RPM para essa pasta, entre na pasta e extraia o conteúdo do pacote RPM emitindo a próxima série de comandos.
mkdir icinga-gui
mv icinga-gui-* icinga-gui
cd icinga-gui
rpm2cpio icinga-gui-* | cpio -idmv
6. Agora que você extraiu o pacote icinga-gui, use o comando ls para visualizar o conteúdo da pasta – deve resultar em três novos diretórios – < b>etc, usr e var. Comece executando uma cópia recursiva de todos os três diretórios resultantes no layout do sistema de arquivos raiz do sistema.
cp -r etc/* /etc/
cp -r usr/* /usr/
cp -r var/* /var/
Etapa 2: Modificar o arquivo de configuração do Icinga Apache e as permissões do sistema
7. Conforme apresentado na introdução deste artigo, seu sistema precisa ter o servidor Apache HTTP e PHP instalados para poder executar o Icinga Web Interface.
Depois de concluir as etapas acima, um novo arquivo de configuração deverá estar presente no caminho conf.d do Apache chamado icinga.conf. Para poder acessar o Icinga de um local remoto pelo navegador, abra este arquivo de configuração e substitua todo o seu conteúdo pelas seguintes configurações.
nano /etc/httpd/conf.d/icinga.conf
Certifique-se de substituir todo o conteúdo do arquivo pelo seguinte.
ScriptAlias /icinga/cgi-bin "/usr/lib64/icinga/cgi"
<Directory "/usr/lib64/icinga/cgi">
SSLRequireSSL
Options ExecCGI
AllowOverride None
AuthName "Icinga Access"
AuthType Basic
AuthUserFile /etc/icinga/passwd
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAll>
Require all granted
# Require local
Require valid-user
</RequireAll>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
Require valid-user
</IfModule>
</Directory>
Alias /icinga "/usr/share/icinga/"
<Directory "/usr/share/icinga/">
SSLRequireSSL
Options None
AllowOverride All
AuthName "Icinga Access"
AuthType Basic
AuthUserFile /etc/icinga/passwd
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAll>
Require all granted
# Require local
Require valid-user
</RequireAll>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
Require valid-user
</IfModule>
</Directory>
8. Depois de editar o arquivo de configuração httpd do Icinga, adicione o usuário do sistema Apache ao grupo de sistemas Icinga e use as seguintes permissões do sistema nos próximos caminhos do sistema.
usermod -aG icinga apache
chown -R icinga:icinga /var/spool/icinga/*
chgrp -R icinga /etc/icinga/*
chgrp -R icinga /usr/lib64/icinga/*
chgrp -R icinga /usr/share/icinga/*
9. Antes de iniciar o processo do sistema Icinga e o servidor Apache, certifique-se de desativar também o mecanismo de segurança SELinux executando o comando setenforce 0 e torne as alterações permanentes editando o arquivo /etc/selinux/config, alterando o contexto do SELINUX de enforcing para disabled.
nano /etc/selinux/config
Modifique a diretiva SELINUX para ficar assim.
SELINUX=disabled
Você também pode usar o comando getenforce para visualizar o status do SELinux.
10. Como última etapa antes de iniciar o processo e a interface da web do Icinga, como medida de segurança, agora você pode modificar a senha de administrador do Icinga executando o comando a seguir e, em seguida, iniciar ambos os processos.
htpasswd -cm /etc/icinga/passwd icingaadmin
systemctl start icinga
systemctl start httpd
Etapa 3: Instale os plug-ins do Nagios e acesse a interface da Web do Icinga
11. Para começar a monitorar serviços externos públicos em hosts com Icinga, como HTTP, IMAP, POP3, SSH, DNS, ping ICMP e muitos outros serviços acessíveis pela Internet ou LAN, você precisa instalar 11. b>Pacote Nagios Plugins fornecido pelos repositórios EPEL.
rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm
yum install yum install nagios-plugins nagios-plugins-all
12. Para fazer login na Icinga Web Interface, abra um navegador e aponte-o para a URL http://system_IP/icinga/. Use icingaadmin como nome de usuário e senha que você alterou anteriormente e agora você pode ver o status do sistema localhost.
Isso é tudo! Agora você tem o Icinga básico com a interface web clássica – semelhante ao nagios – instalada e rodando em seu sistema. Usando os plug-ins do Nagios agora você pode começar a adicionar novos hosts e serviços externos para verificar e monitorar editando os arquivos de configuração do Icinga localizados no caminho /etc/icinga/. Se você precisar monitorar serviços internos em hosts remotos, deverá instalar um agente em hosts remotos como NRPE, NSClient++, SNMP para coletar dados e enviá-los ao processo principal do Icinga.
Leia também
- Instale o plug-in NRPE e monitore hosts Linux remotos
- Instale o agente NSClient++ e monitore hosts remotos do Windows