Como instalar a ferramenta de monitoramento LibreNMS com Nginx no centOS 7

Sabemos muito bem que ao usar distros Linux temos a possibilidade de implementar centenas, ou talvez milhares, de aplicativos e programas de código aberto que, além de serem gratuitos, aumentarão drasticamente as capacidades de nossas equipes.

Existem aplicações desenvolvidas para cada área de uma organização e é por isso que hoje a Solvetic vai analisar detalhadamente como instalar a ferramenta LibreNMS e assim permitir que nós, como administradores, tenhamos à mão uma poderosa ferramenta de análise e monitoramento, permitindo-nos estar ciente de todas as mudanças que afetam a distro em que estamos trabalhando.

O que é LibreNMSLibreNMS é uma ferramenta de monitoramento de código aberto baseada em PHP, MYSQL e SNMP. LibreNMS é um sistema de monitoramento de rede completo para uma ampla gama de hardware de rede e sistemas operacionais, incluindo FreeBSD, Cisco, Linux, HP e muito mais.

Ao usar o LibreNMS, teremos as seguintes características:

  • Descoberta automática, pois permite descobrir automaticamente toda a rede usando CDP, FDP, LLDP, OSPF, BGP, SNMP e ARP
  • Alertas configuráveis, permitindo-nos receber alertas por e-mail, irc, slack e muito mais
  • Acesso por API para gerenciar, representar graficamente e recuperar dados de sua instalação
  • Possui um sistema de cobrança através do qual podemos gerar faturas de largura de banda para portas de rede de acordo com o uso ou transferência
  • Tem atualizações automáticas
  • Altos níveis de escalabilidade
  • Possui aplicativos para Android e iOS
  • Amplo suporte a dispositivos
  • Interface de usuário da web amigável para celular
  • Agente Unix
  • Pode ser integrado com NfSen, collectd, SmokePing, RANCID e Oxidized
  • Suporta métodos de autenticação MySQL, HTTP, LDAP, Radius e Active Directory

Requisitos anterioresPara instalar e usar o LibreNMS, você precisará do seguinte:

  • CentOS 7 Minimal
  • Usuário com privilégios de root

1. Instalando os pacotes Linux necessários


Antes de instalar o LibreNMS no CentOS 7, será necessário instalar alguns pacotes, incluindo ImageMagick, rrdtool, SNMP, git e mais. Esses pacotes podem ser instalados com o seguinte comando:
 yum -y install net-snmp ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie fping git

PROLONGAR

Assim que a instalação for concluída, veremos o seguinte:

PROLONGAR

2. Como instalar o servidor Nginx


Nginx [engine x] é um servidor HTTP e proxy reverso, um servidor proxy de correio e um servidor proxy TCP / UDP genérico, originalmente escrito por Igor Sysoev. Por muito tempo, ele foi executado em muitos sites russos altamente carregados, incluindo Yandex, Mail.Ru, VK e Rambler e é atualmente usado como um servidor HTTP globalmente.

Passo 1
Antes de instalar o Nginx, devemos instalar os repositórios epel para a instalação do servidor da web Nginx. O repositório EPEL (Pacotes Adicionais para Enterprise Linux) é um repositório adicional para SO baseado em RPM, incluindo CentOS 7. Vamos executar o seguinte:

 yum -y install epel-release

PROLONGAR

Passo 2
Agora procedemos com a instalação do servidor Nginx com o seguinte comando:

 yum -y install nginx

PROLONGAR

etapa 3
Assim que o Nginx for instalado no CentOS 7, veremos o seguinte:

PROLONGAR

Passo 4
Depois de instalar o Nginx no CentOS 7, iniciaremos o serviço e permitiremos que ele seja executado automaticamente na inicialização usando os seguintes comandos systemctl:

 systemctl start nginx systemctl enable nginx

PROLONGAR

Etapa 5
Portanto, o servidor web Nginx foi instalado no sistema a partir do repositório EPEL e podemos verificá-lo executando a seguinte linha:

 netstat -plntu

PROLONGAR

Lá veremos as portas pelas quais nos conectaremos com o Nginx.

3. Como instalar e configurar PHP-FPM

Passo 1
Para este caso, usaremos a versão 7 do PHP-FPM para a instalação do LibreNMS. Todos os pacotes do PHP 7 para CentOS 7 estão disponíveis no repositório de terceiros, e faremos uso da versão PHP 7 do repositório 'webtatic'.
Para fazer isso, primeiro adicionaremos o repositório webtatic do PHP 7 ao sistema usando o seguinte comando rpm:

 rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

PROLONGAR

