Installation OpenNMS · 12 min read · Nov 01, 2025
Comment installer la solution de surveillance OpenNMS sur Ubuntu 22.04

OpeNNMS est une solution de surveillance et de gestion de réseau gratuite et open-source. C’est une plateforme de surveillance de réseau de niveau entreprise qui visualise et surveille tout sur les réseaux locaux et distants. OpenNMS est une solution entièrement open-source pour la surveillance et la gestion de réseau, publiée sous la licence AGPLv3.
OpenNMS est une plateforme de surveillance de réseau évolutive permettant de surveiller des dizaines de milliers de réseaux via des systèmes distribués et hiérarchisés. De plus, OpenNMS est une plateforme de surveillance flexible qui s’intègre facilement à votre cœur de métier et aux extensions tierces.
OpenNMS a plusieurs composants énumérés ci-dessous :
- OpenNMS Horizon - un ensemble de trois composants principaux : Core (le composant principal de Horizon), Minion (utilisé pour la surveillance distribuée à distance) et Sentinel (pour l’évolutivité).
- Helm - tableau de bord personnalisé pour OpenNMS.
- Architecture pour la Corrélation Apprise (ALEC) (triage des alarmes).
- Serveur d’Intégration de Provisioning (PRIS) (intégration des données extraites).
Ce guide vous montre comment installer la solution de surveillance OpenNMS avec un serveur de base de données PostgreSQL et un proxy inverse Nginx sur un serveur Ubuntu 22.04. De plus, ce guide vous montrera l’installation de Java OpenJDK, la configuration de base du serveur de base de données PostgreSQL et du serveur web Nginx.
Prérequis
Tout d’abord, vous aurez besoin des exigences suivantes pour terminer ce guide :
- Un serveur Ubuntu 22.04 - Cet exemple utilise le serveur Ubuntu avec le nom d’hôte ‘opennms-server’ et la mémoire est de 4 Go.
- Un utilisateur non-root avec des privilèges d’administrateur sudo/root.\
- Un nom de domaine ou un domaine local sera utilisé pour exécuter OpenNMS.
Installation de Java OpenJDK
La solution de surveillance OPneNMS est un outil de surveillance principalement écrit en Java. Au moment de la rédaction de cet article, la dernière version d’OpenNMS prend en charge au minimum Java 11. Le dépôt par défaut d’Ubuntu 22.04 fournit Java OpenJDK 11 que vous pouvez facilement installer via APT.
Avant d’installer Java, exécutez la commande apt suivante pour mettre à jour et rafraîchir votre index de paquets.
sudo apt updateMaintenant, installez Java OpenJDK 11 via la commande apt ci-dessous. La version Java par défaut pour le système Ubuntu 22.04 est Java OpenJDK 11, qui est adaptée à l’installation d’OpenNMS.
sudo apt install default-jdkLorsque vous y êtes invité, saisissez y pour confirmer et appuyez sur ENTRÉE. L’installation de Java OpenJDK va commencer.

Après l’installation de Java OpenJDK, exécutez la commande ci-dessous pour vérifier la version installée de Java. Vous devriez obtenir Java OpenJDK 1.11 installé sur votre système Ubuntu.
java -versionAvec Java OpenJDK installé, passez à l’installation de la base de données PostgreSQL.
Installation et configuration du serveur PostgreSQL
PostgreSQL est un SGBD (Système de Gestion de Base de Données) à haute performance. OpenNMS ne prend en charge que PostgreSQL comme backend de base de données. Au moment de la rédaction de cet article, OpenNMS prend en charge PostgreSQL v10.x-14.x.
Vous allez maintenant installer et configurer la base de données PostgreSQL v14 sur un serveur Ubuntu. Par défaut, le dépôt Ubuntu fournit plusieurs versions de PostgreSQL, et vous allez installer PostgreSQL 14.x pour le déploiement d’OpenNMS.
Exécutez la commande apt ci-dessous pour installer PostgreSQL 14.
sudo apt install postgresql-14Lorsque vous y êtes invité pour confirmation, saisissez y et appuyez sur ENTRÉE pour continuer.

Après l’installation du paquet PostgreSQL, exécutez la commande systemctl suivante pour vérifier le service PostgreSQL et vous assurer que le service est en cours d’exécution et activé.
sudo systemctl is-enabled postgresql
sudo systemctl status postgresqlVous verrez alors que le service PostgreSQL est activé et sera exécuté automatiquement au démarrage. Et le statut du service PostgreSQL est en cours d’exécution.

