LibreNMS è uno strumento di monitoraggio della rete con rilevamento automatico open source per server e hardware di rete. Supporta un'ampia gamma di hardware di rete come Cisco, Juniper, Brocade, Foundry, HP e sistemi operativi tra cui Linux e Windows. LibraNMS è un fork basato sulla comunità dello strumento di monitoraggio della rete "Observium ", rilasciato sotto GPLv3.
LibreNMS può scoprire l'intera rete utilizzando CDP, FDP, LLDP, OSPF, BGP, SNMP e protocolli ARP. Il suo sistema di avviso può essere altamente personalizzato per ricevere avvisi via e-mail, IRC, Slack e altro.
LibreNMS è basato su AMP (Apache , MySQL e PHP ) / EMP (Nginx , MySQL e PHP ) impila e raccoglie le metriche di monitoraggio tramite il protocollo SNMP .
LEGGI :Come installare lo stack LAMP su CentOS 7 / RHEL 7
LEGGI :Come installare lo stack LAMP su Ubuntu 16.04
Questo tutorial copre l'installazione di LibreNMS su CentOS 7 / Ubuntu 16.04 e raccogliere i dati da macchine esterne tramite protocollo SNMP.
Prerequisiti:
Accedi come utente root o passa all'utente root poiché i comandi che eseguiamo durante il processo di installazione richiedono il privilegio di root.
su -
O
sudo su -
Configura repository EPEL su CentOS 7 /RHEL 7.
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Installa e configura MySQL/MariaDB:
Come ho detto, LibreNMS ha bisogno dello stack AMP, quindi installa MariaDB come server di database, un fork di MySQL.
### CentOS 7 / RHEL 7 ### yum -y install mariadb-server mariadb ### Ubuntu 16.04 ### apt-get update apt-get -y install mariadb-server mariadb-client
Per avviare MariaDB, esegui:
### CentOS 7 / RHEL 7 ### systemctl restart mariadb ### Ubuntu 16.04 ### systemctl restart mysql
Per fermare MariaDB, esegui:
### CentOS 7 / RHEL 7 ### systemctl stop mariadb ### Ubuntu 16.04 ### systemctl stop mysql
Per riavviare MariaDB, esegui:
### CentOS 7 / RHEL 7 ### systemctl restart mariadb ### Ubuntu 16.04 ### systemctl restart mysql
Per controllare lo stato di MariaDB, esegui:
### CentOS 7 / RHEL 7 ### systemctl status mariadb ### Ubuntu 16.04 ### systemctl status mysql
Per avviare automaticamente all'avvio del sistema, eseguire:
### CentOS 7 / RHEL 7 ### systemctl enable mariadb ### Ubuntu 16.04 ### systemctl enable mysql
Una volta completata l'installazione di MySQL/MariaDB, esegui mysql_secure_installation comando per proteggere il server del database.
Crea database per LibreNMS:
accedi a MySQL:
mysql -u root -p
Ora, crea il database per l'installazione di LibreNMS con le seguenti informazioni.
Nome DB:librenmsdb
Nome utente:librenmsuser
Password DB:librenmspassword
CREATE DATABASE librenmsdb; CREATE USER 'librenmsuser'@'localhost' IDENTIFIED BY 'librenmspassword'; GRANT ALL PRIVILEGES ON librenmsdb.* TO 'librenmsuser'@'localhost'; exit
Disabilita la modalità rigorosa di MySQL per l'installazione di LibreNMS.
### CentOS 7 / RHEL 7 ### vi /etc/my.cnf.d/server.cnf ### Ubuntu 16.04 ### nano /etc/mysql/mariadb.conf.d/50-server.cnf
Aggiungi le righe seguenti a [mysqld] sezione.
innodb_file_per_table=1 sql-mode="" lower_case_table_names=0
Riavvia il servizio MySQL.
### CentOS 7 / RHEL 7 ### systemctl restart mariadb ### Ubuntu 16.04 ### systemctl restart mysql
Installa e configura Apache:
Installa il server Apache e i pacchetti PHP usando il seguente comando.
### CentOS 7 / RHEL 7 ### yum -y install php php-cli php-gd php-mysql php-snmp php-pear php-curl php-common httpd net-snmp mariadb ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie php-mcrypt fping git pear install Net_IPv4-1.3.4 pear install Net_IPv6-1.2.2b2 ### Ubuntu 16.04 ### apt-get -y install libapache2-mod-php7.0 php7.0-cli php7.0-mysql php7.0-gd php7.0-snmp php-pear php7.0-curl snmp graphviz php7.0-mcrypt php7.0-json apache2 fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd php-net-ipv4 php-net-ipv6 rrdtool git a2enmod php7.0 a2dismod mpm_event a2enmod mpm_prefork phpenmod mcrypt
Imposta fuso orario in php.ini file.
Per Cento:/etc/php.ini
Per Ubuntu 16.04:/etc/php/7.0/apache2/php.ini e /etc/php/7.0/cli/php.ini
date.timezone = America/Chicago
Installa e configura LibreNMS:
Aggiungi utente librenms
useradd librenms -d /opt/librenms -M -r
Rendi l'utente librenms parte dell'utente apache (CentOS:apache o Ubuntu:www-data ) gruppo.
### CentOS 7 / RHEL 7 ### usermod -a -G librenms apache ### Ubuntu 16.04 ### usermod -a -G librenms www-data
Clona il repository LibreNMS nella directory /opt.
cd /opt git clone https://github.com/librenms/librenms.git librenms
Imposta l'autorizzazione.
cd /opt/librenms mkdir rrd logs chmod 775 rrd
Imposta la proprietà.
chown -R librenms:librenms /opt/librenms
Crea il file di configurazione di Apache per l'interfaccia web di LibreNMS.
### CentOS 7 / RHEL 7 ### vi /etc/httpd/conf.d/librenms.conf ### Ubuntu 16.04 ### nano /etc/apache2/sites-available/librenms.conf
Aggiungi la seguente configurazione al file sopra. Cambia librenms.itzgeek.local secondo il vostro requisito.
<VirtualHost *:80> DocumentRoot /opt/librenms/html/ ServerName librenms.itzgeek.local CustomLog /opt/librenms/logs/access_log combined ErrorLog /opt/librenms/logs/error_log AllowEncodedSlashes NoDecode <Directory "/opt/librenms/html/"> Require all granted AllowOverride All Options FollowSymLinks MultiViews </Directory> </VirtualHost>Facoltativo:disabilita il sito predefinito nel caso in cui il tuo server ospiterà solo questo sito.
### CentOS 7 / RHEL 7 ### rm -f /etc/httpd/conf.d/welcome.conf ### Ubuntu 16.04 ### a2dissite 000-default
SELinux (CentOS/RHEL):
Esegui i seguenti comandi sul terminale per consentire a LibreNMS di scrivere o leggere dati tramite SELinux .
yum install -y policycoreutils-python semanage fcontext -a -t httpd_sys_content_t '/opt/librenms/logs(/.*)?' semanage fcontext -a -t httpd_sys_rw_content_t '/opt/librenms/logs(/.*)?' restorecon -RFvv /opt/librenms/logs/ setsebool -P httpd_can_sendmail=1 setsebool -P httpd_can_network_connect=1
Riavvia i servizi apache.
### CentOS 7 / RHEL 7 ### systemctl restart httpd ### Ubuntu 16.04 ### a2ensite librenms.conf a2enmod rewrite systemctl restart apache2
Abilita il servizio Apache all'avvio del sistema.
### CentOS 7 / RHEL 7 ### systemctl enable httpd ### Ubuntu 16.04 ### systemctl enable apache2
Firewall:
Consenti apache attraverso il firewall in modo che l'utente possa accedere al portale LibreNMS da una macchina esterna.
FirewallD:
firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reload
UFW:
ufw allow 80/tcp ufw reloadPagine:1 2