Monitoramento · 13 min read · Nov 06, 2025

Como Instalar a Ferramenta de Monitoramento LibreNMS no AlmaLinux 9

LibreNMS é uma ferramenta de monitoramento que suporta descoberta automática com múltiplos protocolos, incluindo SNMP, ARP, OSPF e BGP. Para monitorar sistemas operacionais, você pode usar o protocolo SNMP, que está disponível na maioria dos sistemas operacionais, incluindo Linux, Windows e BSDs.

Existem três versões do Protocolo SNMP, v1 e v2 que são seguras apenas com uma senha de comunidade, e o protocolo v3 que suporta senhas para autenticação e criptografia. Para o ambiente de produção, é recomendado usar o protocolo SNMP v3, que é mais seguro do que v2 e v1.

Neste guia, eu vou mostrar como instalar a Ferramenta de Monitoramento LibreNMS no seu servidor AlmaLinux 9. Eu vou executar o LibreNMS com PHP-FPM, servidor web Nginx e o banco de dados MariaDB.

Pré-requisitos

Para completar este guia, você deve ter o seguinte:

  • Um servidor AlmaLinux 9 - Esta demonstração usa um servidor com o nome de host almalinux9.
  • Um usuário não-root com privilégios sudo/root.

Instalando Dependências

Primeiro, você irá adicionar os repositórios EPEL e Remi ao seu sistema. Em seguida, instale as dependências de pacotes para o LibreNMS.

Execute o seguinte comando dnf para adicionar o repositório EPEL e o repositório PHP Remi ao seu sistema.

sudo dnf install -y epel-release  
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm

Algumas das dependências estão disponíveis no repositório EPEL, então você deve adicionar o EPEL ao seu sistema.

adicionar repositório epel

O repositório PHP Remi será usado para instalar pacotes PHP-FPM.

adicionar repositório remi

Agora, execute o seguinte comando para redefinir o módulo de repositório padrão para PHP. Em seguida, habilite o repositório PHP Remi para a versão PHP 8.1, que é necessária pelo LibreNMS.

sudo dnf module reset php  
sudo dnf module enable php:remi-8.1

habilitar repositório remi php 8.1

Em seguida, execute o comando dnf abaixo para instalar as dependências de pacotes para o LibreNMS. Isso inclui PHP-FPM, servidor web Nginx, servidor MariaDB, alguns pacotes Python3 e utilitários do sistema como rrdtool, unzip, ImageMagick, git e fping.

sudo dnf install -y bash-completion cronie fping git ImageMagick mariadb-server mtr net-snmp net-snmp-utils nginx nmap php-fpm php-cli php-common php-curl php-gd php-gmp php-json php-mbstring php-process php-snmp php-xml php-zip php-mysqlnd python3 python3-PyMySQL python3-redis python3-memcached python3-pip python3-systemd rrdtool unzip

Uma vez que a instalação esteja concluída, prossiga para a próxima etapa.

instalar dependências

Criando Usuário do Sistema

Nesta seção, você irá criar um novo usuário do sistema chamado librenms que será usado para executar o LibreNMS.

Execute o seguinte comando para criar um novo usuário librenms.

sudo useradd librenms -d /opt/librenms -M -r -s "$(which bash)"

Opções detalhadas:

  • -d /opt/librenms: Especifica o diretório home para o novo usuário como /opt/librenms.
  • -M: Não cria um diretório home para o novo usuário.
  • -r: Define o novo usuário como um usuário do sistema.
  • -s “$(which bash)”: Especifica o shell para o novo usuário como bash.

Configurando PHP-FPM

Na próxima seção, você irá configurar o PHP-FPM para o LibreNMS. Você irá configurar o fuso horário adequado no seu sistema, e depois adicionar um pool específico do PHP-FPM que será usado pelo LibreNMS.

Primeiro, execute o seguinte comando para configurar o fuso horário no seu servidor.

sudo timedatectl set-timezone Europe/Stockholm  
sudo ln -s /usr/share/zoneinfo/Europe/Stockholm /etc/localtime

configurar sock php-fpm

Em seguida, abra o arquivo /etc/php.ini usando o seguinte editor nano.

sudo nano /etc/php.ini

Descomente o parâmetro date.timezone e altere o valor para o fuso horário adequado assim:

date.timezone=Europe/Stockholm

Salve e saia do arquivo quando terminar.

Agora, execute o seguinte comando para copiar a configuração padrão do pool PHP-FPM para /etc/php-fpm.d/librenms.conf e abri-lo usando o editor nano.

sudo cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/librenms.conf  
sudo nano /etc/php-fpm.d/librenms.conf

Altere o nome do pool PHP-FPM de www para librenms.

[librenms]

Altere o usuário e grupo padrão para librenms.

