OpenNMS est une plate-forme de surveillance et de gestion de réseau gratuite et open source au niveau de l'entreprise qui fournit des informations nous permettant de prendre des décisions concernant la planification future du réseau et de la capacité.
OpenNMS conçu pour gérer des dizaines de milliers d'appareils à partir d'un seul serveur ainsi que pour gérer un nombre illimité d'appareils à l'aide d'un cluster de serveurs. Il comprend un moteur de découverte pour configurer et gérer automatiquement les périphériques réseau sans intervention de l'opérateur. Il est écrit en Java et est publié sous la licence publique générale GNU. OpenNMS est connu pour son évolutivité avec ses principaux domaines fonctionnels dans la surveillance des services, la collecte de données à l'aide de SNMP, la gestion des événements et les notifications.
Dans ce tutoriel, nous apprenons comment installer OpenNMS sur CentOS 7 système.
Installation du référentiel RPM OpenNMS
Nous allons commencer par l'installation d'OpenNMS RPM pour notre système d'exploitation CentOs 7.1. Il est disponible pour la plupart des distributions basées sur RPM via OpenNMS Yum Repository.
Ouvrez ensuite votre interface de ligne de commande de CentOS 7.1 et connectez-vous avec les informations d'identification root pour exécuter la commande ci-dessous avec "wget" pour obtenir le RPM requis.
# wget http://yum.opennms.org/repofiles/opennms-repo-stable-rhel7.noarch.rpm
Nous devons maintenant installer ce référentiel afin que les informations du package OpenNMS puissent être disponibles via yum pour l'installation. Exécutons la commande ci-dessous avec les mêmes informations d'identification de niveau racine pour le faire.
# rpm -Uvh opennms-repo-stable-rhel7.noarch.rpm
Installation des packages prérequis pour OpenNMS
Maintenant, avant de commencer l'installation d'OpenNMS, assurons-nous que vous avez effectué les prérequis suivants.
Installer JDK 7
Il est recommandé d'installer le dernier JDK Java 7 stable d'Oracle pour obtenir les meilleures performances afin d'intégrer le JDK dans notre référentiel YUM en tant que solution de secours. Allons sur la page de téléchargement d'Oracle Java 7 SE JDK, acceptez la licence si vous êtes d'accord, choisissez la plateforme et l'architecture. Une fois le téléchargement terminé, exécutez-le à partir de la ligne de commande, puis installez le RPM JDK résultant.
Sinon, exécutez la commande ci-dessous pour installer à l'aide de Yum à partir des référentiels système disponibles.
# yum install java-1.7.0-openjdk-1.7.0.85-2.6.1.2.el7_1
Une fois que vous avez installé Java, vous pouvez confirmer son installation à l'aide de la commande ci-dessous et vérifier sa version installée.
# java -version
Installer PostgreSQL
Nous allons maintenant installer PostgreSQL qui est indispensable pour configurer la base de données pour OpenNMS. PostgreSQL est inclus dans toutes les principales distributions basées sur YUM. Pour l'installer, exécutez simplement la commande ci-dessous.
# yum install postgresql postgresql-server
Préparer la base de données pour OpenNMS
Une fois que vous avez installé PostgreSQL, vous devez maintenant vous assurer que PostgreSQL est opérationnel et actif. Exécutons la commande ci-dessous pour initialiser d'abord la base de données, puis démarrer ses services.
# /sbin/service postgresql initdb
# /sbin/service postgresql start
Maintenant, pour confirmer l'état de votre base de données PostgreSQL, vous pouvez exécuter la commande ci-dessous.
# service postgresql status
Pour vous assurer que PostgreSQL démarrera après un redémarrage, utilisez la commande "systemctl" pour activer le démarrage au démarrage à l'aide de la commande ci-dessous.
# systemctl enable postgresql
ln -s '/usr/lib/systemd/system/postgresql.service' '/etc/systemd/system/multi-user.target.wants/postgresql.service'
Configurer PostgreSQL
Localisez le répertoire "data" de Postgres. Il se trouve souvent dans le répertoire /var/lib/pgsql/data et ouvrez le fichier postgresql.conf dans l'éditeur de texte et configurez les paramètres suivants comme indiqué.
# vim /var/lib/pgsql/data/postgresql.conf
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
listen_addresses = 'localhost'
max_connections = 256
#------------------------------------------------------------------------------
# RESOURCE USAGE (except WAL)
#------------------------------------------------------------------------------
shared_buffers = 1024MB
Accès utilisateur à la base de données
PostgreSQL ne vous permet de vous connecter que si vous êtes connecté au nom de compte local qui correspond à l'utilisateur PostgreSQL. Étant donné qu'OpenNMS s'exécute en tant que root, il ne peut pas se connecter en tant qu'utilisateur "postgres" ou "opennms" par défaut, nous devons donc modifier la configuration pour permettre à l'utilisateur d'accéder à la base de données en ouvrant le fichier de configuration ci-dessous.
# vim /var/lib/pgsql/data/pg_hba.conf
Mettez à jour le fichier de configuration comme indiqué ci-dessous et modifiez les paramètres METHOD de "ident" à "trust"
Écrivez et quittez le fichier pour effectuer les modifications enregistrées, puis redémarrez les services PostgreSQL.
# service postgresql restart
Démarrage de l'installation d'OpenNMS
Nous sommes maintenant prêts à installer OpenNMS, car nous avons presque terminé ses prérequis. L'utilisation du système d'empaquetage YUM téléchargera et installera tous les composants requis et leurs dépendances, s'ils ne sont pas déjà installés sur votre système.
Alors lançons la commande belwo pour démarrer l'installation d'OpenNMS qui tirera tout ce dont vous avez besoin pour avoir un OpenNMS fonctionnel, y compris le noyau OpenNMS, l'interface utilisateur Web et un ensemble de plugins communs.
# yum -y install opennms
La commande ci-dessus se terminera par une installation réussie d'OpenNMS et de ses packages dérivés.
Configurer JAVA pour OpenNMS
Afin d'intégrer la version par défaut de Java avec OpenNMS, nous exécuterons la commande ci-dessous.
# /opt/opennms/bin/runjava -s
Lancez le programme d'installation d'OpenNMS
Il est maintenant temps de démarrer le programme d'installation OpenNMS qui créera et configurera la base de données OpenNMS, tandis que la même commande sera utilisée au cas où nous voudrions la mettre à jour vers la dernière version. Pour ce faire, nous allons exécuter la commande suivante.
# /opt/opennms/bin/install -dis
La commande d'installation ci-dessus prendra de nombreuses options avec le mécanisme suivant.
-d - pour mettre à jour la base de données
-i - pour insérer toutes les données par défaut qui appartiennent à la base de données
-s - pour créer ou mettre à jour les procédures stockées qu'OpenNMS utilise pour certains types d'accès aux données
==============================================================================
OpenNMS Installer
==============================================================================
Configures PostgreSQL tables, users, and other miscellaneous settings.
DEBUG: Platform is IPv6 ready: true
- searching for libjicmp.so:
- trying to load /usr/lib64/libjicmp.so: OK
- searching for libjicmp6.so:
- trying to load /usr/lib64/libjicmp6.so: OK
- searching for libjrrd.so:
- trying to load /usr/lib64/libjrrd.so: OK
- using SQL directory... /opt/opennms/etc
- using create.sql... /opt/opennms/etc/create.sql
17:27:51.178 [Main] INFO org.opennms.core.schema.Migrator - PL/PgSQL call handler exists
17:27:51.180 [Main] INFO org.opennms.core.schema.Migrator - PL/PgSQL language exists
- checking if database "opennms" is unicode... ALREADY UNICODE
- Creating imports directory (/opt/opennms/etc/imports... OK
- Checking for old import files in /opt/opennms/etc... DONE
INFO 16/08/15 17:27:liquibase: Reading from databasechangelog
Installer completed successfully!
==============================================================================
OpenNMS Upgrader
==============================================================================
OpenNMS is currently stopped
Found upgrade task SnmpInterfaceRrdMigratorOnline
Found upgrade task KscReportsMigrator
Found upgrade task JettyConfigMigratorOffline
Found upgrade task DataCollectionConfigMigratorOffline
Processing RequisitionsMigratorOffline: Remove non-ip-snmp-primary and non-ip-interfaces from requisitions: NMS-5630, NMS-5571
- Running pre-execution phase
Backing up: /opt/opennms/etc/imports
- Running post-execution phase
Removing backup /opt/opennms/etc/datacollection.zip
Finished in 0 seconds
Upgrade completed successfully!
Configurations de pare-feu pour autoriser OpenNMS
Ici, nous devons autoriser le port 8980 de l'interface de gestion OpenNMS via un pare-feu ou un routeur à accéder à l'interface Web de gestion à partir des systèmes distants. Utilisez donc les commandes suivantes pour le faire.
# firewall-cmd --permanent --add-port=8980/tcp
# firewall-cmd --reload
Démarrez OpenNMS et connectez-vous à l'interface Web
Démarrons le service OpenNMS et activons-le à chaque démarrage en utilisant la commande ci-dessous.
#systemctl start opennms
#systemctl enable opennms
Une fois que les services sont en place, ils sont prêts à fonctionner avec son interface de gestion Web. Ouvrez votre navigateur Web et accédez-y avec l'adresse IP de votre serveur et le port 8980.
http://servers_ip:8980/
Donnez le nom d'utilisateur et le mot de passe où le nom d'utilisateur et le mot de passe par défaut sont admin/admin.
Après une authentification réussie avec votre nom d'utilisateur et votre mot de passe fournis, vous serez dirigé vers la page d'accueil d'OpenNMS où vous pourrez configurer les nouveaux appareils/nœuds/services de surveillance, etc.
Conclusion
Toutes nos félicitations! nous avons installé avec succès OpenNMS sur CentOS 7.1. Ainsi, à la fin de ce didacticiel, vous êtes maintenant en mesure d'installer et de configurer OpenNMS avec ses prérequis qui comprenaient la configuration de PostgreSQL et JAVA. Profitons donc de l'excellent système de surveillance de réseau avec des racines open source utilisant OpenNMS qui fournit une multitude de fonctionnalités sans frais par rapport à leurs concurrents haut de gamme, et peut évoluer pour surveiller un grand nombre de nœuds de réseau.