O LibreNMS é um sistema de monitoramento de rede de código aberto completo. Usa SNMP
para obter os dados de diferentes dispositivos. Uma variedade de dispositivos são suportados no LibreNMS, como Cisco, Linux, FreeBSD, Juniper, Brocade, Fundição, HP e muitos mais. Suporta vários mecanismos de autenticação e suporta autenticação de dois fatores. Tem um sistema de alerta personalizável que pode alertar o administrador da rede via e-mail, IRC ou folga.
Prepare o servidor Linux
Você deve ter um servidor Linux instalado executando um dos sistemas operacionais suportados. Certifique-se de selecionar o sistema operacional do seu servidor nas opções com guias abaixo. A escolha do servidor da web é sua preferência, NGINX é recomendado.
Conecte-se à linha de comando do servidor e siga as instruções abaixo.
Instale os pacotes necessários
$ apt install acl curl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php7.3-cli php7.3-curl php7.3-fpm php7.3-gd php7.3-json php7.3-mbstring php7.3-mysql php7.3-snmp php7.3-xml php7.3-zip python3-dotenv python3-pymysql python3-redis python3-setuptools python3-systemd rrdtool snmp snmpd whois
Adicionar usuário librenms
$ useradd librenms -d /opt/librenms -M -r -s "$(which bash)"
Baixe o LibreNMS
cd /opt
git clone https://github.com/librenms/librenms.git
Definir permissões
chown -R librenms:librenms /opt/librenms
chmod 771 /opt/librenms
setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
Instale dependências de PHP
su - librenms ./scripts/composer_wrapper.php install --no-dev exit
Às vezes, quando há um proxy usado para obter acesso à Internet, o script acima pode falhar. A solução alternativa é instalar o composer
pacote manualmente. Para uma instalação global:
wget https://getcomposer.org/composer-stable.phar mv composer-stable.phar /usr/bin/composer chmod +x /usr/bin/composer
Definir fuso horário
Consulte https://php.net/manual/en/timezones.php para obter uma lista de fusos horários suportados. Os exemplos válidos são: “America / New_York”, “Australia / Brisbane”, “Etc / UTC”. Certifique-se de que date.timezone esteja definido em php.ini para o fuso horário de sua preferência.
$ nano /etc/php/7.3/fpm/php.ini
$ vi /etc/php/7.3/cli/php.ini
Lembre-se de definir o fuso horário do sistema também.
$
timedatectl set-timezone Etc/UTC
Configurar MariaDB
$ vi /etc/mysql/mariadb.conf.d/50-server.cnf
Na [mysqld]
seção, adicione:
$ innodb_file_per_table=1
$ lower_case_table_names=0
$ systemctl enable mariadb
$ systemctl restart mariadb
mysql -u root
NOTA: Altere a ‘senha’ abaixo para algo seguro.
$ CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
$ CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'password';
$ GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
$ FLUSH PRIVILEGES;
$ exit
Configurar PHP-FPM
$ cp /etc/php/7.3/fpm/pool.d/www.conf /etc/php/7.3/fpm/pool.d/librenms.conf
$ vi /etc/php/7.3/fpm/pool.d/librenms.conf
Mudar [www]
para [librenms]
:
[librenms]
Altere user
e group
para “librenms”:
user = librenms
group = librenms
Mudar listen
para um nome único:
listen = /run/php-fpm-librenms.sock
Se não houver outros aplicativos da web PHP neste servidor, você pode remover www.conf para salvar alguns recursos. Sinta-se à vontade para ajustar as configurações de desempenho em librenms.conf para atender às suas necessidades.
$ vi /etc/nginx/sites-enabled/librenms.vhost
Adicione a seguinte configuração, edite server_name
conforme necessário:
server {
listen 80;
server_name librenms.example.com;
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;
}
}
$ rm /etc/nginx/sites-enabled/default
$ systemctl reload nginx
$ systemctl restart php7.3-fpm
Habilitar conclusão de comando lnms
Este recurso concede a você a oportunidade de usar tab para completar os comandos lnms como faria para os comandos normais do Linux.
$ ln -s /opt/librenms/lnms /usr/bin/lnms
$ cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/
Configurar snmpd
$ cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
$ vi /etc/snmp/snmpd.conf
Edite o texto que diz RANDOMSTRINGGOESHERE
e defina sua própria comunidade.
$ curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
$ chmod +x /usr/bin/distro
$ systemctl enable snmpd
$ systemctl restart snmpd
Trabalho cron
$ cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
Copiar configuração do logrotate
LibreNMS mantém os registros /opt/librenms/logs
. Com o tempo, eles podem se tornar grandes e ser girados. Para alternar os registros antigos, você pode usar o arquivo de configuração logrotate fornecido:
$ cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
Instalador web
Agora vá para o instalador da web e siga as instruções na tela.
http://librenms.example.com/install

O instalador da web pode solicitar que você crie um config.php
arquivo no local de instalação do librenms manualmente, copiando o conteúdo exibido na tela para o arquivo. Se você tiver que fazer isso, lembre-se de definir as permissões em config.php depois de copiar o conteúdo da tela para o arquivo. Corre:
$ chown librenms:librenms /opt/librenms/config.php
Etapas finais
É isso! Agora você deve conseguir fazer login em http://librenms.example.com/ . Observe que não cobrimos a configuração de HTTPS neste exemplo, portanto, sua instalação do LibreNMS não é segura por padrão. Não o exponha à Internet pública, a menos que tenha configurado o HTTPS e executado as etapas de proteção do servidor da web apropriadas.
Adicione o primeiro dispositivo
Agora sugerimos que você adicione localhost como seu primeiro dispositivo de dentro do WebUI.
Solução de problemas
Se você tiver problemas com a instalação, execute validate.php:
$ sudo su - librenms
$ ./validate.php
Pronto, agora é so desfrutar dos poderes da ferramenta. 😉
Fontes:
https://nginx.org/en/download.html
https://www.php.net/downloads
https://www.mongodb.com/
https://docs.librenms.org/Installation/Install-LibreNMS/