Passo 2
A seguir, instalaremos o PHP 7 e todas as extensões necessárias do repositório molhado usando yum:

 yum -y install php70w php70w-cli php70w-gd php70w-mysql php70w-snmp php70w-pear php70w-curl php70w-common php70w-fpm php70w-mcrypt

PROLONGAR

etapa 3
Uma vez baixado e instalado, vamos atualizar o repositório PEAR e instalar algumas extensões PEAR (extensão PHP e repositório de aplicativos) usando o comando pear:

 pear channel-update pear.php.net pear install Net_IPv4-1.3.4 pear install Net_IPv6-1.2.2b2

PROLONGAR

A seguir, vamos configurar o PHP-FPM para a instalação do LibreNMS.

Passo 4
Primeiro, será necessário definir o fuso horário padrão no arquivo php.ini e certificar-se de que o fuso horário corresponda ao fuso horário atual usado pelo sistema. Podemos verificar o fuso horário atual usado pelo seu sistema por meio do seguinte comando:

 timedatectl

PROLONGAR

Etapa 5
Depois de definir o fuso horário, passamos a editar o arquivo php.ini no seguinte caminho: /etc/php.ini, podemos fazer isso com qualquer editor, como nano ou vim:

 nano /etc/php.ini
No arquivo que será exibido, faremos as seguintes alterações:

Vamos descomentar a linha date.timezone e adicionar a zona exibida pelo comando timedatectl

PROLONGAR

Vamos descomentar a linha cgi.fix_pathinfo e atribuir seu valor a zero (0)

PROLONGAR

Salvamos as alterações usando a combinação de teclas Ctrl + O e saímos do editor usando Ctrl + X.

Etapa 6
A próxima etapa é definir como o PHP-FPM é executado no sistema. Neste caso, o PHP-FPM será executado no arquivo 'sock' ao invés da porta do servidor. Edite o arquivo 'www.conf' com nano para configurar o PHP-FPM:

 nano /etc/php-fpm.d/www.conf
Lá, vamos alterar a linha de escuta, que tem o valor padrão de 127.0.0.1:9000, para a seguinte:
 listen = /var/run/php-fpm/php7.0-fpm.sock

PROLONGAR

Etapa 7
No mesmo arquivo, iremos descomentar as seguintes linhas. Nós salvamos as alterações no servidor.

 listen.owner = nginx listen.group = nginx listen.mode = 0660
PHP-FPM agora está completo, podemos iniciar o serviço e habilitá-lo para ser executado automaticamente na inicialização usando os seguintes comandos:
 systemctl start php-fpm systemctl enable php-fpm
Verificaremos se o PHP-FPM está sendo executado no arquivo sock, o que pode ser verificado com o comando netstat:
 netstat -pl | grep php

PROLONGAR

4. Como instalar e configurar MariaDB

Passo 1
LibreNMS está fazendo uso do banco de dados MySQL para armazenar todos os dados. Neste caso, usaremos a versão do banco de dados MariaDB que está disponível no repositório, e será necessário instalar e adicionar algumas configurações para a instalação do LibreNMS, incluindo a adição do banco de dados e do usuário para o LibreNMS.

Vamos instalar o MariaDB executando o seguinte:

 yum -y install mariadb mariadb-server

PROLONGAR

Passo 2
Depois de instalado, iniciaremos o serviço MariaDB e permitiremos que ele seja iniciado automaticamente na inicialização:

 systemctl start mariadb systemctl enable mariadb 

PROLONGAR

etapa 3
Podemos verificar o serviço com sua respectiva porta executando o seguinte:

 netstat -plintu

PROLONGAR

Passo 4
Agora devemos configurar a senha root do MariaDB usando o comando 'mysql_secure_installation': Nas perguntas exibidas, responderemos o seguinte:

 Definir senha de root? [S / n] S Remover usuários anônimos? [S / n] S Não permitir o login de root remotamente? [S / n] S Remover banco de dados de teste e acesso a ele? [S / n] S Recarregar tabelas de privilégios agora? [S / n] S

PROLONGAR

Desta forma, MariaDB foi instalado.

Etapa 5
A próxima etapa é criar um novo banco de dados e um novo usuário para o LibreNMS. Faça login na linha de comando do shell mysql usando o cliente mysql e com a nova senha atribuída:

 mysql -u root -p
Crie um novo banco de dados chamado 'librenms', um novo usuário 'librenms' com a senha 'password123'
 CRIAR BANCO DE DADOS librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci; CRIAR USUÁRIO 'librenms' @ 'localhost' IDENTIFICADO POR 'password123'; CONCEDE TODOS OS PRIVILÉGIOS EM librenms. * TO 'librenms' @ 'localhost'; PRIVILÉGIOS DE FLUSH;