Maintenant que la base de données PostgreSQL fonctionne, vous allez passer à la création de la base de données et de l’utilisateur pour OpenNMS. Vous allez également configurer le mot de passe pour l’utilisateur PostgreSQL par défaut ‘ postgres ‘.
Exécutez la commande ci-dessous pour créer un nouvel utilisateur PostgreSQL ‘opennms’. Lorsque vous y êtes invité pour le mot de passe, saisissez le nouveau mot de passe pour l’utilisateur ‘ opennms ‘ et répétez-le.
sudo -u postgres createuser -P opennmsEnsuite, créez une nouvelle base de données ‘ opennms ‘ avec le propriétaire ‘ opennms ‘ via la commande suivante.
sudo -u postgres createdb -O opennms opennmsEnfin, changez le mot de passe de l’utilisateur ‘ postgres ‘ via la commande suivante. Et assurez-vous de le changer avec un nouveau mot de passe fort.
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD '5up3rp4ssw0rd';"Maintenant que vous avez installé Java OpenJDK et PostgreSQL, vous êtes prêt à installer OpenNMS.
Installation et configuration d’OpenNMS
Vous avez installé Java OpenJDK et la base de données PostgreSQL, vous avez également créé une nouvelle base de données et un utilisateur pour OpenNMS, et configuré le mot de passe par défaut pour l’utilisateur PostgreSQL ‘postgres’. Vous allez ensuite commencer à installer et configurer OpenNMS.
Dans cette section, vous allez installer OpenNMS via le dépôt officiel d’OpenNMS. Ensuite, vous allez configurer OpenNMS avec la base de données PostgreSQL, configurer l’environnement Java, initialiser le schéma de la base de données, détecter les bibliothèques système et permettre à OpenNMS de s’exécuter sur des ports privilégiés.
Tout d’abord, exécutez la commande suivante pour ajouter la clé GPG et le dépôt OpenNMS.
sudo apt-key adv --fetch-keys https://debian.opennms.org/OPENNMS-GPG-KEY
sudo add-apt-repository -s 'deb https://debian.opennms.org stable main'Lorsque vous y êtes invité, appuyez sur ENTRÉE pour confirmer et ajouter le dépôt OpenNMS.

Maintenant, installez le paquet OpenNMS avec des paquets R supplémentaires via la commande apt ci-dessous.
sudo apt install opennms r-recommendedLorsque vous y êtes invité pour la confirmation, saisissez y pour confirmer et appuyez sur ENTRÉE pour continuer.

Ensuite, exécutez la commande apt ci-dessous pour désactiver la mise à jour automatique du paquet OpenNMS. OpenNMS nécessite des étapes et des configurations manuelles lors de la mise à niveau vers une nouvelle version, vous devez donc le mettre à niveau manuellement pour éviter des erreurs pendant/après les mises à jour.
sudo apt-mark hold libopennms-java \
libopennmsdeps-java \
opennms-common \
opennms-db
Maintenant qu’OpenNMS est installé, vous pouvez vérifier le répertoire d’installation d’OpenNMS ‘ /usr/share/opennms ‘ via la commande ci-dessous. De plus, tout changement lié à OpenNMS doit être appliqué aux fichiers sous le répertoire ‘ /usr/share/opennms ‘.
sudo apt install tree -y
sudo tree /usr/share/opennms -L 1Vous pourriez voir une liste de répertoires et de fichiers pour le paquet OpenNMS.