user = librenms  
group = librenms

Altere o arquivo sock padrão para o novo pool PHP-FPM para /run/php-fpm/librenms.sock.

listen = /run/php-fpm/librenms.sock

Salve o arquivo e saia do editor quando terminar.

Agora, execute o seguinte comando para iniciar e habilitar o serviço PHP-FPM.

sudo systemctl start php-fpm  
sudo systemctl enable php-fpm

Em seguida, verifique o serviço PHP-FPM usando o seguinte comando para garantir que o serviço está em execução.

sudo systemctl status php-fpm

Se estiver em execução, a seguinte saída será exibida no seu terminal:

iniciar verificar php-fpm

Além disso, você também pode verificar o arquivo sock do PHP-FPM para o LibreNMS usando o seguinte comando.

ss -pl | grep php-fpm

Se sua configuração for bem-sucedida, você deve receber o arquivo sock do PHP-FPM /run/php-fpm/librenms.sock disponível.

Configurando o Servidor MariaDB

Após configurar o PHP-FPM, você irá configurar o servidor MariaDB. Você irá adicionar configurações adicionais ao servidor MariaDB e proteger o MariaDB através da utilidade mariadb-secure-installation.

Abra a configuração padrão do servidor MariaDB /etc/my.cnf.d/mariadb-server.cnf usando o seguinte editor nano.

sudo nano /etc/my.cnf.d/mariadb-server.cnf

Insira as seguintes configurações na seção ‘[mysqld]‘.

innodb_file_per_table=1  
lower_case_table_names=0

Salve o arquivo e saia do editor quando terminar.

Agora execute o seguinte comando para iniciar e habilitar o serviço MariaDB.

sudo systemctl start mariadb  
sudo systemctl enable mariadb

Em seguida, execute o seguinte comando para proteger a instalação do seu servidor MariaDB.

sudo mariadb-secure-installation

Você será questionado sobre algumas configurações abaixo:

  • Mudar o método de autenticação para o usuário root do MariaDB para unix_socket. Digite n para Não.
  • Configurando a senha root do MariaDB. Digite y para confirmar e digite a nova senha root do MariaDB e repita.
  • Desabilitar login remoto para o usuário root do MariaDB. Digite y para confirmar.
  • Remover o banco de dados padrão de teste do MariaDB. Digite y para confirmar.
  • Remover o usuário anônimo do MariaDB. Digite y para confirmar.
  • Por último, digite y novamente para recarregar as permissões da tabela para aplicar as mudanças.

Criar Banco de Dados e Usuário MariaDB para o LibreNMS

Com o servidor MariaDB configurado, você irá criar um novo banco de dados e usuário que serão usados pelo LibreNMS.

Faça login no servidor MariaDB usando o seguinte comando.

sudo mariadb -u root -p

Execute as seguintes consultas para criar um novo banco de dados e usuário para o LibreNMS. Nesta demonstração, você irá criar um novo banco de dados e usuário librenms com a senha librenmspassword. Além disso, você deve garantir que o conjunto de caracteres padrão para o banco de dados LibreNMS seja utf8mb4.

CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;  
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'librenmspassword';  
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';  
FLUSH PRIVILEGES;

criar banco de dados e usuário

Agora, execute a consulta abaixo para verificar as permissões para o novo usuário librenms, e então digite exit para sair do MariaDB.

SHOW GRANTS FOR 'librenms'@'localhost';  
exit

A saída exibida abaixo mostra que o usuário librenms pode acessar o banco de dados librenms.

verificar permissão do usuário para o banco de dados

Baixando e Instalando o LibreNMS

Nesta seção, você irá baixar o código-fonte do LibreNMS, configurar a propriedade e permissão adequadas, e então você irá instalar as dependências PHP através do script composer_wrapper que está incluído no código-fonte.

Execute o comando git abaixo para baixar o código-fonte do LibreNMS para o diretório /opt/librenms.

git clone https://github.com/librenms/librenms.git /opt/librenms

Agora, altere a propriedade do diretório /opt/librenms para o usuário librenms e altere a permissão para 771.

sudo chown -R librenms:librenms /opt/librenms  
sudo chmod 771 /opt/librenms

baixar librenms

Depois disso, execute o seguinte comando para configurar listas de controle de acesso e garantir a permissão de leitura, escrita e execução para alguns diretórios do LibreNMS.

sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/  
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/

Em seguida, faça login como o usuário librenms usando o seguinte comando. Você deve estar no diretório /opt/librenms.

su - librenms  
pwd

Execute o seguinte comando para instalar as dependências PHP para o LibreNMS. Quando a instalação estiver concluída, digite exit para sair do usuário librenms.

./scripts/composer_wrapper.php install --no-dev  
exit

instalar dependências do librenms

Configurando SELinux

