VictoriaMetrics & Intégration dans Grafana
Présentation de VictoriaMetrics¶
VictoriaMetrics est une base de données time series open source, compatible avec l'écosystème Prometheus : elle reçoit les métriques en remote_write, se requête en PromQL (et son extension MetricsQL), avec une consommation CPU/RAM et disque réduite. Pour lui envoyer tes métriques, vois Vector ou Prometheus en mode Agent, et une stack complète dans cet article.
Pré-requis¶
Provider Terraform¶
Pour la suite du cours je vais te donner l'ensemble du code réaliser avec Terraform. Cela va nous permettre d'amener résilience et robustesse. On sera heureux d'un seul call terraform on puisse retrouver notre cluster en bonne santé :)
Utilisant déjà ArgoCD comme outils pour déploiyer nos helm charts, on va devoir utiliser un provider sous terraform. Je te montre ma configuration que j'utilise, sachant que j'utilise minikube avec un ArgoCD non exposé au net, donc juste appellable en local.
Ici tu peux utiliser soit le traditionnel username:password ou un auth_token généré par ArgoCD avec ton compte admin. On mentionne en context le nom de notre cluster, ainsi que le namespace ou est installé notre argocd-server.
Note
Renseigne la variable argocd_admin_password (par exemple via TF_VAR_argocd_admin_password) avec ton mot de passe, qui est dans le secret de ton cluster sous le nom de argocd-initial-admin-secret
Installation¶
On va installer notre VictoriaMetrics en mode single, c'est une version plus light que la version cluster, qui elle est vraiment dédiée pour des installations qui nécéssite une scalabilité hors-norme.
Ajouter VictoriaMetrics à Grafana¶
On va devoir pour cela ajouter le plugin victoriametrics-datasource dans Grafana afin de créer une data source propre à VictoriaMetrics. Son identifiant de plugin est victoriametrics-metrics-datasource : installe-le par exemple via GF_INSTALL_PLUGINS=victoriametrics-metrics-datasource.
Tip
VictoriaMetrics étant compatible PromQL, tu peux aussi te passer du plugin et utiliser la data source Prometheus native de Grafana (type = "prometheus"). Le plugin dédié reste utile pour profiter de MetricsQL.
Pré-requis¶
On va installer le provider grafana afin de faire notre data source as code avec Terraform
Ici on fait simple, notre Grafana n'étant pas exposé, on va simplement faire un port-forward sur le pod de ce service. Je l'expose sur http://localhost:3000/
Note
Pense à adapter le password que je renseigne avec le tiens, qui est dans le secret de ton cluster sous le nom de grafana
Création de la data source¶
Nous avons plus qu'a créer notre data source basé sur ce plugin custom. Pensez à mettre votre endpooint vers votre propre cluster VictoriaMetrics.
Nous pouvons désormais avoir accès à nos métriques stocké sur Victoria depuis Grafana !