You are currently viewing COMO INSTALAR O LibreNMS + NGINX

COMO INSTALAR O LibreNMS + NGINX

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 composerpacote 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 usergrouppara “librenms”:

user = librenms
group = librenms

Mudar listenpara 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_nameconforme 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 RANDOMSTRINGGOESHEREe 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.phparquivo 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/

Ivan Junior

Trabalho atualmente como Administrador de Redes em um Provedor de Internet no interior da Bahia.

Deixe um comentário