
Interroger les API REST de Grafana
Si nous pouvons consommer les données dont nous avons besoin via l’API REST (au format JSON), nous pourrons donc nous visualiser dans Grafana! Le monde est merveilleux avec Grafana! Ainsi, Comme nous le savons, Aujourd’hui, presque toutes les applications nous permettent d’effectuer des requêtes via des API, N’attendez plus et pressez-les!
Puits, Et tout d’abord… Vous dire que nous commençons après un été de joie et de plaisir =) et le travail, aller… Cela fait quelques mois de déconnexion et on attend on ne sait si 1 ou mieux 2 Posts par semaine jusqu’à la fin de l’année… J’ai plus ou moins le syllabus, Mais mes enfants sont nuls dans ma vie :-), Venir, Au nougat!
Dans cet article, nous allons faire quelque chose de simple, un exemple de ce dont nous aurons besoin pour qu’il soit opérationnel. Mettons une application, Dans ce cas particulier, nous utiliserons Wekan, qui est un organisateur Kanban et c’est celui avec lequel je gère, entre autres,, les Tâches en attente à réaliser (dans ma vie, Au travail, avec des priorités…). Comme il s’agit d’une application qui permet via l’API REST au format JSON de consulter les données, car l’intention sera de faire un tableau de bord dans Grafana qui organise les tâches en attente, Et bien sûr, alors cette piscine tournante ira à la Écran du service d’assistance. Il s’agira d’une consultation directe, que l’on peut mettre en cache ou non si on veut les valeurs pendant un certain temps, ne seront pas stockés dans des bases de données.
Premières choses, dans Grafana, nous installerons la source de données 'JSON API’ & nous redémarrons Grafana:
grafana-cli plugins install marcusolsson-json-datasource systemctl restart grafana-server
Prenons cet exemple simple, Après avoir lu la documentation de chaque application, nous serons en mesure de savoir comment consulter les données dont nous avons besoin; Comme je l’ai dit, Wekan, et lister les Cards, qui, dans mon cas, j’utilise comme tâches, avec une boucle on le ferait rapidement pour valider le rendu de ce que l’on verra plus tard dans Grafana:
boucle -H "Autorisation: Porteur XXXXXXXXXX" -X GET http://192.168.1.115:3001/api/boards/xxxxxx/lists/xxxxxx/cards [{"_Id":"Merde","titre":"Tâche 1...","Description":"","Cessionnaires":[]},{"_Id":"DFGMH2","titre":"Tâche 2...","Description":"","Cessionnaires":[]},{"_Id":"Rymt8","titre":"Tâche 3...","Description":"","Cessionnaires":[]}....
Dans ce cas, Nécessite une authentification, Et ça va à la tête, avec votre jeton, puis nous faisons un GET de la section qui nous intéresse.
Nous pourrons créer la source de données dans Grafana qui pointe vers l’URL racine des API et dans ce cas, nous enverrons l’authentification dans un en-tête personnalisé. C’est juste que Wekan C’est un exemple un peu particulier, puisque tout ce qui suit le ':’ d’Autorisation’ Nous le mettrons comme 'valeur’ dans l’onglet 'En-tête’ (pas seulement le Token, mais dans ce cas, Insister).
Et déjà, dans un tableau de bord de Grafana, nous pouvons ajouter un nouveau panneau, le genre dont nous avons besoin, Dans mon cas, un simple tableau me suffit, Je veux juste voir les tâches urgentes en attente. Nous indiquons le champ que nous voulons extraire, dans ce cas au format JSONPath et dans mon cas particulier si vous regardez de près la boucle précédente, ce serait '$.*.title’ pour obtenir les titres de toutes les Cartes.
Dans l’onglet 'Chemin'’ Nous pouvons spécifier le chemin d’accès de la requête, dans ce cas de type GET et (Dans mon cas) Ajout du chemin d’accès: '/tableaux/xxxxxxxxxx/listes/xxxxxxxxxx/cartes’
Et ce serait un exemple de certaines des tâches urgentes que j’ai en attente en ce moment 🙂
Ce que j’ai dit, n’est qu’un exemple de la façon de consommer des données directement à partir de Grafana via des API au format JSON que l’application distante peut cracher. J’espère que vous pourrez en tirer un peu d’utilité, La vérité est qu’il a 1000 possibilités et je ne suis pas à la hauteur 😉
Puissiez-vous être heureux, que ce fut un plaisir d’écrire ces quelques lignes, Mais je dois enlever la rouille, certains documents qui pourraient vous intéresser et d’autres moins, mais avec l’intention qu’ils apportent quelque chose. Un gros bisou!