LibreNMS est un outil de surveillance de réseau open source à détection automatique pour les serveurs et le matériel réseau. Il prend en charge une large gamme de matériel réseau comme Cisco, Juniper, Brocade, Foundry, HP et des systèmes d'exploitation, y compris Linux et Windows. BalanceNMS est un fork communautaire de l'outil de surveillance du réseau "Observium “, publié sous GPLv3.
LibreNMS peut découvrir l'ensemble de votre réseau en utilisant CDP, FDP, LLDP, OSPF, BGP, SNMP et les protocoles ARP. Son système d'alerte peut être hautement personnalisé pour recevoir des alertes par e-mail, IRC, Slack et plus encore.
LibreNMS est basé sur AMP (Apache , MySQL , et PHP ) / EMP (Nginx , MySQL , et PHP ) empiler et collecter les métriques de surveillance via le protocole SNMP .
LIRE :Comment installer la pile LAMP sur CentOS 7 / RHEL 7
LIRE :Comment installer la pile LAMP sur Ubuntu 16.04
Ce tutoriel couvre l'installation de LibreNMS sur CentOS 7 / Ubuntu 16.04 et la collecte des données des machines externes via le protocole SNMP.
Prérequis :
Connectez-vous en tant qu'utilisateur root ou passez à l'utilisateur root car les commandes que nous exécutons pendant le processus d'installation nécessitent des privilèges root.
su -
OU
sudo su -
Configurer le référentiel EPEL sur CentOS 7 / RHEL 7.
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Installer et configurer MySQL/MariaDB :
Comme je l'ai dit, LibreNMS a besoin d'une pile AMP, installez donc MariaDB en tant que serveur de base de données, un fork de 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
Pour démarrer MariaDB, exécutez :
### CentOS 7 / RHEL 7 ### systemctl restart mariadb ### Ubuntu 16.04 ### systemctl restart mysql
Pour arrêter MariaDB, exécutez :
### CentOS 7 / RHEL 7 ### systemctl stop mariadb ### Ubuntu 16.04 ### systemctl stop mysql
Pour redémarrer MariaDB, exécutez :
### CentOS 7 / RHEL 7 ### systemctl restart mariadb ### Ubuntu 16.04 ### systemctl restart mysql
Pour vérifier l'état de MariaDB, exécutez :
### CentOS 7 / RHEL 7 ### systemctl status mariadb ### Ubuntu 16.04 ### systemctl status mysql
Pour démarrer automatiquement au démarrage du système, exécutez :
### CentOS 7 / RHEL 7 ### systemctl enable mariadb ### Ubuntu 16.04 ### systemctl enable mysql
Une fois l'installation MySQL / MariaDB terminée, exécutez mysql_secure_installation commande pour sécuriser le serveur de base de données.
Créer une base de données pour LibreNMS :
connectez-vous à MySQL :
mysql -u root -p
Maintenant, créez la base de données pour l'installation de LibreNMS avec les informations suivantes.
Nom de la base de données : librenmsdb
Nom d'utilisateur : librenmsuser
Mot de passe BD : librenmspassword
CREATE DATABASE librenmsdb; CREATE USER 'librenmsuser'@'localhost' IDENTIFIED BY 'librenmspassword'; GRANT ALL PRIVILEGES ON librenmsdb.* TO 'librenmsuser'@'localhost'; exit
Désactivez le mode strict de MySQL pour l'installation de LibreNMS.
### CentOS 7 / RHEL 7 ### vi /etc/my.cnf.d/server.cnf ### Ubuntu 16.04 ### nano /etc/mysql/mariadb.conf.d/50-server.cnf
Ajoutez les lignes ci-dessous au [mysqld] rubrique.
innodb_file_per_table=1 sql-mode="" lower_case_table_names=0
Redémarrez le service MySQL.
### CentOS 7 / RHEL 7 ### systemctl restart mariadb ### Ubuntu 16.04 ### systemctl restart mysql
Installer et configurer Apache :
Installez le serveur Apache et les packages PHP à l'aide de la commande suivante.
### 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
Définir le fuseau horaire dans php.ini fichier.
Pour Centos :/etc/php.ini
Pour Ubuntu 16.04 :/etc/php/7.0/apache2/php.ini et /etc/php/7.0/cli/php.ini
date.timezone = America/Chicago
Installer et configurer LibreNMS :
Ajouter un utilisateur librenms
useradd librenms -d /opt/librenms -M -r
Faire de l'utilisateur librenms une partie de l'utilisateur apache (CentOS :apache ou Ubuntu :www-data ) groupe.
### CentOS 7 / RHEL 7 ### usermod -a -G librenms apache ### Ubuntu 16.04 ### usermod -a -G librenms www-data
Clonez le dépôt LibreNMS sur le répertoire /opt.
cd /opt git clone https://github.com/librenms/librenms.git librenms
Définissez l'autorisation.
cd /opt/librenms mkdir rrd logs chmod 775 rrd
Définir la propriété.
chown -R librenms:librenms /opt/librenms
Créez un fichier de configuration Apache pour l'interface Web LibreNMS.
### CentOS 7 / RHEL 7 ### vi /etc/httpd/conf.d/librenms.conf ### Ubuntu 16.04 ### nano /etc/apache2/sites-available/librenms.conf
Ajoutez la configuration suivante au fichier ci-dessus. Modifier librenms.itzgeek.local selon vos besoins.
<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>Facultatif - Désactivez le site par défaut au cas où votre serveur n'hébergerait que ce site.
### CentOS 7 / RHEL 7 ### rm -f /etc/httpd/conf.d/welcome.conf ### Ubuntu 16.04 ### a2dissite 000-default
SELinux (CentOS/RHEL) :
Exécutez les commandes suivantes sur le terminal pour permettre à LibreNMS d'écrire ou de lire des données via 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
Redémarrez les services apache.
### CentOS 7 / RHEL 7 ### systemctl restart httpd ### Ubuntu 16.04 ### a2ensite librenms.conf a2enmod rewrite systemctl restart apache2
Activez le service Apache au démarrage du système.
### CentOS 7 / RHEL 7 ### systemctl enable httpd ### Ubuntu 16.04 ### systemctl enable apache2
Pare-feu :
Autoriser apache à traverser le pare-feu afin que l'utilisateur puisse accéder au portail LibreNMS à partir d'une machine externe.
Pare-feuD :
firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reload
UFW :
ufw allow 80/tcp ufw reloadPages :1 2