Tutorial do Nagios:
Acredito que existam poucos posts no Nagios e não haja muitas informações relevantes disponíveis na internet. Então, acho que esse post vai dar uma boa clareza sobre essa ferramenta de monitoramento. Nagios monitora toda a sua infraestrutura de TI para garantir que sistemas, aplicativos, serviços e processos de negócios estejam funcionando corretamente.É parte integrante do ciclo de vida DevOps e é uma obrigação para .Neste tutorial do Nagios, estarei cobrindo os tópicos abaixo:
- Por que precisamos de monitoramento contínuo?
- O que é monitoramento contínuo?
- O que é o Nagios?
- Como instalar o Nagios?
- Como adicionar um servidor remoto usando NRPE (Nagios Remote Plugin Executor).
Vamos começar este tutorial do Nagios, entendendo por que precisamos do Monitoramento Contínuo, porque tudo existe por uma razão. Então, vamos tentar descobrir esse motivo.
Por que precisamos de monitoramento contínuo?
As ferramentas de monitoramento contínuo resolvem quaisquer erros do sistema (pouca memória, servidor inacessível, etc.) antes que eles tenham qualquer impacto negativo na produtividade de sua empresa.
Motivos importantes para usar uma ferramenta de monitoramento são:
- Ele detecta qualquer problema de rede ou servidor
- Ele determina a causa raiz de quaisquer problemas
- Ele mantém a segurança e disponibilidade do serviço
- Ele monitora e soluciona problemas de desempenho do servidor
- Ele nos permite planejar atualizações de infraestrutura antes que sistemas desatualizados causem falhas
- Pode responder aos problemas ao primeiro sinal de um problema
- Ele pode ser usado para corrigir problemas automaticamente quando eles são detectados
- Isso garante que as interrupções na infraestrutura de TI tenham um efeito mínimo nos resultados financeiros da sua organização
- Ele pode monitorar toda a sua infraestrutura e processos de negócios
Sim, faz um trabalho muito bom, mas o que é?
O que é monitoramento contínuo?
Deixe-me primeiro dizer onde o monitoramento contínuo se encontra no ciclo de vida do DevOps, considere o diagrama abaixo:
Olhando para o diagrama, você deve estar pensando que este é o último estágio do ciclo de vida do DevOps, mas não é o caso. Não há fim para um ciclo de vida DevOps, e essa é a razão para o símbolo do infinito. O monitoramento contínuo entra em cena assim que o aplicativo é implantado nos servidores de produção.
O Monitoramento Contínuo trata da capacidade de uma organização de detectar, relatar, responder, conter e mitigar os ataques que ocorrem em sua infraestrutura.
O monitoramento contínuo não é novo, já existe há algum tempo. Por anos, nossos profissionais de segurança estão realizando análises estáticas de - log do sistema, logs de firewall, logs de IDS, logs de IPS, etc. Porém, isso não forneceu análise e resposta adequadas. A abordagem de monitoramento contínuo de hoje nos dá a capacidade de agregar todos os eventos que discuti acima, co-relacioná-los, compará-los e, em seguida, estimar a postura de risco da organização.
Se pegarmos todas essas peças e garantirmos a interligação entre elas. Este é o ponto crucial do monitoramento contínuo.
Deixe-me explicar isso com um caso de uso.Considere o diagrama abaixo:
Agora, deixe-me explicar o diagrama acima:
- Temos várias ferramentas de segurança, como Firewall, IDS, End Point Protection etc., que estão conectadas a um sistema de ‘Informações de Segurança e Gerenciamento de Eventos.
- A fim de alcançar o monitoramento contínuo, precisamos ter todas as partes conversando entre si, deixe-me explicar isso a você.
- Portanto, temos ferramentas de segurança e uma série de 'End Points', que podem incluir clientes e servidores, roteadores, switches, dispositivos móveis e assim por diante.
- Esses dois grupos podem então conversar com um sistema de Gerenciamento de Informações e Eventos de Segurança (SIEM), por meio de uma linguagem comum e de maneira mais automatizada.
- Conectado a este SIEM, existem dois componentes importantes, o primeiro é um Data Warehouse. Agora, a este Data Warehouse, iremos conectar ‘Analytics’ e ‘Security Intelligence’.
- Inteligência de segurança (SI) é a informação relevante para proteger uma organização de ameaças externas e internas, bem como os processos, políticas e ferramentas projetadas para coletar e analisar essas informações.
- Este SIEM também está conectado a um 'Sistema de Conformidade e Risco de Governança', basicamente fornece painéis.
- A este ‘Sistema de Governança de Risco e Conformidade’ anexamos um banco de dados de risco. Isso nos dá 'inteligência acionável'.
- A inteligência acionável nada mais é do que informação que pode ser posta em prática, com a implicação adicional de que as ações devemos ser tomados.
Portanto, aqui estamos monitorando os eventos continuamente e determinando o nível de risco que estamos enfrentando. Com isso, podemos correlacionar os eventos no SIEM. Podemos realizar o comportamento da rede e a detecção de anomalias no ‘Analytics Engine’. É disso que se trata o Monitoramento Contínuo:
A integração de uma organizaçãoferramentas de segurança,a agregação,normalização ecorrelação dos dados produzidos pelas ferramentas de segurança. A análise desses dados, com base nos objetivos de risco da organização e conhecimento de ameaças, e resposta quase em tempo real aos riscos identificados.
‘Se você não consegue medir, não consegue gerenciar’. Espero que você saiba do que estou falando.
Em seguida, neste tutorial do Nagios, irei apresentar a você uma das mais famosas ferramentas de monitoramento ‘Nagios’.
O que é Nagios?
Nagios é usado para monitoramento contínuo de sistemas, aplicativos, serviços e processos de negócios, etc. em uma cultura DevOps. No caso de uma falha, o Nagios pode alertar a equipe técnica sobre o problema, permitindo que eles comecem os processos de remediação antes que as interrupções afetem os processos de negócios, usuários finais ou clientes. Com o Nagios, você não precisa explicar por que uma falha de infraestrutura invisível afeta os resultados financeiros da sua organização.
Deixe-me explicar como funciona o Nagios.Considere o diagrama abaixo:
O Nagios é executado em um servidor, geralmente como um daemon ou serviço.
Ele executa plugins que residem no mesmo servidor periodicamente, eles contatam hosts ou servidores em sua rede ou na Internet. Pode-se ver as informações de status usando a interface da web. Você também pode receber notificações por e-mail ou SMS se algo acontecer.
O daemon Nagios se comporta como um planejador que executa determinados scripts em determinados momentos. Ele armazena os resultados desses scripts e executará outros scripts se esses resultados forem alterados.
Plugins: Estessão executáveis ou scripts compilados (scripts Perl, scripts de shell, etc.) que podem ser executados a partir de uma linha de comando para verificar o status de um host ou serviço. O Nagios usa os resultados dos plug-ins para determinar o status atual dos hosts e serviços em sua rede.
Vamos agora discutir sua arquitetura.
Arquitetura Nagios:
- Nagios é construído em uma arquitetura de servidor / agentes.
- Normalmente, em uma rede, um servidor Nagios está sendo executado em um host e os plug-ins interagem com os hosts locais e remotos que precisam ser monitorados.
- Esses plug-ins enviarão informações ao Scheduler, que as exibe em uma GUI.
Também preciso te explicar o NRPE (Nagios Remote Plugin Executor).
O complemento NRPE é projetado para permitir que você execute plug-ins Nagios em máquinas Linux / Unix remotas. O principal motivo para fazer isso é permitir que o Nagios monitore recursos “locais” (como carga de CPU, uso de memória, etc.) em máquinas remotas. Como esses recursos públicos geralmente não são expostos a máquinas externas, um agente como o NRPE deve ser instalado nas máquinas Linux / Unix remotas.
Considere o diagrama abaixo:
- O plugin check_nrpe reside na máquina de monitoramento local.
- O daemon NRPE é executado na máquina Linux / Unix remota.
- Há uma conexão SSL (Secure Socket Layer) entre o host de monitoramento e o host remoto, conforme mostrado no diagrama acima.
Agora, neste tutorial do Nagios, é hora de alguns Mãos em .
Vamos começar instalando o Nagios Core
Instale o Nagios Core:
O processo completo de instalação do Nagios pode ser resumido em quatro etapas:
- Instale os pacotes necessários no servidor de monitoramento
- Instalar Nagios Core, Nagios Plugins e NRPE (Nagios Remote Plugin Executor)
- Defina a senha do Nagios para acessar a interface da Web
- Instalar NRPE no cliente
Etapa 1: instale os pacotes necessários no servidor de monitoramento:
Visite o site: http://dl.fedoraproject.org/pub/epel/6/
Clique em i386 e então você será redirecionado para uma página.
Como estou usando o CentOS 6, clicarei com o botão direito e copiarei o local do link ' epel-release-6-8.noarch.rpm ‘, Conforme mostrado na imagem acima.
Abra o terminal e use rpm -Uvh comando e cole o link.
Precisamos baixar mais um repositório, para isso visite o site ‘ http://rpms.famillecollet.com/enterprise/ '
Clique com o botão direito e copie o local do link para ‘ remi-release-6.rpm '
Abra novamente o terminal e use rpm -Uvh comando e cole o link.
Tudo bem, então nós concluímos os pré-requisitos. Vamos prosseguir para a próxima etapa.
Etapa - 2: Instalar Nagios Core, Nagios Plugins e NRPE (Nagios Remote Plugin Executor):
Execute o comando abaixo no terminal:
yum -y install nagios nagios-plugins-all nagios-plugins-nrpe nrpe httpd php
Isso irá instalar Nagios, Plugins do Nagios, Plugins para NRPE, NRPE, Apache e PHP
O servidor da web Apache é necessário para monitorar o status atual do servidor da web.
Php é usado para processar conteúdo dinâmico da data do site.
Em seguida, precisamos habilitar o serviço Apache e Nagios:
chkconfig httpd em && chkconfig nagios em
Nossa próxima etapa é iniciar o Nagios e o Apache:
serviço httpd start && serviço nagios start
Agora, vou habilitar a memória de troca de pelo menos 1 GB. É hora de criar o próprio arquivo de troca usando o comando dd:
dd if = / dev / zero de = / swap bs = 1024 contagem = 2097152
A troca é basicamente usada para liberar algumas informações da RAM, não tão freqüentemente acessadas, e movê-las para uma partição específica em nosso disco rígido.
Agora que você criou a partição swap, use o comando mkswap para configurar a partição de troca. Isso irá preparar o arquivo de troca criando uma área de troca do Linux.
mkswap / swap
Para evitar que o arquivo seja legível por todos, você deve configurar as permissões corretas no arquivo de troca:
raiz de chown. / swap chmod 0600 / swap
Se você não encontrar erros, seu espaço de troca está pronto para ser usado. Para ativá-lo imediatamente, digite:
swapon / swap
Este arquivo durará no servidor virtual privado até que a máquina seja reinicializada. Você pode garantir que a troca seja permanente adicionando-a ao arquivo fstab.
echo / swap swap swap padrões 0 0 >> / etc / fstab
O kernel do sistema operacional pode ajustar a frequência com que depende de troca por meio de um parâmetro de configuração conhecido como troca .
Para encontrar as configurações de troca atuais, digite:
cat / proc / sys / vm / swappiness
A troca pode ser um valor de 0 a 100. A troca perto de 100 significa que o sistema operacional fará a troca com freqüência e, geralmente, muito cedo. Embora a troca forneça recursos extras, a RAM é muito mais rápida do que o espaço de troca. Sempre que algo é movido da RAM para a troca, ele fica mais lento.
Um valor de troca de 0 significa que a operação dependerá apenas da troca quando for absolutamente necessário. Podemos ajustar a troca com o comando sysctl. Para fazer seu VPS aplicar automaticamente esta configuração toda vez que for inicializado, você pode adicionar a configuração ao arquivo /etc/sysctl.confArquivo:
echo vm.swappiness = 0 >> /etc/sysctl.conf && sysctl -p
Finalmente, concluímos a segunda etapa.
Vamos prosseguir e definir a senha do Nagios para acessar a interface da web.
Etapa - 3: Defina a senha do Nagios para acessar a interface da Web:
Defina a senha para acessar a interface web, use o comando abaixo:
htpasswd -c / etc / nagios / passwd nagiosadmin
Digite a senha e confirme digitando-a novamente.
Agora, abra o navegador. Aqui, digite seu IP público ou nome de host / nagios. Considere o exemplo abaixo:
Aqui, forneça o nome de usuário e a senha. Por padrão, o nome do usuário é nagiosadmin, e a senha é o que você definiu na etapa anterior. Finalmente, pressione OK.
Depois disso, você será direcionado para o painel do Nagios Core.
Você pode clicar em hosts e ver quais hosts seu Nagios Core está monitorando atualmente.
Você pode notar que ele está monitorando apenas um host, ou seja, localhost. Se eu quiser que meu Nagios Core monitore um host remoto, preciso instalar o NRPE nesse host remoto. Isso nos leva à próxima etapa, instalar o NRPE no cliente / máquina que você deseja que o Nagios monitore.
Etapa - 4: Instale o NRPE no cliente:
Tudo bem então, vamos instalar o NRPE na máquina cliente.
Em primeiro lugar, você precisa instalar os pacotes necessários como eu fiz na minha máquina do servidor Nagios. Então, basta executar os mesmos comandos, considere as capturas de tela abaixo:
Agora instale Nagios, Nagios Plugins e NRPE no cliente:
yum -y install nagios nagios-plugins-all nrpe
Depois de instalado, ative o serviço NRPE:
chkconfig nrpe on
Nossa próxima etapa é editar o, nrpe.cfg Arquivo. Eu estarei usando o nós editor, você também pode escolher qualquer outro editor:
Você precisa adicionar o endereço IP do seu servidor de monitoramento, na linha do host permitido, considere a captura de tela abaixo:
Aqui, o endereço IP do meu servidor de monitoramento é 192.168.56.101.
Agora, precisamos configurar regras de firewall para permitir a conexão entre o servidor de monitoramento e o cliente.
iptables -N NRPE
-Uma opção é usada para anexar a nova regra ao final de uma cadeia. Se você quiser colocá-lo em algum outro lugar da cadeia, pode usar a opção -I que permite especificar a posição da nova regra.
O comando abaixo aceita solicitações tcp nas portas 5666.
iptables -I INPUT -s 0/0 -p tcp --dport 5666 -j NRPE iptables -I NRPE -s 192.168.56.101 -j ACEITAR iptables -A NRPE -s 0/0 -j DROP
Isso basicamente configurará o iptables para aceitar pacotes de um determinado host, no meu caso - 192.168.56.101, e descarta os pacotes de outros hosts.
Agora, salvarei estas configurações:
/etc/init.d/iptables save
Inicie o serviço NRPE agora.
serviço nrpe start
Agora volte para o servidor de monitoramento.
Aqui, preciso editar o arquivo nagios.cfg.
vi /etc/nagios/nagios.cfg
Remova o comentário da linha - cfg_dir = etc / nagios / servers
Faça o diretório 'servidor', para esse uso mkdir comando.
mkdir / etc / nagios / servers /
Mude seu diretório de trabalho para servidores.
cd / etc / nagios / servers
Crie um novo arquivo neste diretório com extensão .cfg e edite-o. Vou chamá-lo de client.cfg e irei usar nós editor.
vi /etc/nagios/servers/client.cfg
Adicione aqui as linhas abaixo:
como implementar um hashmap
Isso inclui basicamente o tipo de serviço que desejo monitorar. Forneça o nome do host da máquina e seu endereço IP que você deseja que o Nagios monitore.
Da mesma forma, você pode adicionar vários serviços que deseja monitorar. As mesmas configurações podem ser usadas para adicionar 'n' número de clientes.
Última etapa pessoal, defina as permissões da pasta corretamente e reinicie o Nagios.
chown -R nagios. / etc / nagios /
Agora, reinicie o Nagios
reiniciar nagios de serviço
Abra o navegador e digite novamente o nome do host ou ip público / nagios /. No meu caso, é localhost / nagios /.
Clique nos hosts para ver todas as máquinas que o Nagios está monitorando atualmente.
Aqui você pode notar que ele está monitorando a máquina cliente (nome de host da máquina que eu quero que o Nagios monitore). Basicamente, adicionamos um host remoto usando NRPE.
Espero que você tenha gostado de ler este tutorial do Nagios, estarei criando mais blogs sobre o Nagios em breve.
Se você achou este tutorial do Nagios relevante, verifique o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso Edureka DevOps Certification Training ajuda os alunos a ganhar experiência em vários processos e ferramentas DevOps, como Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack e GIT para automatizar várias etapas no SDLC.
Tem uma pergunta para mim? Mencione isso na seção de comentários e entrarei em contato com você.