Installation OpenNMS · 7 min read · Dec 07, 2025

Comment installer le système de surveillance réseau OpenNMS Horizon sur Debian 11

OpenNMS est une plateforme de surveillance et de gestion de réseau gratuite, open-source et l’une des plus puissantes, utilisée pour surveiller des dispositifs distants depuis un emplacement central. Elle prend en charge de nombreuses fonctionnalités, y compris le provisionnement, la surveillance des services, la gestion des événements, le support des graphiques, et plus encore. OpenNMS utilise SNMP et JMX et recueille des informations à partir de systèmes distants. Il fonctionne sur les systèmes d’exploitation Linux et Windows et fournit une interface web pour une surveillance facile.

Dans ce tutoriel, je vais vous montrer comment installer OpenNMS sur Debian 11.

Prérequis

  • Un serveur exécutant Debian 11.
  • Un nom de domaine valide pointé vers l’IP de votre serveur.
  • Un mot de passe root configuré sur le serveur.

Installer Java sur Debian 11

OpenNMS est une application basée sur Java. Donc, Java doit être installé sur votre serveur. S’il n’est pas installé, vous pouvez l’installer en exécutant la commande suivante :

apt-get install default-jdk -y

Une fois Java installé, vérifiez la version de Java en utilisant la commande ci-dessous :

java --version

Vous obtiendrez la version de Java dans la sortie suivante :

openjdk 11.0.13 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.13+8-post-Debian-1deb11u1, mixed mode, sharing)

Installer OpenNMS sur Debian 11

Par défaut, OpenNMS n’est pas inclus dans le dépôt principal de Debian 11. Vous devrez donc ajouter le dépôt officiel d’OpenNMS à l’APT.

Tout d’abord, installez toutes les dépendances requises en utilisant la commande suivante :

apt-get install curl gnupg2 wget -y

Une fois tous les paquets installés, créez un fichier de dépôt OpenNMS en utilisant la commande ci-dessous :

nano /etc/apt/sources.list.d/opennms.list

Ajoutez les lignes suivantes :

deb https://debian.opennms.org stable main
deb-src https://debian.opennms.org stable main

Enregistrez et fermez le fichier, puis importez la clé GPG avec la commande suivante :

wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -

Vous obtiendrez la sortie suivante :

Connecting to debian.opennms.org (debian.opennms.org)|3.214.84.83|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1335 (1.3K)
Saving to: ‘STDOUT’

-                                   100%[=================================================================>]   1.30K  --.-KB/s    in 0s      

2021-11-28 07:58:07 (16.0 MB/s) - written to stdout [1335/1335]

OK

Ensuite, mettez à jour le cache du dépôt et installez OpenNMS avec la commande suivante :

apt-get update -y  
apt-get install opennms -y

Vous obtiendrez l’erreur suivante lors de l’installation :

Failed to install iplike into the template1 or opennms databases. See /tmp/install_iplike.log for details. To skip this step and install manually, set the         
environment variable SKIP_IPLIKE_INSTALL before installing this package. To install iplike into your database, use the /usr/sbin/install_iplike.sh script.  See    
`install_iplike.sh -h` for more details.

Pour résoudre cette erreur, vous devrez créer une base de données et un utilisateur pour OpenNMS dans PostgreSQL.

Créer une base de données dans PostgreSQL

Le serveur PostgreSQL est installé automatiquement lors du processus d’installation d’OpenNMS.

Tout d’abord, démarrez le service PostgreSQL en utilisant la commande suivante :

systemctl start postgresql

Ensuite, connectez-vous à l’instance PostgreSQL en utilisant la commande suivante :

su - postgres

Une fois connecté, créez un utilisateur pour OpenNMS et définissez un mot de passe en utilisant la commande suivante :

createuser opennms  
psql -c "ALTER USER opennms WITH PASSWORD 'opennms';"

Ensuite, créez une base de données pour OpenNMS et définissez un mot de passe pour l’utilisateur postgres :

createdb -O opennms opennms  
psql -c "ALTER USER postgres WITH PASSWORD 'securepassword';"

Ensuite, quittez le shell PostgreSQL avec la commande suivante :

exit

Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.

Configurer OpenNMS

Ensuite, vous devrez modifier le fichier de source de données OpenNMS et définir vos identifiants de base de données :

nano /usr/share/opennms/etc/opennms-datasources.xml

Définissez vos identifiants de base de données comme indiqué ci-dessous :

  

  

Enregistrez et fermez le fichier lorsque vous avez terminé, puis exécutez la commande suivante pour détecter l’environnement Java :

sudo -u opennms /usr/share/opennms/bin/runjava -s

Vous obtiendrez la sortie suivante :

runjava: Looking for an appropriate JVM...
runjava: Checking for an appropriate JVM in JAVA_HOME...
runjava: Skipping... JAVA_HOME not set.
runjava: Checking JVM in the PATH: "/etc/alternatives/java"...
runjava: Did not find an appropriate JVM in the PATH: "/etc/alternatives/java"
runjava: Searching for a good JVM...
runjava: Found a good JVM in "/usr/lib/jvm/java-11-openjdk-amd64/bin/java".
runjava: Value of "/usr/lib/jvm/java-11-openjdk-amd64/bin/java" stored in configuration file.

Ensuite, exécutez la commande suivante pour compléter la configuration d’OpenNMS :