Saímos do MariaDB executando o comando exit.

PROLONGAR

5. Como configurar o MySQL


Agora precisamos editar o arquivo my.cnf para adicionar uma nova configuração mysql. Vamos editar o arquivo /etc/my.cnf usando nano:
 nano /etc/my.cnf
No arquivo exibido, colaremos o seguinte na seção [mysqld]:
 innodb_file_per_table = 1 sql-mode = "" lower_case_table_names = 0

PROLONGAR

Nós salvamos as alterações. Agora vamos reiniciar o serviço MariaDB executando o seguinte:

 systemctl reiniciar mariadb

6. Como baixar e configurar o LibreNMS


Com tudo isso configurado, o próximo passo é preparar o sistema para o LibreNMS e para isso faremos o seguinte.

Passo 1
Neste ponto, criaremos um novo usuário do sistema chamado 'librenms', definiremos o diretório inicial do usuário no diretório / opt / librenms e, finalmente, adicionaremos o usuário librenms ao grupo nginx:

 useradd librenms -d / opt / librenms -M -rusermod -a -G librenms nginx
Depois que o usuário for criado e adicionado ao respectivo grupo, iremos para o diretório / opt / e baixaremos o código-fonte do LibreNMS usando o comando git clone da seguinte maneira:
 usuárioadd librenms -d / opt / librenms -M -r usermod -a -G librenms nginx

PROLONGAR

Passo 2
Criaremos um novo diretório para os logs e arquivos rrd do LibreNMS:

 mkdir -p / opt / librenms / logs / mkdir -p / opt / librenms / rrd / chmod 775 / opt / librenms / rrd /

PROLONGAR

Agora vamos alterar a propriedade de todos os arquivos e diretórios no diretório / opt / librenms para o usuário e grupo librenms executando o seguinte:

 chown -R librenms: librenms / opt / librenms /

7. Como configurar o host virtual LibreNMS


LibreNMS é um aplicativo baseado na web e até agora estamos usando um servidor web Nginx para hospedá-lo.
Criaremos um novo arquivo de host virtual librenms.conf no diretório nginx conf.d executando o seguinte:
 nano /etc/nginx/conf.d/librenms.conf
Neste novo arquivo iremos colar o seguinte:
 servidor {# Adicione seu próprio nome de domínio, ouça 80; server_name librenms.irsyadf.me; # LibreNMS Webroot diretório root / opt / librenms / html; index index.php; # LibreNMS logs access_log / opt / librenms / logs / access_log; error_log / opt / librenms / logs / error_log; # Habilitando a compactação Gzip no Nginx 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; localização / {try_files $ uri $ uri / /index.php?$query_string; } localização / api / v0 {try_files $ uri $ uri / /api_v0.php?$query_string; } # PHP-FPM lida com todas as solicitações de arquivos .php location ~ \ .php {include fastcgi.conf; fastcgi_split_path_info (. + \. php) (/.+) $; fastcgi_pass unix: /var/run/php-fpm/php7.0-fpm.sock; } localização ~ /\.ht {negar todos; }}

PROLONGAR

Podemos salvar as alterações usando as teclas Ctrl + O e sair do editor usando Ctrl + X. Agora podemos testar a configuração do Nginx executando o seguinte:

 nginx -t

PROLONGAR

Reiniciaremos o serviço Nginx executando:

 systemctl restart nginx

8. Como configurar o Firewall no CentOS 7


Devemos validar se os pacotes firewalld estão instalados em seu sistema, caso contrário, podemos instalar o firewalld com o seguinte comando yum:
 yum -y install firewalld
Depois de instalado, iniciaremos o firewalld e permitiremos que ele seja executado na inicialização com os seguintes comandos systemctl:
 systemctl start firewalld systemctl enable firewalld
Uma vez habilitado, adicionaremos as seguintes linhas para habilitar os respectivos serviços:
 firewall-cmd --add-service = http --permanent firewall-cmd --add-service = https --permanent firewall-cmd --add-port = 161 / udp -permanent
Aplicamos as alterações recarregando firewalld com o seguinte comando:
 firewall-cmd -reload
Podemos listar as regras para confirmar se os serviços foram adicionados corretamente:
 firewall-cmd --list-all

PROLONGAR

Acessaremos de qualquer navegador inserindo o endereço IP do servidor, inseriremos as credenciais e este será o ambiente LibreNMS:

PROLONGAR

A partir daí podemos realizar todo o gerenciamento dos dispositivos associados.

wave wave wave wave wave