Comment lier Manzan à Grafana ?
Icône de Grafana logo

Qu’est ce que Grafana ?

Grafana est une plateforme logicielle open-source de visualisation et d’analyse de données. Son rôle principal est de collecter des informations provenant de sources variées (bases de données, outils de monitoring (Manzan), systèmes cloud) et de les centraliser dans une interface unique.

(Si ce n’est pas déjà fait, veuillez consulter le blog précédent sur Manzan pour réaliser et mieux comprendre celui ci)

Nous allons prendre l’exemple des messages INQ dans QSYSOPR pour les retranscrire dans Grafana à l’aide de Manzan

Voici d’abord comment configurer Manzan :

Tout se fait principalement dans le fichier data.ini :

[watcher_messages_INQ]
type=sql
query=SELECT MESSAGE_ID, MESSAGE_TEXT, FROM_JOB FROM QSYS2.MESSAGE_QUEUE_INFO WHERE MESSAGE_QUEUE_NAME = 'QSYSOPR' AND MESSAGE_TYPE = 'INQUIRY' AND ASSOCIATED_MESSAGE_KEY IS NULL
interval=5000
destinations=grafana
format={"msg_id": "$MESSAGE_ID$", "alerte": "$MESSAGE_TEXT$", "job_bloque": "$FROM_JOB$"}

Dans data.ini nous retrouvons le même format JSON du blog précédent. En effet Grafana gère mieux les données en JSON notamment pour le tri des différentes sources qui lui sont envoyées.

Puis voici votre dests.ini

Cette destination pointe vers une logs Grafana dans laquelle vous pouvez y passer toutes les données que vous voulez pour ensuite les trier grâce au format que vous avez défini dans votre data.ini :

[grafana]
type=loki
url=https://logs-prod-X.grafana.net
username=15****7
password=gl******************************************************

Vous trouverez tous les formats de sources ici https://theprez.github.io/Manzan/#/config/format

Vous pouvez installer Grafana en local sur une partition linux ou sur un linux externe, mais pour le moment pas sur l’ibmi… Pour notre test nous allons utiliser une version de Grafana en ligne accessible en webservice .

Dans Grafana :

Comment récupérer votre username et password dans Grafana ?

Premièrement pour l’username

Vous devez, une fois votre compte Grafana créé, vous dirigez vers la section Connection puis Data sources :

Puis vous atterrirez sur cette page :

(les rectangles noirs seront votre nom dans Grafana)

Une fois sur la page des logs (via loki qui est le service de log de Grafana) vous descendrez un petit peu pour trouver ces 2 sections :

Ce qui va nous intéresser ici est l’URL de la Connexion que vous mettrez dans votre dests.ini dans le champ url=
Mais aussi le User qui est l’identifiant de votre logs. Vous le mettrez aussi dans dests.ini dans le champ username=

Maintenant comment trouver votre password ?

Vous devez vous rendre sur la page d’acceuil de Grafana en étant connecté à votre compte puis cliquer sur My account en haut à droite

Vous atterrirez sur cette page :

2.

3.

Suite à ça vous devez copier et garder ce token pour l’utiliser dans le fichier dests.ini

Puis vous n’aurez qu’à regarder dans votre logs en pensant à surveiller que vous avez bien sélectionné vos logs loki comme montré ci dessous :

Vous pouvez ensuite créer un Dashboard dans lequel vous surveillerez tout ce que vous voudrez en créant plusieurs sources avec les données que vous enverrez dans Grafana en format JSON

Exemple :

Voici la commande en 5250 pour vous envoyer un message INQ et faire vos tests de votre côté :

SNDMSG MSG('Test Manzan messages INQ') TOUSR(QSYSOPR) MSGTYPE(*INQ)

à noter !

Le message restera visible même si il a réçu une réponse, je devrez l’enlever manuellement depuis 5250 pour qu’il disparaisse de Manzan et Grafana

Exemple du rendu dans le dashboard

Détail de la configuration de la table de messages INQ, quand il y en a 1 et les paramètres du dashboard:

Conclusion:

Vous pouvez utiliser Manzan , pour capter les événements souhaités sur partition IBMi, le paramétrage reste assez simple (Seulement 2 fichiers à mettre à jour)

Grafana est devenu un standard de restitution d’information, il semblait donc naturel de brancher manzan sur cette solution pour avoir un outil fiable et robuste.

A noter que dans grafana, il exite un assistant IA pour vous aider à configurer votre dasboard.

Bon tests à tous, n’hésitez pas à nous contacter pour de plus amples informations, ou à contacter https://cfd-innovation.fr/ dont on s’est librement inspiré pour cet article.