Monitoramento · 21 min read · Nov 09, 2025
Como Instalar e Configurar o Nagios no Rocky Linux 9

Nagios é um sistema de monitoramento open-source popular e um dos mais poderosos. Ele monitora sua infraestrutura de TI e mantém suas redes, servidores, aplicações e processos funcionando sem problemas. Com um sistema de monitoramento, você pode detectar problemas antes que eles ocorram e corrigi-los rapidamente para economizar custos e tempo de inatividade.
Este tutorial ensina como instalar e configurar o Nagios em um servidor Rocky Linux 9. Também faremos algumas configurações básicas e instalaremos o Nagios Remote Plugin Executor (NPRE), que nos permite monitorar hosts remotos.
Pré-requisitos
- Um servidor rodando Rocky Linux 9.
- Um usuário não-sudo com privilégios de root.
- O SELinux está desativado. Para este tutorial, mesmo que você mantenha o SELinux ativado, funcionará sem problemas. Mas dependendo dos monitores do Nagios que você usar, você precisará configurar o SELinux ou será melhor mantê-lo desativado.
- Outro servidor rodando Rocky Linux 9 que você deseja monitorar.
- Certifique-se de que tudo está atualizado.
$ sudo dnf update
Passo 1 - Configurar o Firewall
O primeiro passo é configurar o firewall. O servidor Rocky Linux vem com o firewall Firewalld.
Verifique se o firewall está em execução.
$ sudo firewall-cmd --state
Você deve obter a seguinte saída.
running
Verifique os serviços/portas permitidos atualmente.
$ sudo firewall-cmd --permanent --list-services
Deve mostrar a seguinte saída.
dhcpv6-client mdns ssh
Permita as portas HTTP e HTTPS.
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
Verifique novamente o status do firewall.
$ sudo firewall-cmd --permanent --list-services
Você deve ver uma saída semelhante.
dhcpv6-client http https mdns ssh
Recarregue o Firewall.
$ sudo firewall-cmd --reload
Passo 2 - Instalar Apache e PHP
Para rodar o Nagios, você precisará do Apache junto com o PHP instalado.
Instale e habilite o serviço Apache.
$ sudo dnf install httpd
$ sudo systemctl enable httpd
Para instalar o PHP, usaremos o Repositório Remi. Instale o Repositório Remi e habilite o PHP 8.1.
$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm
$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.1 -y
Instale o PHP e vários módulos PHP comuns.
$ sudo dnf install -y php php-gd php-curl
Verifique a instalação do PHP.
$ php --version
PHP 8.1.16 (cli) (built: Feb 14 2023 18:59:41) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.16, Copyright (c) Zend Technologies
with Zend OPcache v8.1.16, Copyright (c), by Zend Technologies
Habilite o PHP e inicie o serviço.
$ sudo systemctl enable --now php-fpm
Reinicie o serviço Apache para que a alteração tenha efeito.
$ sudo systemctl restart httpd
Você pode verificar a instalação do Apache e do PHP criando um arquivo info.php no diretório /var/www/html que foi criado pelo instalador do Apache.
$ sudo nano /var/www/html/info.php
Cole o seguinte código no editor.
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Abra a URL http:// em seu navegador e você deve ser recebido pela seguinte página.

