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.rpmAlgumas das dependências estão disponíveis no repositório EPEL, então você deve adicionar o EPEL ao seu sistema.

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

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
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 unzipUma vez que a instalação esteja concluída, prossiga para a próxima etapa.

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
Em seguida, abra o arquivo /etc/php.ini usando o seguinte editor nano.
sudo nano /etc/php.iniDescomente o parâmetro date.timezone e altere o valor para o fuso horário adequado assim:
date.timezone=Europe/StockholmSalve 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.confAltere o nome do pool PHP-FPM de www para librenms.
[librenms]Altere o usuário e grupo padrão para librenms.
user = librenms
group = librenmsAltere o arquivo sock padrão para o novo pool PHP-FPM para /run/php-fpm/librenms.sock.
listen = /run/php-fpm/librenms.sockSalve 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-fpmEm 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-fpmSe estiver em execução, a seguinte saída será exibida no seu terminal:

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-fpmSe 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.cnfInsira as seguintes configurações na seção ‘[mysqld]‘.
innodb_file_per_table=1
lower_case_table_names=0Salve 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 mariadbEm seguida, execute o seguinte comando para proteger a instalação do seu servidor MariaDB.
sudo mariadb-secure-installationVocê 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 -pExecute 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;
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';
exitA saída exibida abaixo mostra que o usuário librenms pode acessar o banco de dados librenms.

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/librenmsAgora, 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
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
pwdExecute 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
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-utilsEm 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/.envAgora crie um novo arquivo http_fping.tt usando o seguinte comando do editor nano.
sudo nano http_fping.ttInsira 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.ppConfigurando 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 --reloadAgora 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 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.confAltere a senha SNMP padrão RANDOMSTRINGGOESHERE pela nova senha.
# Altere RANDOMSTRINGGOESHERE para sua string de comunidade SNMP preferida
com2sec readonly default RANDOMSTRINGGOESHERESalve 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
Agora inicie e habilite o serviço snmpd usando o seguinte comando.
sudo systemctl start snmpd
sudo systemctl enable snmpdPor último, verifique o serviço snmpd usando o comando systemctl abaixo.
sudo systemctl status snmpdSe o serviço snmpd estiver em execução, você deve obter uma saída como ‘active (running)‘.

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 TABUma saída semelhante a esta será mostrada no seu terminal.

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/librenmsEntão, copie a configuração do logrotate para o LibreNMS usando o comando abaixo.
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenmsDepois 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-reloadPor último, inicie e habilite o serviço do agendador do LibreNMS.
sudo systemctl enable librenms-scheduler.timer
sudo systemctl start librenms-scheduler.timer
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.confInsira 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 -tEm seguida, inicie e habilite o serviço Nginx usando o seguinte comando.
sudo systemctl start nginx
sudo systemctl enable 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 nginxSe bem-sucedido, você deve obter a seguinte saída:

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.

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

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

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.

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

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.

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

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.phpSe você tiver a configuração adequada do LibreNMS, tudo deve ter o status OK como o seguinte:

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.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.