Se você tiver o SELinux habilitado com modo de aplicação no seu servidor AlmaLinux 9, então você deve configurá-lo para o LibreNMS. Nesta seção, você irá instalar o pacote policycoreutils-python-utils para configurar o SELinux para o LibreNMS.

Execute o seguinte comando para instalar o pacote policycoreutils-python-utils.

sudo dnf install -y policycoreutils-python-utils

Em seguida, execute o seguinte comando para configurar a rotulagem para o código-fonte do LibreNMS, permitir que o servidor web envie um e-mail e execute programas que requerem endereços de memória.

semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/html(/.*)?'  
semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/(rrd|storage)(/.*)?'  
semanage fcontext -a -t httpd_log_t "/opt/librenms/logs(/.*)?"  
semanage fcontext -a -t bin_t '/opt/librenms/librenms-service.py'  
restorecon -RFvv /opt/librenms  
setsebool -P httpd_can_sendmail=1  
setsebool -P httpd_execmem 1  
chcon -t httpd_sys_rw_content_t /opt/librenms/.env

Agora crie um novo arquivo http_fping.tt usando o seguinte comando do editor nano.

sudo nano http_fping.tt

Insira a seguinte configuração no arquivo. Isso permitirá o comando fping via SELinux.

module http_fping 1.0;  
  
require {  
type httpd_t;  
class capability net_raw;  
class rawip_socket { getopt create setopt write read };  
}  
  
#============= httpd_t ==============  
allow httpd_t self:capability net_raw;  
allow httpd_t self:rawip_socket { getopt create setopt write read };

Salve o arquivo e saia do editor quando terminar.

Por último, execute o seguinte comando para compilar o arquivo http_fping.tt e adicioná-lo ao SELinux.

checkmodule -M -m -o http_fping.mod http_fping.tt  
semodule_package -o http_fping.pp -m http_fping.mod  
semodule -i http_fping.pp

Configurando o Firewalld

Após configurar o SELinux, você irá configurar o firewalld para abrir os protocolos HTTP e HTTPS.

Execute os comandos firewall-cmd abaixo para abrir as portas HTTP e HTTPS, e então recarregue o firewalld para aplicar as mudanças.

sudo firewall-cmd --add-service={http,https} --permanent  
sudo firewall-cmd --reload

Agora verifique a lista de regras do firewalld usando o seguinte comando. Se bem-sucedido, você deve ver os protocolos HTTP e HTTPS na lista de regras.

sudo firewall-cmd --list-all

configurar firewalld

Configurar Serviço SNMP

SNMP ou Protocolo Simples de Gerenciamento de Rede é um protocolo amplamente utilizado por dispositivos de rede como modems, switches e roteadores. Nesta seção, você irá configurar o serviço snmpd na sua instalação do LibreNMS que será usado para monitorar dispositivos de rede.

Copie a configuração SNMP padrão para /etc/snmp/snmpd.conf e abra-a usando o comando do editor nano abaixo.

sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf  
sudo nano /etc/snmp/snmpd.conf

Altere a senha SNMP padrão RANDOMSTRINGGOESHERE pela nova senha.

# Altere RANDOMSTRINGGOESHERE para sua string de comunidade SNMP preferida  
com2sec readonly  default        RANDOMSTRINGGOESHERE

Salve o arquivo e feche o editor quando terminar.

Em seguida, baixe o arquivo binário da ferramenta agente do LibreNMS para detectar sistemas operacionais Linux e UNIX e torne-o executável.

sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro  
sudo chmod +x /usr/bin/distro

configurar snmpd

Agora inicie e habilite o serviço snmpd usando o seguinte comando.

sudo systemctl start snmpd  
sudo systemctl enable snmpd

Por último, verifique o serviço snmpd usando o comando systemctl abaixo.

sudo systemctl status snmpd

Se o serviço snmpd estiver em execução, você deve obter uma saída como ‘active (running)‘.

verificar snmpd

Configurações Adicionais do LibreNMS

A seção a seguir contém algumas configurações adicionais para o LibreNMS. Você irá configurar o seguinte:

  • Configurar o comando binário do LibreNMS ‘lnms’ e sua conclusão bash.
  • Configurar cron para polling do LibreNMS.
  • Configurar o agendador do LibreNMS via timer do systemd.
  • Configurar logrotate para os logs do LibreNMS.

Primeiro, crie um symlink para o comando de linha do LibreNMS lnms para /usr/bin/lnms. Em seguida, copie a conclusão bash para o comando lnms para o diretório /etc/bash_completion.d/.

sudo ln -s /opt/librenms/lnms /usr/bin/lnms  
sudo cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/

Agora, faça login como usuário librenms e execute o comando lnms, em seguida pressione TAB para obter a lista de parâmetros disponíveis do comando lnms.

