Intégration Grafana

Vous pouvez intégrer facilement XorMon dans Grafana.
Vous pouvez sélectionner n’importe quel graphique ou un Dashboard utilisateur complet et l’envoyer dans Grafana, dans la structure de votre choix.

L’intégration Grafana nécessite une licence REST API XorMon.
Utilisez-la pendant la période d’essai initiale de 3 mois ou demandez une licence d’essai via le formulaire d’essai.

La méthode plus récente, via le plug-in XorMon pour Grafana, permet de créer des graphiques personnalisés et pas seulement d’importer des graphiques prédéfinis.
Tout se pilote depuis Grafana, graphique et sélection de tableau compris, sans rien avoir à faire côté Xormon, contrairement à la méthode sans plug-in.

Exemples

Graphique :
Grafana monitoring example 1

Tableau :
Grafana monitoring example 2

État de santé :
Grafana monitoring example 3
Le plug-in XorMon permet d’interroger les métriques en temps réel et l’état de santé directement depuis votre serveur XorMon, à l’intérieur de Grafana : aucun Dashboard à préimporter, les données se rafraîchissent comme dans n’importe quel autre panneau Grafana.

Prérequis

  • Grafana 12.3.0 ou version ultérieure.
  • Accès réseau depuis la machine qui exécute Grafana vers votre serveur XorMon (port `8443` par défaut, HTTPS).
  • Une clé API XorMon : générez-la dans l’application XorMon sous User ➡ Profile ➡ API Keys.

1. Téléchargement

Récupérez la dernière archive de version en bas de la page de téléchargement (xorux-xormon-datasource-.tar.gz)

2. Installer le plug-in

Extrayez l’archive dans le répertoire des plug-ins de Grafana. Sur une installation Linux standard, il s’agit de `/var/lib/grafana/plugins` (en cas de doute, vérifiez le chemin `plugins` sous `[paths]` dans votre `grafana.ini`) :
tar -xzf xorux-xormon-datasource-.tar.gz -C /var/lib/grafana/plugins/
Cela crée un dossier `xorux-xormon-datasource/` dans le répertoire des plug-ins.

Vous exécutez Grafana dans Docker ?
Extrayez d’abord l’archive sur l’hôte, puis montez le dossier obtenu dans le répertoire des plug-ins du conteneur au lieu de le copier dans l’image.
Le plug-in n’est pas encore signé : définissez donc aussi `GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS` (cela remplace l’étape 3 ci-dessous, passez directement à l’étape 4) :
tar -xzf xorux-xormon-datasource-.tar.gz
docker run -d \
  -p 3000:3000 \
  -v "$(pwd)/xorux-xormon-datasource:/var/lib/grafana/plugins/xorux-xormon-datasource" \
  -e "GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=xorux-xormon-datasource" \
  grafana/grafana
Ou avec Docker Compose :
services:
  grafana:
    image: grafana/grafana:latest
    ports:
      - "3000:3000"
    volumes:
      - ./xorux-xormon-datasource:/var/lib/grafana/plugins/xorux-xormon-datasource
    environment:
      GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS: xorux-xormon-datasource
docker compose up -d
Si votre serveur XorMon s’exécute sur la même machine que Docker, `localhost` à l’intérieur du conteneur désigne le conteneur lui-même et non l’hôte.
Utilisez plutôt `host.docker.internal` dans le champ Host à l’étape 5 et, sous Linux uniquement, ajoutez `--add-host=host.docker.internal :host-gateway` à `docker run`, ou `extra_hosts : [« host.docker.internal :host-gateway »]` sous le service `grafana` dans Compose.

3. Autoriser le chargement du plug-in

Ce plug-in n’est pas encore signé, il faut donc indiquer explicitement à Grafana de lui faire confiance. Ajoutez son identifiant à la liste des plug-ins non signés autorisés, soit dans `grafana.ini` :
[plugins]
allow_loading_unsigned_plugins = xorux-xormon-datasource
soit via une variable d’environnement :
GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=xorux-xormon-datasource
(si vous exécutez Grafana dans Docker, vous l’avez déjà définie ci-dessus).

4. Redémarrer Grafana

systemctl restart grafana-server
Vous l’exécutez plutôt dans Docker ?
docker restart 
# or, with Docker Compose:
docker compose restart grafana

5. Ajouter la source de données