Passo 3 - Instalar o Nagios
A maior parte deste tutorial exigirá que você instale e trabalhe em seu servidor principal.
Instalar Dependências
Este tutorial exigirá que o Nagios e seus plugins sejam construídos a partir do código-fonte. Portanto, você precisa instalar algumas bibliotecas de desenvolvimento primeiro. Precisamos do repositório EPEL também, mas ele foi instalado automaticamente com o repositório Remi na etapa anterior, então podemos pular isso aqui.
$ sudo dnf install gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel unzip wget gettext autoconf net-snmp-utils postfix automake perl-Net-SNMP
Baixar o Nagios
Baixe a versão mais recente da página de lançamentos do GitHub do Nagios. No momento do tutorial, 4.4.10 é a versão mais recente disponível. Modifique o comando caso você queira uma versão diferente.
$ cd ~
$ sudo wget -O nagios.tar.gz https://github.com/NagiosEnterprises/nagioscore/releases/download/nagios-4.4.10/nagios-4.4.10.tar.gz
Extraia o arquivo tar.
$ sudo tar zxf nagios.tar.gz
Mova o diretório extraído para o diretório /usr/src.
sudo mv nagios-4.4.10 /usr/src/nagios
Mude para o diretório /usr/src/nagios.
$ cd /usr/src/nagios
Compilar o Nagios
O próximo passo é compilar o Nagios a partir de seus arquivos de origem. Execute o script configure para realizar verificações para garantir que todas as dependências estejam presentes.
$ sudo ./configure
Você deve obter uma saída semelhante após a conclusão bem-sucedida do script.
* Resumo da configuração para nagios 4.4.10 2023-01-17 *:
Opções Gerais:
-------------------------
Executável do Nagios: nagios
Usuário/grupo do Nagios: nagios,nagios
Usuário/grupo do comando: nagios,nagios
Broker de Eventos: sim
Instalar ${prefix}: /usr/local/nagios
Instalar ${includedir}: /usr/local/nagios/include/nagios
Arquivo de bloqueio: /run/nagios.lock
Diretório de resultados de verificação: /usr/local/nagios/var/spool/checkresults
Diretório de inicialização: /lib/systemd/system
Diretório conf.d do Apache: /etc/httpd/conf.d
Programa de e-mail: /usr/sbin/sendmail
SO do Host: linux-gnu
Método IOBroker: epoll
Opções da Interface Web:
------------------------
URL HTML: http://localhost/nagios/
URL CGI: http://localhost/nagios/cgi-bin/
Traceroute (usado pelo WAP):
Revise as opções acima para precisão. Se parecerem corretas,
digite 'make all' para compilar o programa principal e os CGIs.
Inicie a compilação.
$ sudo make all
Criar Usuário e Grupo do Nagios
Crie um novo usuário e grupo que executarão o processo do Nagios.
$ sudo make install-groups-users
Você deve ver a seguinte saída.
groupadd -r nagios
useradd -g nagios nagios
Adicione o usuário apache ao grupo nagios.
$ sudo usermod -a -G nagios apache
Instalar os Binários do Nagios
Execute o seguinte comando para instalar os binários do Nagios, CGIs e arquivos HTML.
$ sudo make install
Criar Diretório de Comandos Externos
O Nagios pode processar comandos de aplicativos externos e, para isso, precisa que um diretório seja configurado.
$ sudo make install-commandmode
/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/var/rw
chmod g+s /usr/local/nagios/var/rw
* Diretório de comandos externos configurado *
Instalar Arquivos de Configuração do Nagios
Instale os arquivos de configuração de exemplo.
$ sudo make install-config
Instalar Arquivos de Configuração do Apache
Execute o seguinte comando para instalar os arquivos de configuração do Apache.
$ sudo make install-webconf
Reinicie o servidor web para ativar a configuração.
$ sudo systemctl restart httpd
Criar um Arquivo de Serviço Systemd
Execute o seguinte comando para instalar um arquivo de unidade systemd.
$ sudo make install-daemoninit
Habilitar Autenticação HTTP
Você pode bloquear a interface web do Nagios via autenticação HTTP. Execute o seguinte comando para usar htpasswd para criar o usuário. Você será solicitado a fornecer uma senha.
$ sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Nova senha:
Re-digite nova senha:
Adicionando senha para o usuário nagiosadmin
O nome padrão para o usuário é nagiosadmin. Você pode usar outro nome de usuário substituindo todas as instâncias de nagiosadmin no arquivo /usr/local/nagios/etc/cgi.cfg pelo nome de usuário preferido. Ou você pode adicionar o nome de usuário usando uma vírgula como a seguinte.
authorized_for_system_information=nagiosadmin, username1
authorized_for_configuration_information=nagiosadmin, username1
authorized_for_system_commands=nagiosadmin, username1
authorized_for_all_services=nagiosadmin, username1
authorized_for_all_hosts=nagiosadmin, username1
authorized_for_all_service_commands=nagiosadmin, username1
authorized_for_all_host_commands=nagiosadmin, username1
Você pode adicionar usuários com acesso somente leitura habilitando a seguinte configuração no arquivo, removendo o hash (#) na frente dela. Em seguida, execute o htpasswd com o nome de usuário.
authorized_for_read_only=username2
Reinicie o servidor para que a configuração tenha efeito.
$ sudo systemctl restart httpd
Passo 4 - Instalar Plugins do Nagios
Instale os pré-requisitos necessários para os plugins do Nagios.
$ sudo dnf install epel-release
$ sudo dnf install -y gcc glibc glibc-common make gettext automake autoconf wget openssl-devel net-snmp net-snmp-utils postgresql-devel openldap-devel bind-utils samba-client fping openssh-clients lm_sensors perl-Net-SNMP
Baixe a versão mais recente da página do GitHub dos plugins do Nagios. No momento do tutorial, 2.4.3 é a versão mais recente disponível. Modifique o comando caso você queira uma versão diferente.
$ cd ~
$ sudo wget -O nagios-plugins.tar.gz https://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.4.3/nagios-plugins-2.4.3.tar.gz
Extraia o arquivo tar.
$ sudo tar zxf nagios-plugins.tar.gz
Mova o diretório extraído para o diretório /usr/src.
$ sudo mv nagios-plugins-2.4.3 /usr/src/nagios-plugins
Mude de volta para o diretório /usr/src/nagios-plugins.
$ cd /usr/src/nagios-plugins
Execute os seguintes comandos para compilar e instalar os plugins.
$ sudo ./configure
$ sudo make
$ sudo make install
Passo 5 - Instalar o Plugin check_nrpe
Baixe a versão mais recente da página de lançamentos do NRPE no GitHub. No momento da redação deste tutorial, a versão mais recente disponível é 4.1.0. Modifique o seguinte comando caso você queira uma versão diferente.
$ cd ~
$ wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.1.0/nrpe-4.1.0.tar.gz
Extraia o arquivo.
$ tar zxf nrpe-*.tar.gz
Mova o diretório extraído para o diretório /usr/src.
$ sudo mv nrpe-4.1.0 /usr/src/nrpe
Mude para o diretório /usr/src/nrpe.
$ cd /usr/src/nrpe
Configure e instale o plugin.
$ sudo ./configure
$ sudo make check_nrpe
$ sudo make install-plugin
Isso colocará o plugin check_nrpe no diretório /usr/local/nagios/libexec/.
Passo 6 - Iniciar o Nagios
Com o Nagios e os plugins instalados, é hora de iniciar o serviço Nagios.
$ sudo systemctl start nagios
Verifique o status do serviço para ver se está funcionando corretamente.
$ sudo systemctl status nagios
Interface Web do Nagios
Abra a URL http:// em seu navegador. Você deve ver um prompt de login.
Digite as credenciais que você criou durante o método de autenticação HTTP e você deve ser recebido pela seguinte tela.

Passo 7 - Monitorando Hosts
Para monitorar um host, você precisa instalar o Daemon NRPE e os plugins do Nagios no host. Vamos monitorar um servidor Rocky Linux 9 a partir do nosso servidor Nagios.
Faça login no seu host.
$ ssh user@monitored_server_ip
Instalar Plugins do Nagios
Instale os plugins do Nagios repetindo o passo 4 de antes.
Instalar NRPE
Instale os pré-requisitos necessários para o daemon NRPE.
$ sudo dnf install -y gcc glibc glibc-common openssl openssl-devel perl wget
Baixe o NRPE.
$ cd ~
$ wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.1.0/nrpe-4.1.0.tar.gz
Extraia o arquivo.
$ tar zxf nrpe-*.tar.gz
Mova o diretório extraído para o diretório /usr/src.
$ sudo mv nrpe-4.1.0 /usr/src/nrpe
Mude para o diretório NRPE.
$ cd /usr/src/nrpe
Configure e instale o NRPE.
$ sudo ./configure --enable-command-args
$ sudo make all
Crie o Usuário e grupo.
$ sudo make install-groups-users
Instale os Binários do NRPE, o daemon NRPE e o plugin check_npre.
$ sudo make install
Instale os arquivos de configuração.
$ sudo make install-config
Atualize o arquivo de serviços. O arquivo /etc/services é usado para traduzir nomes de serviços em números de porta.
$ sudo sh -c "echo >> /etc/services"
$ sudo sh -c "sudo echo '# Serviços do Nagios' >> /etc/services"
$ sudo sh -c "sudo echo 'nrpe 5666/tcp' >> /etc/services"
Instale o daemon de serviço NPRE.
$ sudo make install-init
$ sudo systemctl enable nrpe
Você precisa atualizar o arquivo de configuração NPRE localizado em /usr/local/nagios/etc/nrpe.cfg.
Abra o arquivo para edição.
$ sudo nano /usr/local/nagios/etc/nrpe.cfg
Por padrão, o NPRE escuta solicitações apenas do localhost (127.0.0.1). Você precisa adicionar o endereço IP do seu servidor Nagios ao arquivo.
allowed_hosts=127.0.0.1,10.25.5.2
A opção a seguir determina se o daemon NPRE permitirá que os clientes especifiquem argumentos de comando. Permita a opção inserindo o valor como 1, que habilita configurações avançadas do NPRE.
dont_blame_nrpe=1
Em seguida, ao rolar para baixo, você encontrará uma lista de comandos NRPE com suas definições. Todos eles estão comentados. Você precisa descomentá-los para que o Nagios possa usá-los.
Cada comando pode receber argumentos. Alguns dos comandos têm argumentos codificados na frente deles, enquanto outros podem aceitar argumentos do usuário. Cada comando pode ter as seguintes opções de notificação.
- W significa estados de serviço de Aviso
- C significa estados de serviço Crítico
- R significa notificar sobre a recuperação do serviço (estados OK)
Assim, você pode especificar em que nível que tipo de notificação um comando pode enviar. Não vamos nos aprofundar na descrição detalhada e função de cada um dos comandos, pois estão além do escopo deste tutorial.
# Os seguintes exemplos usam argumentos de comando codificados...
# Este é de longe o método mais seguro de usar o NRPE
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -r -w .15,.10,.05 -c .30,.25,.20
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
# Os seguintes exemplos permitem argumentos fornecidos pelo usuário e podem
# ser usados apenas se o daemon NRPE foi compilado com suporte para
# argumentos de comando *E* a diretiva dont_blame_nrpe neste
# arquivo de configuração está definida como '1'. Isso representa um risco potencial de segurança, então
# certifique-se de ler o arquivo de SEGURANÇA antes de fazer isso.
### MÉTRICAS DO SISTEMA MISC ###
command[check_users]=/usr/local/nagios/libexec/check_users $ARG1$
command[check_load]=/usr/local/nagios/libexec/check_load $ARG1$
command[check_disk]=/usr/local/nagios/libexec/check_disk $ARG1$
command[check_swap]=/usr/local/nagios/libexec/check_swap $ARG1$
command[check_cpu_stats]=/usr/local/nagios/libexec/check_cpu_stats.sh $ARG1$
command[check_mem]=/usr/local/nagios/libexec/custom_check_mem -n $ARG1$
### SERVIÇOS GENÉRICOS ###
command[check_init_service]=sudo /usr/local/nagios/libexec/check_init_service $ARG1$
command[check_services]=/usr/local/nagios/libexec/check_services -p $ARG1$
### ATUALIZAÇÕES DO SISTEMA ###
command[check_yum]=/usr/local/nagios/libexec/check_yum
#command[check_apt]=/usr/local/nagios/libexec/check_apt
### PROCESSOS ###
command[check_all_procs]=/usr/local/nagios/libexec/custom_check_procs
command[check_procs]=/usr/local/nagios/libexec/check_procs $ARG1$
### ARQUIVOS ABERTOS ###
command[check_open_files]=/usr/local/nagios/libexec/check_open_files.pl $ARG1$
### CONEXÕES DE REDE ###
command[check_netstat]=/usr/local/nagios/libexec/check_netstat.pl -p $ARG1$ $ARG2$
Descomente os comandos acima removendo o símbolo # na frente deles. Você pode descomentar quantos comandos precisar.
Adicione o seguinte comando para verificar o espaço em disco da raiz.
command[check_root]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /
Uma vez que você tenha terminado, salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Permita a porta 5666, que é usada pelo plugin NPRE.
$ sudo firewall-cmd --permanent --add-port=5666/tcp
Recarregue o firewall.
$ sudo firewall-cmd --reload
Inicie o NPRE.
$ sudo systemctl start nrpe
Todos os comandos a partir daqui serão executados no servidor Nagios principal, a menos que especificado de outra forma.
Verifique se o NRPE está funcionando executando o seguinte comando em seu servidor Nagios principal.
$ /usr/local/nagios/libexec/check_nrpe -H monitored_server_ip
Você deve ver a seguinte saída.
NRPE v4.1.0
Para monitorar os hosts, você precisará criar arquivos de configuração para cada host que deseja monitorar. Esses hosts se tornarão acessíveis através da interface web do Nagios.
Crie o diretório para armazenar os arquivos de configuração e dê as permissões adequadas.
$ sudo mkdir /usr/local/nagios/etc/servers
$ sudo chown -R nagios:nagios /usr/local/nagios/etc/servers
$ sudo chmod g+w /usr/local/nagios/etc/servers
Abra o arquivo de configuração do Nagios /usr/local/nagios/etc/nagios.cfg para edição.
$ sudo nano /usr/local/nagios/etc/nagios.cfg
Encontre o seguinte arquivo e descomente removendo o # na frente dele.
cfg_dir=/usr/local/nagios/etc/servers
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
O próximo passo é adicionar o comando check_nrpe ao arquivo /usr/local/nagios/etc/objects/commands.cfg para que ele possa ser usado para monitorar hosts.
Abra o arquivo /usr/local/nagios/etc/objects/commands.cfg para edição.
$ sudo nano /usr/local/nagios/etc/objects/commands.cfg
Cole o seguinte código no final do arquivo.
define command {
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$ $ARG2$
}
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Crie um novo arquivo de configuração para o host remoto no diretório /usr/local/nagios/etc/servers/.
$ sudo nano /usr/local/nagios/etc/servers/yourhost.cfg
Adicione o seguinte código substituindo o valor host_name pelo nome do seu host remoto, o valor alias pela descrição do seu host e o valor address pelo endereço IP do seu host remoto.
define host {
use linux-server
host_name monitored_server_host_name
alias Meu servidor cliente
address monitored_server_private_ip
max_check_attempts 5
check_period 24x7
notification_interval 30
notification_period 24x7
}
Com essa configuração, o Nagios informará quando o host estiver ativo ou inativo. Você precisará adicionar mais serviços para monitorar coisas adicionais.
Adicione o seguinte bloco para verificar as estatísticas de conexão do host.
define service {
use generic-service
host_name monitored_server_host_name
service_description PING
check_command check_ping!200.0,20%!400.0,90%
}
Adicione o seguinte bloco para monitorar a carga média do seu servidor.
define service {
use generic-service
host_name monitored_server_host_name
service_description Carga média
check_command check_nrpe!check_load!-a '-w 0.7,0.6,0.5 -c 0.9,0.8,0.7'
}
A diretiva use generic-service diz ao Nagios para herdar de um modelo chamado generic-service pré-definido pelo Nagios.
Em seguida, adicione um bloco para monitorar o uso do disco. Modifique o comando com os rótulos de disco apropriados.
define service {
use generic-service
host_name monitored_server_host_name
service_description /dev/vda1 espaço livre
check_command check_nrpe!check_disk!-a '-w 20% -c 10% -p /dev/vda1'
}
Monitore o SSH usando o seguinte bloco. O bloco a seguir verificará o servidor SSH e gerará um alerta se o servidor não responder dentro de 5 segundos.
define service {
use generic-service
host_name monitored_server_host_name
service_description Verificação da Versão SSH
check_command check_ssh!-t 5
}
Vamos verificar o número total de processos em execução.
define service{
use generic-service
host_name monitored_server_host_name
service_description Total de Processos
check_command check_nrpe!check_total_procs
}
Verifique os usuários atualmente conectados.
define service{
use generic-service
host_name monitored_server_host_name
service_description Usuários Atuais
check_command check_nrpe!check_users!-a '-w 5 -c 10'
}
Verifique o uso do disco SWAP.
define service{
use generic-service
host_name monitored_server_host_name
service_description Uso de SWAP
check_command check_nrpe!check_swap!-a '-w 40% -c 20%'
}
Verifique a partição raiz e seu uso de disco.
define service{
use generic-service
host_name nagiosclient
service_description Raiz / Partição
check_command check_nrpe!check_disk!-a '-w 20% -c 10% -p /'
}
Verifique se um servidor HTTP está instalado.
define service {
use generic-service
host_name nagiosclient
service_description HTTP
check_command check_http
}
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Reinicie o Nagios.
$ sudo systemctl restart nagios
Verificar Monitores
Abra seu painel do Nagios e clique na opção Hosts na barra lateral esquerda. Você deve ver o host recém-configurado junto com o localhost na página.

Clique no host recém-configurado (nagiosclient) e se tudo estiver configurado corretamente, você deve ver seu status. Pode levar um minuto ou mais para que o status apareça.

Para ver os serviços ou os monitores que configuramos, clique na opção Ver Detalhes do Status Para Este Host e você deve ser recebido pela seguinte página.

Isso deve lhe dar uma ideia adequada de como seus hosts estão funcionando.
Passo 8 - Instalar Nginx
Você pode executar o Nagios diretamente via o IP do servidor ou hospedá-lo em seu nome de domínio. O Nagios já vem com arquivos de configuração do Apache, mas usaremos o Nginx para executá-lo. Usaremos o Nginx como um proxy reverso na frente do servidor web Apache.
O Apache já está rodando na porta 80. Portanto, precisamos mudar isso primeiro. E então, podemos executar o Nginx como um proxy.
Abra o arquivo /etc/httpd/conf/httpd.conf para edição.
$ sudo nano /etc/httpd/conf/httpd.conf
Mude a linha Listen 80 para Listen 8080. Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado. Como usaremos o nome de domínio para acessar o Nagios, não precisamos abrir a porta 8080 para acesso público.
Reinicie o servidor Apache.
$ sudo systemctl restart httpd
Em seguida, instale o Nginx.
O Rocky Linux 9 vem com uma versão mais antiga do Nginx. Você precisa baixar o repositório oficial do Nginx para instalar a versão mais recente.
Crie e abra o arquivo /etc/yum.repos.d/nginx.repo para criar o repositório oficial do Nginx.
$ sudo nano /etc/yum.repos.d/nginx.repo
Cole o seguinte código nele.
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Instale o servidor Nginx.
$ sudo dnf install nginx
Verifique a instalação.
$ nginx -v
nginx version: nginx/1.22.1
Habilite e inicie o servidor Nginx.
$ sudo systemctl enable nginx --now
Passo 9 - Instalar e Configurar SSL
Antes de configurar o Nginx, configuraremos e configuraremos um certificado SSL para o domínio que vamos usar com o Nagios. No nosso caso, usaremos http://nagios.example.com.
Usaremos o instalador de pacotes Snapd para isso. Como o Rocky Linux não vem com ele, instale o instalador Snapd. Ele requer o repositório EPEL para funcionar, que já instalamos anteriormente, então podemos pular isso.
Instale o Snapd.
$ sudo dnf install -y snapd
Habilite e inicie o serviço Snap.
$ sudo systemctl enable snapd --now
Instale o pacote Snap core e certifique-se de que sua versão do Snapd esteja atualizada.
$ sudo snap install core && sudo snap refresh core
Crie os links necessários para o Snapd funcionar.
$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh
Emita o seguinte comando para instalar o Certbot.
$ sudo snap install --classic certbot
Use o seguinte comando para garantir que o comando Certbot possa ser executado criando um link simbólico para o diretório /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Verifique a instalação.
$ certbot --version
certbot 2.3.0
Execute o seguinte comando para gerar um Certificado SSL.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d nagios.example.com
O comando acima baixará um certificado para o diretório /etc/letsencrypt/live/nagios.example.com em seu servidor.
Gere um certificado de grupo Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Faça um teste do processo para verificar se a renovação do SSL está funcionando bem.
$ sudo certbot renew --dry-run
Se você não vir erros, está tudo pronto. Seu certificado será renovado automaticamente.
Passo 10 - Configurar Nginx
Antes de configurar o Nginx, há outra alteração que devemos fazer. Por padrão, o Apache serve o Nagios via http://. Agora, podemos configurar um proxy diretamente com o Nagios, mas ele será servido via https://nagios.example.com/nagios. Podemos fazer um redirecionamento no Nginx para a URL raiz, o que complica as coisas. Por essa razão, faremos uma alteração no Apache e no Nagios diretamente.
Primeiro, abra o arquivo /usr/local/nagios/etc/cgi.cfg para edição.
$ sudo nano /usr/local/nagios/etc/cgi.cfg
Mude url_html_path=/nagios para url_html_path=/.
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Em seguida, abra /etc/httpd/conf.d/nagios.conf para edição.
$ sudo nano /etc/httpd/conf.d/nagios.conf
Mude ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin" para ScriptAlias /cgi-bin "/usr/local/nagios/sbin".
Comente a linha Alias /nagios "/usr/local/nagios/share" mudando-a para o seguinte.
#Alias /nagios "/usr/local/nagios/share"
Adicione a seguinte linha abaixo dela.
DocumentRoot /usr/local/nagios/share
Adicione a seguinte linha ao topo do arquivo.
Adicione a seguinte linha na parte inferior do arquivo.
Uma vez que você tenha terminado, salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
E por último, abra o arquivo /usr/local/nagios/share/config.inc.php para edição.
$ sudo nano /usr/local/nagios/share/config.inc.php
Mude $cfg['cgi_base_url']='/nagios/cgi-bin'; para $cfg['cgi_base_url']='/cgi-bin';.
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Reinicie tanto o Apache quanto o Nagios.
$ sudo systemctl restart httpd
$ sudo systemctl restart nagios
Para confirmar que tudo funciona corretamente, abra a URL http:// em seu navegador e você deve ver o Nagios funcionando corretamente. Além disso, certifique-se de que os dados dos Hosts estão sendo recebidos.
Uma vez que tudo esteja funcionando, podemos prosseguir para criar nosso arquivo de configuração para o Nginx.
Crie um arquivo de configuração para o Nagios no diretório /etc/nginx/conf.d.
$ sudo nano /etc/nginx/conf.d/nagios.conf
Cole o seguinte código nele.
server {
listen 80; listen [::]:80;
server_name nagios.example.com;
return 301 https://$host$request_uri;
}
server {
server_name nagios.example.com;
listen 443 ssl http2;
listen [::]:443 ssl http2;
access_log /var/log/nginx/nagios.access.log;
error_log /var/log/nginx/nagios.error.log;
ssl_certificate /etc/letsencrypt/live/nagios.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nagios.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/nagios.example.com/chain.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Uma vez que você tenha terminado, salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Valide o arquivo de configuração.
$ sudo nginx -t
Se você receber o seguinte erro, precisará editar o arquivo /etc/nginx/nginx.conf para adicionar/ajustar o tamanho da variável server_names_hash_bucket_size.
nginx: [emerg] could not build the server_names_hash, you should increase server_names_hash_bucket_size
Abra o arquivo /etc/nginx/nginx.conf para edição.
$ sudo nano /etc/nginx/nginx.conf
Adicione a seguinte linha antes
server_names_hash_bucket_size 64;
Uma vez que você tenha terminado, salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado. Valide o Nginx novamente.
Se você não ver problemas, então reinicie o servidor Nginx.
$ sudo systemctl restart nginx
Configurar SELinux
Se você manteve o SELinux ativado, execute o seguinte comando para permitir que o Nginx se conecte à rede.
$ sudo setsebool -P httpd_can_network_connect on
Acesse o domínio https://nagios.example.com em seu navegador, e você deve ser recebido pela página inicial do Nagios.
Conclusão
Você instalou e configurou o Nagios em um servidor Rocky Linux 9 para monitorar vários serviços como carga, uso de disco/swap, usuários, total de processos, HTTP e SSH. Isso conclui nosso tutorial. Para aprender mais, você deve verificar a documentação oficial do Nagios que cobre monitoramento e vários comandos em grande detalhe. Se você tiver alguma dúvida, poste nos comentários abaixo.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.