Permettre l'envoi des métrics de toutcasser sur la stack grafana de kity
Nous avons besoin de pouvoir tester aussi des fonctionnalité de monitoring via l'environnement toutcasser. Cependant, on ne souhaites pas tout doubler, ce serait trop lourd, et on aimerait se reposer sur stats.tedomum.net, et y avoir ensuite des dashboard dédié a toutcasser.
idées de @kaiyou, je cite :
Mimir fait bdd, mais la collecte et le push est fait par Grafana Agent.
Un dev interne Grafana qui fait à peu près la même chose qu'un Logstash ou un Vector
Et il a moult composants : https://grafana.com/docs/agent/latest/flow/reference/components/
Si on déploie un Grafana Agent dans Toutcasser, faut voir si on pousse de l'agent dans Toutcasser vers les stocks dans Kity ou bien un agent dans Toutcasser vers un agent dans Kity, qui lui dispatche vers les stocks
En fait je suis assez convaincu en réfléchissant que c'est la marche à suivre : passer par un Grafana Agent exposé dans Kity pour la collecte depuis des composants externes.
Avec côté Toutcasser, un module otelhttp : https://grafana.com/docs/agent/latest/flow/reference/components/otelcol.exporter.otlphttp/
Et côté Kity on rajoute : https://grafana.com/docs/agent/latest/flow/reference/components/otelcol.receiver.otlp/ et on expose l'otlp over http authentifié
Le mimir est pas exposé comme ça, c'est un Grafana agent uniquement, éventuellement même une autre instance que celle qui collecte les métriques internes du cluster
Et l'agent a tout ce qu'il faut pour rebasculer de collecte Prometheus vers otlp, puis de otlp vers un remote write prometheus vers Mimir
Et pour l'authent avec un token partagé : https://grafana.com/docs/agent/latest/flow/reference/components/otelcol.auth.bearer/
La conf de l'agent qui collecte les probes internes de Kity et pousse dans Mimir : https://forge.tedomum.net/tedomum/kity/-/blob/main/infra-monitoring/agent.yaml?ref_type=heads
Et l'autre agent qui fait le node exporter : https://forge.tedomum.net/tedomum/kity/-/blob/main/infra-monitoring/nodes.yaml?ref_type=heads
Je vois bien :
- un troisième agent dans Kity qui reçoit depuis toutcasser en otlp, convertir en prom et write dans mimir sous l'org "toutcasser", avec son ingress (otlp.tedomum.net ou plus spécifique)
- un agent dans toutcasser qui collecte, convertit en otlp, pousse vers l'ingress otlp de Kity
- si besoin plus tard de séparer les data, on pourra faire une data source Grafana distincte sur le tenant mimir "toutcasser"