LibreNMS ist ein Open-Source-Netzwerküberwachungstool mit automatischer Erkennung für Server und Netzwerkhardware. Es unterstützt eine breite Palette von Netzwerkhardware wie Cisco, Juniper, Brocade, Foundry, HP und Betriebssysteme einschließlich Linux und Windows. LibraNMS ist ein Community-basierter Fork des Netzwerküberwachungstools „Observium “, veröffentlicht unter GPLv3.
LibreNMS kann Ihr gesamtes Netzwerk mit CDP, FDP, LLDP, OSPF, BGP, SNMP erkennen und ARP-Protokolle. Das Benachrichtigungssystem kann hochgradig angepasst werden, um Benachrichtigungen per E-Mail, IRC, Slack und mehr zu erhalten.
LibreNMS basiert auf AMP (Apache , MySQL und PHP ) / EMP (Nginx , MySQL und PHP ) Stack und sammelt die Überwachungsmetriken über das SNMP-Protokoll .
LESEN :So installieren Sie den LAMP-Stack unter CentOS 7 / RHEL 7
LESEN :So installieren Sie den LAMP-Stack unter Ubuntu 16.04
Dieses Tutorial behandelt die Installation von LibreNMS auf CentOS 7 / Ubuntu 16.04 und Sammeln der Daten von externen Maschinen über das SNMP-Protokoll.
Voraussetzungen:
Melden Sie sich als Root-Benutzer an oder wechseln Sie zum Root-Benutzer, da Befehle, die wir während des Installationsvorgangs ausführen, Root-Rechte erfordern.
su -
ODER
sudo su -
Konfigurieren Sie das EPEL-Repository auf CentOS 7 / RHEL 7.
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Installieren und konfigurieren Sie MySQL / MariaDB:
Wie gesagt, LibreNMS benötigt einen AMP-Stack, also installiere MariaDB als Datenbankserver, eine Abzweigung von 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
Um MariaDB zu starten, führen Sie Folgendes aus:
### CentOS 7 / RHEL 7 ### systemctl restart mariadb ### Ubuntu 16.04 ### systemctl restart mysql
Um MariaDB zu stoppen, führen Sie Folgendes aus:
### CentOS 7 / RHEL 7 ### systemctl stop mariadb ### Ubuntu 16.04 ### systemctl stop mysql
Um MariaDB neu zu starten, führen Sie Folgendes aus:
### CentOS 7 / RHEL 7 ### systemctl restart mariadb ### Ubuntu 16.04 ### systemctl restart mysql
Um den Status von MariaDB zu überprüfen, führen Sie Folgendes aus:
### CentOS 7 / RHEL 7 ### systemctl status mariadb ### Ubuntu 16.04 ### systemctl status mysql
Um beim Systemstart automatisch zu starten, führen Sie Folgendes aus:
### CentOS 7 / RHEL 7 ### systemctl enable mariadb ### Ubuntu 16.04 ### systemctl enable mysql
Führen Sie nach Abschluss der MySQL-/MariaDB-Installation mysql_secure_installation aus Befehl zum Sichern des Datenbankservers.
Datenbank für LibreNMS erstellen:
bei MySQL anmelden:
mysql -u root -p
Erstellen Sie nun die Datenbank für die LibreNMS-Installation mit den folgenden Informationen.
DB-Name:librenmsdb
Benutzername:librenmsuser
DB-Passwort: librenmspassword
CREATE DATABASE librenmsdb; CREATE USER 'librenmsuser'@'localhost' IDENTIFIED BY 'librenmspassword'; GRANT ALL PRIVILEGES ON librenmsdb.* TO 'librenmsuser'@'localhost'; exit
Deaktivieren Sie den strengen MySQL-Modus für die LibreNMS-Installation.
### CentOS 7 / RHEL 7 ### vi /etc/my.cnf.d/server.cnf ### Ubuntu 16.04 ### nano /etc/mysql/mariadb.conf.d/50-server.cnf
Fügen Sie die folgenden Zeilen zu [mysqld] hinzu Abschnitt.
innodb_file_per_table=1 sql-mode="" lower_case_table_names=0
Starten Sie den MySQL-Dienst neu.
### CentOS 7 / RHEL 7 ### systemctl restart mariadb ### Ubuntu 16.04 ### systemctl restart mysql
Apache installieren und konfigurieren:
Installieren Sie Apache-Server- und PHP-Pakete mit dem folgenden Befehl.
### 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
Legen Sie die Zeitzone fest in php.ini Datei.
Für Centos:/etc/php.ini
Für Ubuntu 16.04:/etc/php/7.0/apache2/php.ini und /etc/php/7.0/cli/php.ini
date.timezone = America/Chicago
Installieren und konfigurieren Sie LibreNMS:
librenms-Benutzer hinzufügen
useradd librenms -d /opt/librenms -M -r
Machen Sie den librenms-Benutzer zu einem Teil des Apache-Benutzers (CentOS:Apache oder Ubuntu:www-data )-Gruppe.
### CentOS 7 / RHEL 7 ### usermod -a -G librenms apache ### Ubuntu 16.04 ### usermod -a -G librenms www-data
Klonen Sie das LibreNMS-Repository im /opt-Verzeichnis.
cd /opt git clone https://github.com/librenms/librenms.git librenms
Legen Sie die Berechtigung fest.
cd /opt/librenms mkdir rrd logs chmod 775 rrd
Inhaberschaft festlegen.
chown -R librenms:librenms /opt/librenms
Erstellen Sie eine Apache-Konfigurationsdatei für die LibreNMS-Webschnittstelle.
### CentOS 7 / RHEL 7 ### vi /etc/httpd/conf.d/librenms.conf ### Ubuntu 16.04 ### nano /etc/apache2/sites-available/librenms.conf
Fügen Sie der obigen Datei die folgende Konfiguration hinzu. Ändern Sie librenms.itzgeek.local wie pro Ihre Anforderung.
<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>Optional – Deaktivieren Sie die Standard-Site, falls Ihr Server nur diese Site hosten soll.
### CentOS 7 / RHEL 7 ### rm -f /etc/httpd/conf.d/welcome.conf ### Ubuntu 16.04 ### a2dissite 000-default
SELinux (CentOS/RHEL):
Führen Sie die folgenden Befehle auf dem Terminal aus, damit LibreNMS Daten über SELinux schreiben oder lesen kann .
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
Apache-Dienste neu starten.
### CentOS 7 / RHEL 7 ### systemctl restart httpd ### Ubuntu 16.04 ### a2ensite librenms.conf a2enmod rewrite systemctl restart apache2
Apache-Dienst beim Systemstart aktivieren.
### CentOS 7 / RHEL 7 ### systemctl enable httpd ### Ubuntu 16.04 ### systemctl enable apache2
Firewall:
Apache durch die Firewall zulassen, damit Benutzer von einem externen Computer aus auf das LibreNMS-Portal zugreifen können.
FirewallD:
firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reload
UFW:
ufw allow 80/tcp ufw reloadSeiten:1 2