sudo -u opennms /usr/share/opennms/bin/install -dis

Vous obtiendrez la sortie suivante :

Finished in 0 seconds

Processing RemotePollerServiceConfigMigratorOffline: Remove deprecated RemotePoller service entry from service-configuration.xml, see NMS-12684
- Running pre-execution phase
  Creating backup of /usr/share/opennms/etc/service-configuration.xml
    Zipping /usr/share/opennms/etc/service-configuration.xml
- Running execution phase
  Current configuration: 32 services.
  A service entry named 'OpenNMS:Name=PerspectivePoller' already exists.
  Final configuration: 32 services.
- Saving the execution state
- Running post-execution phase
  Removing backup /usr/share/opennms/etc/service-configuration.xml.zip

Finished in 0 seconds

Upgrade completed successfully!

Démarrer le service OpenNMS

Après avoir configuré OpenNMS, démarrez le service OpenNMS et activez-le pour qu’il démarre au redémarrage du système en utilisant la commande suivante :

systemctl start opennms  
systemctl enable opennms

Vous pouvez vérifier l’état d’OpenNMS en utilisant la commande suivante :

systemctl status opennms

Vous obtiendrez la sortie suivante :

? opennms.service - OpenNMS server
     Loaded: loaded (/lib/systemd/system/opennms.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-11-28 08:10:51 UTC; 16s ago
    Process: 22990 ExecStart=/usr/share/opennms/bin/opennms -s start (code=exited, status=0/SUCCESS)
   Main PID: 24106 (java)
      Tasks: 68 (limit: 4679)
     Memory: 559.2M
        CPU: 48.083s
     CGroup: /system.slice/opennms.service
             ??24105 bash /usr/share/opennms/bin/opennms -s start
             ??24106 /usr/lib/jvm/java-11-openjdk-amd64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,java.desktop,java.in>

Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so.  Attempting to loa>
Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp library.
Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib/jni/libjicmp6.so.  Attempting to l>
Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp6 library.
Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so.  Attempting to loa>
Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp library.
Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib/jni/libjicmp6.so.  Attempting to l>
Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp6 library.
Nov 28 08:11:07 debian11 opennms[24106]: Nov 28, 2021 8:11:07 AM org.hibernate.validator.internal.util.Version 
Nov 28 08:11:07 debian11 opennms[24106]: INFO: HV000001: Hibernate Validator 4.3.2.Final

À ce stade, OpenNMS est démarré et écoute sur le port 8980. Vous pouvez le vérifier avec la commande suivante :

ss -antpl | grep 8980

Vous obtiendrez la sortie suivante :

LISTEN 0      50                      *:8980             *:*    users:(("java",pid=24106,fd=1046))     

Configurer Nginx comme proxy inverse pour OpenNMS

Ensuite, il est recommandé d’installer et de configurer Nginx comme proxy inverse pour OpenNMS. Tout d’abord, installez le serveur Nginx avec la commande suivante :

apt-get install nginx -y

Une fois Nginx installé, créez un fichier de configuration de l’hôte virtuel Nginx :

nano /etc/nginx/conf.d/opennms.conf

Ajoutez la configuration suivante :

server {
  listen 80;
  server_name opennms.example.com;
    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://nms.hacc.edu/;
    proxy_pass http://server-ip:8980;

  }
}

Enregistrez et fermez le fichier, puis vérifiez la syntaxe de Nginx pour toute erreur de configuration :

ginx -t

Vous obtiendrez la sortie suivante :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Ensuite, redémarrez le service Nginx pour appliquer les modifications :

systemctl restart nginx

Pour vérifier l’état de Nginx en cours d’exécution, exécutez la commande suivante :

systemctl status nginx

Vous devriez voir la sortie suivante :

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-11-28 08:17:14 UTC; 6s ago
       Docs: man:nginx(8)
    Process: 25964 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 25965 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 25967 (nginx)
      Tasks: 3 (limit: 4679)
     Memory: 3.2M
        CPU: 53ms
     CGroup: /system.slice/nginx.service
             ??25967 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??25968 nginx: worker process
             ??25969 nginx: worker process

Nov 28 08:17:14 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 28 08:17:14 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.

Accéder au tableau de bord OpenNMS

Maintenant, ouvrez votre navigateur web et accédez à l’interface web d’OpenNMS en utilisant l’URL http://opennms.example.com. Vous devriez voir la page de connexion d’OpenNMS :

OpenNMS Horizon

Fournissez le nom d’utilisateur et le mot de passe par défaut comme admin et cliquez sur le bouton Connexion. Vous devriez voir le tableau de bord OpenNMS sur l’écran suivant :

Horizon Dashboard

Maintenant, cliquez sur admin > Changer le mot de passe pour changer le mot de passe admin par défaut comme indiqué ci-dessous :

Changer le mot de passe

Changez votre mot de passe par défaut et cliquez sur le bouton Soumettre. Vous devriez voir l’écran suivant :

Mot de passe changé

Conclusion

Félicitations ! vous avez réussi à installer OpenNMS avec Nginx comme proxy inverse sur le serveur Debian 11. Vous pouvez maintenant ajouter les dispositifs distants à OpenNMS et commencer à les surveiller depuis le navigateur web. N’hésitez pas à me poser des questions si vous en avez.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.