La série en cours couvrant mon voyage dans le monde de l’observabilité native du cloud se poursuit dans cet article, où je continue d’explorer un tableau de bord open source et un projet de visualisation. Si vous avez manqué l’un des articles précédents, revenez à l’introduction pour une mise à jour rapide.
Après avoir posé les bases de cette série dans l’article initial, j’ai passé un peu de temps dans le deuxième article à partager qui sont les acteurs de l’observabilité. J’ai également discuté des équipes dans lesquelles ces joueurs se trouvent dans ce monde d’o11y natif du cloud. Pour le troisième article, j’ai regardé la discussion en cours autour de la surveillance piliers contre étapes. Dans le quatrième article, j’ai parlé de garder vos options ouvertes avec les normes open source. Dans le cinquième article de cette série, j’ai parlé de l’introduction d’applications monolithiques dans le monde natif du cloud. Dans mon sixième article, je vous ai présenté une introduction à un nouveau projet de tableau de bord et de visualisation open source et expliqué comment installer le projet sur votre ordinateur de développeur local. Dans le septième article, j’ai exploré l’API et les outils fournis par le projet Perses. Ensuite, j’ai passé du temps dans l’article suivant sur la spécification du tableau de bord ouvert que vous devez suivre pour commencer à créer votre premier tableau de bord. Enfin, dans l’article précédent, vous avez construit votre tout premier tableau de bord.
Dans cet article, vous débusquerez ce premier tableau de bord en complétant deux rangées de graphiques, de jauges et d’autres composants visualisant les performances de l’instance cible.
En tant que développeur depuis mes débuts dans l’informatique, il a été très intéressant d’explorer les complexités d’o11y cloud-native. La surveillance des applications va bien au-delà de la simple écriture et du déploiement de code, en particulier dans le monde natif du cloud. Une chose demeure la même : la maintenance de l’architecture de votre organisation nécessite toujours à la fois une vision vigilante et une compréhension des standards ouverts disponibles.
Cet article fait partie de mes efforts continus pour acquérir une expérience pratique dans le monde natif du cloud. Je vais vous aider à commencer à utiliser un modèle de base pour un tableau de bord minimal de l’atelier précédent et à commencer à concevoir des composants pour votre tout premier tableau de bord. Il s’agit d’un laboratoire dans l’atelier en ligne gratuit plus complet. N’hésitez pas à commencer dès le début de cet atelier ici si vous avez manqué quelque chose auparavant :
Passons maintenant à la conception de votre premier tableau de bord. Notez que cet article n’est qu’un bref résumé, veuillez donc consulter l’atelier complet disponible en ligne en tant qu’atelier 4.6 pour créer vous-même un tableau de bord avancé :
Ce qui suit est un bref aperçu de ce qui se trouve dans ce laboratoire spécifique de l’atelier.
Faire progresser le tableau de bord
Chaque laboratoire commence par un objectif. Dans ce cas, c’est assez simple :
Pour créer votre premier tableau de bord de base, étendez-le avec d’autres composants jusqu’à ce que vous disposiez d’un tableau de bord avancé avec des exemples de métriques complets.
L’atelier démarre avec une vue de ce que votre serveur devrait vous montrer après avoir terminé l’atelier précédent. C’est un tableau de bord avec le premier Memory Usage
tableau de statistiques dans le premier rôle et rien d’autre. Cet atelier reprend là où vous vous étiez arrêté et vous commencez à ajouter un nouveau Total Memory
graphique statistique :
"statTotalMemory": {
"kind": "Panel",
"spec": {
"display": {
"name": "Total Memory",
"description": "This is my second stat chart!"
},
"plugin": {
"kind": "StatChart",
"spec": {
"query": {
"kind": "TimeSeriesQuery",
"spec": {
"plugin": {
"kind": "PrometheusTimeSeriesQuery",
"spec": {
"query": "node_memory_MemTotal_bytes{job='$job',instance=~'$instance'}"
}
}
}
},
"calculation": "LastNumber",
"unit": { "kind": "Percent" }
}
}
}
}
Encore une fois, cela est suivi d’une section supplémentaire ajoutée au layouts
section, que nous laisserons le lecteur poursuivre dans le laboratoire en ligne.
Notez que dans le laboratoire de l’atelier, ces extraits de code vous sont fournis comme aides ; mais j’ai également tenté de partager des tests et une validation appropriés lorsque vous travaillez sur un tableau de bord final à l’aide de l’outil CLI fourni :
$ ./bin/percli lint -f [PATH_TO_RESOURCE]/myfirstdashboard.json your resources look good $ ./bin/percli apply -f [PATH_TO_RESOURCE]/myfirstdashboard.json object "Dashboard" "MyFirstDashboard" has been applied in the project "WorkshopProject"
Vérifiez ensuite qu’ils ont été appliqués sur votre tableau de bord :
Vous pouvez voir que votre utilisation de la mémoire et les composants de mémoire totale sont placés dans la première ligne de votre tableau de bord et rapportent les valeurs actuelles pour l’instance de serveur sélectionnée.
Vous continuez ensuite et ajoutez deux jauges, utilisées pour visualiser les deux mêmes mesures que les graphiques de statistiques. Une fois que vous avez terminé ces sections, votre première ligne de ce tableau de bord semble assez solide :
Ensuite, vous créez une nouvelle ligne et renommez cette première ligne tout en la déplaçant vers la seconde sur votre tableau de bord en utilisant les ajustements suivants à votre layouts
section:
"layouts": [
{
"kind": "Grid",
"spec": {
"display": { "title": "Line Chart Row", "collapse": { "open": true } },
"items": []
}
},
{
"kind": "Grid",
"spec": {
"display": { "title": "Stat Chart Row", "collapse": { "open": true } },
"items": []
}
}
]
Vous êtes maintenant prêt à commencer à ajouter de nouvelles statistiques dans les composants de graphique en courbes :
Vous ajoutez deux nouveaux graphique en ligne Composants. Le premier va visualiser les totaux de mémoire de l’instance cible. La seconde visualise la charge sur l’instance et inclut des seuils pour indiquer quand les valeurs traversent les niveaux qui nécessitent une alerte. Le lecteur est renvoyé au contenu du laboratoire pour travailler sur ces deux composants du graphique linéaire et les résultats finaux devraient être les suivants :
C’est là que vous terminez le laboratoire et que vous êtes prêt à passer à la dernière partie de l’atelier. Tout cela a été une bonne expérience d’apprentissage, et si vous vous asseyez, vous serez un peu surpris du chemin parcouru en peu de temps.