Ensuite, vous allez configurer la base de données pour OpenNMS. Ouvrez le fichier ‘ /usr/share/opennms/etc/opennms-datasources.xml ‘ en utilisant la commande de l’éditeur nano suivante. La commande ‘ sudo -u opennms nano… ‘ indique que vous exécutez la commande en tant qu’utilisateur ‘ opennms ‘, et non en tant qu’utilisateur root.
sudo -u opennms nano /usr/share/opennms/etc/opennms-datasources.xmlChangez le ‘jdbc-data-source’ pour le ‘ opennms ‘ qui doit utiliser les détails de la base de données et de l’utilisateur ‘ opennms ‘. Et pour ‘ opennms-admin ‘, vous devez utiliser l’utilisateur admin PostgreSQL ‘ postgres ‘.
Enregistrez le fichier et quittez l’éditeur lorsque vous avez terminé.
Maintenant, exécutez la commande suivante pour détecter l’environnement Java sur votre système, qui sera stocké de manière permanente dans le fichier de configuration ‘/usr/share/opennms/etc/java.conf ‘.
sudo -u opennms /usr/share/opennms/bin/runjava -s
Après cela, exécutez la commande ci-dessous pour initialiser la base de données et détecter les bibliothèques système pour OpenNMS. Les bibliothèques pour OpenNMS seront listées dans le fichier ‘ /opt/opennms/etc/libraries.properties ‘.
sudo -u opennms /usr/share/opennms/bin/install -dis
Ensuite, éditez le fichier de service OpenNMS via la commande systemctl suivante. Vous devriez obtenir l’éditeur par défaut sur votre système.
sudo systemctl edit --full opennms.serviceAjoutez la configuration suivante à la section ‘ [Service] ‘. Cela permet au service OpenNMS de s’exécuter et de se lier à des ports privilégiés (ports 1-1024).
[Service]
...
AmbientCapabilities=CAP_NET_RAW CAP_NET_BIND_SERVICEEnregistrez le fichier et quittez l’éditeur lorsque vous avez terminé.
Après avoir modifié le fichier de service OpenNMS, exécutez la commande suivante pour recharger le gestionnaire systemd, redémarrer et activer le service OpenNMS.
sudo systemctl daemon-reload
sudo systemctl restart opennms
sudo systemctl enable opennmsMaintenant que le service OpenNMS est en cours d’exécution avec les nouvelles configurations, vous allez vérifier le service OpenNMS via la commande systemctl ci-dessous.
sudo systemctl is-enabled opennms
sudo systemctl status opennmsLa sortie - Le service OpenNMS est activé et sera exécuté automatiquement au démarrage du système. Et le service OpenNMS est actuellement en cours d’exécution.

À ce stade, vous avez terminé l’installation et la configuration d’OpenNMS. Mais, vous allez exécuter OpenNMS avec un proxy inverse Nginx. Lisez la suite pour apprendre à configurer Nginx en tant que proxy inverse pour OpenNMS.
Installation de Nginx en tant que proxy inverse pour OpenNMS
Maintenant que vous avez OpenNMS fonctionnant sur le port par défaut ‘8980’, vous allez ensuite installer et configurer Nginx en tant que proxy inverse pour OpenNMS.
Exécutez la commande apt suivante pour installer le paquet Nginx sur votre système.
sudo apt install nginxSaisissez y lorsque vous y êtes invité, puis appuyez sur ENTRÉE pour continuer. Et l’installation va commencer.

Ensuite, vérifiez le service Nginx avec la commande systemctl suivante.
sudo systemctl is-enabled nginx
sudo systemctl status nginxVous devriez voir que le service Nginx est activé et sera exécuté automatiquement au démarrage. De plus, le service Nginx est automatiquement démarré après la fin de l’installation.

Après l’installation de Nginx, créez un nouveau bloc de serveur Nginx ‘ /etc/nginx/sites-available/opennms.conf ‘ en utilisant la commande de l’éditeur nano suivante.
sudo nano /etc/nginx/sites-available/opennms.confAjoutez la configuration suivante au fichier. Assurez-vous de changer le nom de domaine avec votre domaine.
server {
listen 80;
server_name opennms.howtoforge.local;
access_log /var/log/nginx/opennms.access.log;
error_log /var/log/nginx/opennms.error.log;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-OpenNMS-Server-URL https://opennms.howtoforge.local/;
proxy_pass http://localhost:8980;
}
}Enregistrez le fichier et quittez l’éditeur lorsque vous avez terminé.
Ensuite, activez le bloc de serveur ‘ opennms.conf ‘ et vérifiez la configuration de Nginx pour vous assurer que vous avez la bonne configuration.
sudo ln -s /etc/nginx/sites-available/opennms.conf /etc/nginx/sites-enabled/
sudo nginx -tSi vous voyez le message de sortie tel que ‘ test réussi - syntaxe ok ‘, cela signifie que votre configuration Nginx est correcte.

