Ajout de datasource dans un Grafana Mutualisé#
Nomenclature#
Pour une demande de ce genre :
Merci d’ajouter l’env avt dans l’espace de grafana mutualisé pour les RSC
nous nommerons :
<CLIENT>le client qui possède le Grafana mutualisé, iciRSC<DATASOURCE>le client qui possède les métriques et alertes à observer depuis le Grafana Mutualisé, autrement dit, la datasource à ajouter, iciavt.
Pré-requis#
Grafana mutualisé doit être déjà deployé. Si ce n'est pas le cas, suivez cette documentation
Cela se voit dans le fichier zones/ngot_zones/client-<CLIENT>.cue : la définition de la zone grafana (svc-grafana-client-<CLIENT>) doit contenir une ligne de ce genre :
let connected_zones = "10000:1:XXX,YYY,..."
Étapes#
1. Ajout de la datasource#
Modifier le fichier zones/ngot_zones/client-<CLIENT>.cue :
- sur la ligne
let connected_zones =, à la suite des noms de clients déjà renseignés, ajouter,CLIENT. Le format est :<BASEPORT>:<BASENUM>:XXX,YYY,...,<CLIENT>.<BASEPORT>est déjà indiqué et vaut habituellement10000. Il ne faut pas le changer,<BASENUM>est déjà indiqué et vaut habituellement1. Il ne faut pas le changer,<XXX>,<YYY>sont des datasources déjà existantes.
-
dans le bloc
parameters, ajouter une ligne de cette forme :_mutualized_datasource_alertmanager: "<DATASOURCE>": _Warning
Ne pas oublier le tiret bas (underscore) en fin de ligne.
-
dans le bloc
parameters.datasources, ajouter une ligne de cette forme :_mutualized_datasource_alertmanager["<DATASOURCE>"]
Exemple avec le client rsc et ses datasources adh et avt :
_zones: {
// CONTRACT //
"svc-grafana-client-rsc": {
let shortname = "rsc"
let connected_zones = "10000:1:adh,avt"
...
parameters: {
_thanos_query_connected_services_mutualized: "\(connected_zones)": _
thanos_query_connected_services: _thanos_query_connected_services_mutualized[connected_zones]
_datasource_thanos: "\(shortname)": _
_mutualized_datasource_alertmanager: "adh": _
_mutualized_datasource_alertmanager: "avt": _
datasources: {
_datasource_thanos[shortname]
_mutualized_datasource_alertmanager["adh"]
_mutualized_datasource_alertmanager["avt"]
}
}
}
}
2. Préparer le déploiement#
nix-shell
git pull
git switch -c cw-xxxx
generate-static-zones-files
git add zones/ngot-zones/client-<CLIENT>.cue
git add gen/
git commit -m "ngot: grafana: New datasource <DATASOURCE> for client <CLIENT>"
git push
Créer la MR et lancer un trackbone plan dans Gitlab.
Faire valider la MR par ses collègues.
3. Déploiement (CAASCHR)#
Créer un CAASCHR en se servant de ce modèle.