GNU/Linux >> Tutoriels Linux >  >> Debian

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

OpenNMS est une plate-forme gratuite, open-source et l'une des plates-formes de surveillance et de gestion de réseau les plus puissantes utilisées pour surveiller les appareils distants à partir d'un emplacement central. Il prend en charge de nombreuses fonctionnalités, notamment l'approvisionnement, la surveillance des services, la gestion des événements, la prise en charge des graphiques, etc. OpenNMS utilise SNMP et JMX et rassemble 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'adresse IP de votre serveur.
  • Un mot de passe root est configuré sur le serveur.

Installer Java sur Debian 11

OpenNMS est une application basée sur Java. Java doit donc ê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 à l'aide de la commande ci-dessous :

java --version

Vous obtiendrez la version 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 référentiel principal de Debian 11. Vous devrez donc ajouter le référentiel officiel OpenNMS à l'APT.

Tout d'abord, installez toutes les dépendances requises à l'aide de la commande suivante :

apt-get install curl gnupg2 wget -y

Une fois tous les packages installés, créez un fichier de référentiel OpenNMS à l'aide de 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 le résultat suivant :

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 référentiel 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

Serveur PostgreSQL installé automatiquement lors du processus d'installation d'OpenNMS.

Commencez par démarrer le service PostgreSQL à l'aide de la commande suivante :

systemctl start postgresql

Ensuite, connectez-vous à l'instance PostgreSQL à l'aide de la commande suivante :

su - postgres

Une fois connecté, créez un utilisateur pour OpenNMS et définissez un mot de passe à l'aide de 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 informations d'identification de base de données comme indiqué ci-dessous :

  <jdbc-data-source name="opennms"
                    database-name="opennms"
                    class-name="org.postgresql.Driver"
                    url="jdbc:postgresql://localhost:5432/opennms"
                    user-name="opennms"
                    password="opennms" />

  <jdbc-data-source name="opennms-admin"
                    database-name="template1"
                    class-name="org.postgresql.Driver"
                    url="jdbc:postgresql://localhost:5432/template1"
                    user-name="postgres"
                    password="securepassword" />
</datasource-configuration>

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 le résultat suivant :

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 terminer la configuration d'OpenNMS :

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

Vous obtiendrez le résultat suivant :

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 au redémarrage du système à l'aide de la commande suivante :

systemctl start opennms
systemctl enable opennms

Vous pouvez vérifier l'état d'OpenNMS à l'aide de la commande suivante :

systemctl status opennms

Vous obtiendrez le résultat suivant :

? 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 le résultat suivant :

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

Configurer Nginx en tant que proxy inverse pour OpenNMS

Ensuite, il est recommandé d'installer et de configurer le Nginx en tant que 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 d'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 le Nginx pour toute erreur de configuration de syntaxe :

nginx -t

Vous obtiendrez le résultat suivant :

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 d'exécution de Nginx, exécutez la commande suivante :

systemctl status nginx

Vous devriez voir le résultat suivant :

? 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 OpenNMS en utilisant l'URL http://opennms.example.com . Vous devriez voir la page de connexion OpenNMS :

Indiquez le nom d'utilisateur et le mot de passe par défaut en tant qu'administrateur et cliquez sur Connexion bouton. Vous devriez voir le tableau de bord OpenNMS sur l'écran suivant :

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

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

Conclusion

Toutes nos félicitations! vous avez installé avec succès OpenNMS avec Nginx en tant que proxy inverse sur le serveur Debian 11. Vous pouvez maintenant ajouter les appareils distants à OpenNMS et commencer à les surveiller à partir du navigateur Web. N'hésitez pas à me demander si vous avez des questions.


Debian
  1. Comment installer l'outil de surveillance SNMP Cacti sur Debian 9

  2. Comment installer l'outil de surveillance Nagios 4.3.x sur Debian 9

  3. Installer Observium Network Monitoring sur Debian 9

  4. Comment installer Gradle sur Debian 10

  5. Comment installer AnyDesk sur Debian 10

Comment installer LibreNMS sur Debian 11

Comment installer PostgreSQL 14 sur Debian 11

Comment installer Webmin sur Debian 11

Comment installer Cacti Monitoring sur Debian 9

Comment installer Cacti Monitoring sur Debian 10

Comment installer OpenNMS sur Debian 11