Maintenant, redémarrez le service Nginx pour appliquer la nouvelle configuration du bloc de serveur.
sudo systemctl restart nginxMaintenant qu’Nginx fonctionne en tant que proxy inverse pour OpenNMS, vous allez ensuite passer à la configuration du pare-feu UFW et ouvrir certains ports pour certains services.
Configuration du pare-feu UFW
Après avoir configuré le proxy inverse Nginx, vous allez ensuite configurer le UFW sur votre serveur OpenNMS. Vous allez exécuter l’outil de surveillance OpenNMS avec le UFW activé, donc vous devez ajouter certains ports qui seront utilisés pour OpenNMS.
Exécutez la commande apt suivante pour installer UFW sur votre système.
sudo apt install ufw -yAprès l’installation de UFW, exécutez la commande ci-dessous pour ajouter le service OpenSSH. Ensuite, démarrez et activez le service UFW.
sudo ufw allow OpenSSH
sudo ufw enableLorsque vous y êtes invité, saisissez y pour confirmer et appuyez sur ENTRÉE pour continuer. Maintenant, le UFW sera en cours d’exécution et il est activé et sera exécuté automatiquement au démarrage.

Ensuite, ajoutez une nouvelle règle pour autoriser le trafic vers le serveur web Nginx.
sudo ufw allow "Nginx Full"
Après cela, ouvrez le fichier ‘ /etc/ufw/before.rules ‘ en utilisant la commande de l’éditeur nano suivante.
sudo nano /etc/ufw/before.rulesAjoutez la configuration suivante avant la section ‘filter‘. Cela activera NAT et redirigera/forward le trafic de 62/udp à 10162/udp.
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p udp --dport 162 -j REDIRECT --to-port 10162
COMMITEnregistrez le fichier et quittez l’éditeur lorsque vous avez terminé.
Maintenant, ajoutez la nouvelle règle pour autoriser les deux ports 62/udp à 10162/udp.
sudo ufw allow in 162/udp
sudo ufw allow in 10162/udpRechargez le UFW pour appliquer les modifications et vérifiez l’état du UFW via la commande suivante.
sudo ufw reload
sudo ufw status
Jusqu’à présent, vous avez terminé l’installation et la configuration d’OpenNMS avec des dépendances de paquets telles que la base de données PostgreSQL et le serveur web Nginx, et également configuré le UFW. Pour l’étape finale, vous allez accéder à l’installation d’OpenNMS via un navigateur web et configurer l’utilisateur admin pour OpenNMS.
Accéder à l’outil de surveillance OpenNMS
Ouvrez votre navigateur web et visitez le nom de domaine de votre installation OpenNMS (c’est-à-dire : http://opennms.howtoforge.local). Vous devriez voir la page de connexion de l’outil de surveillance OpenNMS.
Saisissez l’utilisateur/mot de passe par défaut ‘ admin/admin ‘ et cliquez sur ‘ Se connecter ‘.

Vous verrez ensuite le tableau de bord d’administration d’OpenNMS.

Après vous être connecté à OpenNMS via l’utilisateur/mot de passe par défaut ‘ admin/admin ‘, vous allez ensuite changer le nom d’utilisateur et le mot de passe par défaut pour votre installation OpenNMS.
Dans la barre de menu supérieure, cliquez sur le menu ‘ Admin ‘ et sélectionnez ‘Changer le mot de passe ‘.
Maintenant, saisissez l’ancien mot de passe ‘admin’ et saisissez le nouveau mot de passe OpenNMS et répétez le mot de passe. Ensuite, cliquez sur ‘ Soumettre ‘ pour appliquer.

Vous avez maintenant terminé la configuration d’OpenNMS.
Conclusion
Vous avez maintenant OpenNMS, un outil de surveillance hautement évolutif et personnalisable, installé sur votre serveur Ubuntu 22.04. Vous avez également configuré le serveur de base de données PostgreSQL installé et le serveur web Nginx configuré en tant que proxy inverse pour OpenNMS. Avec OpenNMS entièrement configuré, vous pouvez maintenant ajouter un nouvel hôte à surveiller via le protocole SNMP, configurer la surveillance distribuée via OpenNMS Minion, faire évoluer OpenNMS via Sentinel, et commencer à personnaliser le tableau de bord via Helm.
Si vous souhaitez exécuter OpenNMS sur de grands déploiements, consultez la documentation officielle.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.