Pesquisa de site

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.

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

  1. Instale o plug-in NRPE e monitore hosts Linux remotos
  2. Instale o agente NSClient++ e monitore hosts remotos do Windows