su - librenms  
lnms TAB

Uma saída semelhante a esta será mostrada no seu terminal.

conclusão do comando lnms

Em seguida, execute o seguinte comando para copiar a configuração do cron do LibreNMS para /etc/cron.d/librenms.

cp /opt/librenms/dist/librenms.cron /etc/cron.d/librenms

Então, copie a configuração do logrotate para o LibreNMS usando o comando abaixo.

sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

Depois disso, copie o serviço e timer do agendador do LibreNMS para o diretório /etc/systemd/system/ e recarregue o gerenciador do systemd para aplicar as mudanças.

sudo cp /opt/librenms/dist/librenms-scheduler.service /opt/librenms/dist/librenms-scheduler.timer /etc/systemd/system/  
sudo systemctl daemon-reload

Por último, inicie e habilite o serviço do agendador do LibreNMS.

sudo systemctl enable librenms-scheduler.timer  
sudo systemctl start librenms-scheduler.timer

configuração adicional do librenms

Configurando Nginx

Com todas as configurações finalizadas, agora você irá configurar o bloco de servidor Nginx para o LibreNMS.

Crie uma nova configuração de bloco de servidor Nginx /etc/nginx/conf.d/librenms.conf usando o seguinte comando do editor nano.

sudo nano /etc/nginx/conf.d/librenms.conf

Insira a seguinte configuração e certifique-se de alterar o nome do domínio na opção server_name.

server {  
    listen      80;  
    server_name librenms.howtoforge.local;  
    root        /opt/librenms/html;  
    index       index.php;  
  
    charset utf-8;  
    gzip on;  
    gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;  
  
    location / {  
        try_files $uri $uri/ /index.php?$query_string;  
    }  
  
    location ~ [^/]\.php(/|$) {  
        fastcgi_pass unix:/run/php-fpm/librenms.sock;  
        fastcgi_split_path_info ^(.+\.php)(/.+)$;  
        include fastcgi.conf;  
    }  
  
    location ~ /\.(?!well-known).* {  
        deny all;  
    }  
}

Salve o arquivo e saia do editor quando terminar.

Agora execute o comando abaixo para verificar a configuração do Nginx. Se bem-sucedido, você deve ver uma saída como ‘test is successful - syntax is ok‘.

sudo nginx -t

Em seguida, inicie e habilite o serviço Nginx usando o seguinte comando.

sudo systemctl start nginx  
sudo systemctl enable nginx

configurar nginx

Então, entre o comando abaixo para verificar o status do serviço Nginx e garantir que o serviço está em execução.

sudo systemctl status nginx

Se bem-sucedido, você deve obter a seguinte saída:

verificar nginx

Instalando o LibreNMS via Navegador Web

Após criar a configuração do bloco de servidor Nginx, você está pronto para iniciar a instalação do LibreNMS pelo navegador web.

Inicie seu navegador web e visite o nome de domínio da sua instalação do LibreNMS, ou seja: http://librenms.howtoforge.local.

Na primeira página, o LibreNMS irá verificar e validar seu ambiente atual. Certifique-se de passar a verificação de pré-requisitos, então clique no ícone database para continuar.

verificações do sistema librenms

Agora insira os detalhes do banco de dados que você criou e clique em Check Credentials.

configurar banco de dados

Em seguida, clique em Build Database para migrar o banco de dados do LibreNMS.

construir o banco de dados

Próximo, clique no ícone key para configurar o usuário admin e a senha do LibreNMS. Insira os detalhes do usuário admin, senha e e-mail, e então clique em Add User.

configurar usuário admin

Agora clique em Finish Install para completar a instalação do LibreNMS.

completar a instalação

Uma vez que a instalação do LibreNMS esteja concluída, você será redirecionado para a página de login do LibreNMS. Insira seu usuário admin e senha, e então clique em Login.

página de login do librenms

Se bem-sucedido, você deve ver o painel do LibreNMS assim. Você pode criar e organizar o painel do LibreNMS como precisar.

painel do librenms

Por último, você pode usar o script validate.php para garantir que você tenha a configuração adequada do LibreNMS. Execute o seguinte comando para fazer login como usuário librenms e executar o script validate.php.

su - librenms  
./validate.php

Se você tiver a configuração adequada do LibreNMS, tudo deve ter o status OK como o seguinte:

validar instalação do LibreNMS

Conclusão

Parabéns, você agora instalou com sucesso a Ferramenta de Monitoramento LibreNMS no AlmaLinux 9. Você instalou e configurou o LibreNMS com o servidor de banco de dados MariaDB e o servidor web Nginx. E também configurou o SELinux e o firewalld para o LibreNMS.

Além disso, visite a documentação do LibreNMS para adicionar novos hosts ou dispositivos para monitorar.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.