Dans Grafana, allez dans Connections ➡ Data sources ➡ Add data source et recherchez XorMon.
Renseignez :
ChampDescription
Protocole`http` ou `https`, selon votre serveur XorMon
HôteNom d’hôte ou IP de votre serveur XorMon
PortGénéralement `8443`
Ignorer la vérification TLSÀ activer si votre serveur XorMon utilise le certificat auto-signé par défaut
Clé APILa clé générée dans Settings ➡ API keys
Cliquez sur Save & test : la connexion devrait être confirmée.

6. Construire votre premier panneau

Ouvrez Explore (ou ajoutez un panneau à un Dashboard) et choisissez la source de données XorMon.
L’éditeur de requêtes commence par un sélecteur Type :
  • Timeseries : choisissez Class ➡ HW Type ➡ Subsystem (pour les classes Storage, SAN et LAN, HW Type est ignoré, la liste des sous-systèmes couvrant déjà tous les types de matériel), puis les Items à représenter (ou cliquez sur Select all pour inclure systématiquement tous les éléments correspondants, résolus à chaque exécution de la requête) et les Metrics à tracer.
    Lorsqu’un seul élément est sélectionné, vous pouvez attribuer une couleur fixe par métrique ; avec plusieurs éléments, c’est la palette de couleurs de Grafana qui prend le relais.
    Vous pouvez également activer Filter by parents pour choisir les éléments indirectement, via leurs équipements parents.
  • Health Status : affiche un tableau coloré de l’état de santé des équipements (OK / Warning / Error / Unknown / Test), avec un filtre facultatif par gravité.
  • Capacity : un tableau coloré des valeurs de capacité (Total / Utilisé / Libre, % utilisé et taux de réduction ou de déduplication lorsqu’ils sont disponibles) pour les éléments Storage Device, Pool ou Volume.

Dépannage

  • « Missing API key » / « Bad or expired API key » : la clé a peut-être expiré ou été révoquée ; générez-en une nouvelle dans XorMon sous Settings ➡ API keys.
  • Les listes déroulantes Class / HW Type / Item restent vides : vérifiez que le serveur Grafana (et non votre navigateur) peut joindre l’hôte et le port XorMon configurés ; testez la connectivité depuis l’hôte Grafana lui-même, par exemple
    `curl -k -H "apiKey : " https://:/api/public/v1/architecture/classes`.
  • Erreurs TLS ou de certificat : activez Skip TLS verify dans les paramètres de la source de données si votre serveur XorMon utilise son certificat auto-signé par défaut, ou installez un certificat signé par une autorité sur le serveur XorMon.
Connections -> Add new connection
Recherchez Infinity
Cliquez sur Infinity et installez-le
Grafana integration 1

Connections -> Data sources -> Add data source
Grafana integration 2

Repérez le type de source Infinity
Grafana integration 3

Indiquez „xormon“ comme libellé (pour que tout fonctionne, il est important que la source de données soit nommée „xormon“)
Grafana integration 4

Définissez l’authentification par clé API, générée dans XorMon sous User -> Profile -> API Keys
Grafana integration 5

Grafana integration 6

Ajoutez l’URL de XorMon aux hôtes autorisés
Grafana integration 7

Définissez l’URL de XorMon comme URL de base
Si l’interface XorMon s’exécute sur un port autre que 443 (par exemple 8433), indiquez-le dans l’URL, comme https://10.22.66.38:8443
Notez que la REST API XorMon s’exécute sur le même port que l’interface XorMon
Grafana integration 8

Facultatif : si vous n’avez pas de certificat valide sur l’instance XorMon, activez skip tls verify
Grafana integration 9

Puis enregistrez.
Vous devez maintenant générer un jeton. Administration -> Users and access -> Service accounts -> Add service account
Grafana integration 10

Attribuez le rôle editor
Grafana integration 11

Générez un nouveau jeton de compte de service
Grafana integration 12

Saisissez ce jeton dans la configuration Grafana de XorMon. Allez dans Settings -> Dashboard -> Grafana et remplissez le formulaire
Grafana integration 13

Si vous souhaitez synchroniser votre Dashboard XorMon avec Grafana, activez la synchronisation des Dashboards. Vous pouvez aussi préciser le dossier vers lequel le Dashboard sera synchronisé.
Pour importer un graphique dans un Dashboard Grafana, cliquez sur l’étoile (comme si vous ajoutiez normalement un graphique à un Dashboard)
Grafana integration 14

Puis sélectionnez dans Grafana le Dashboard où importer le graphique
Grafana integration 15

Puis sélectionnez dans Grafana le Dashboard où importer le graphique
Grafana integration 16