Prometheus : add/update external label(s)#
Contexte#
Il s'agit d'ajouter ou modifier un external label dans la configuration de Prometheus suite à la demande d'un client.
CAASCHR#
| Champ | Description |
|---|---|
| Titre | [PRD] Changement external label dans Prometheus |
| Durée | En général, il faut au moins 30m |
Dans la description, bien revoir ces points :
- les objectifs
- la procédure de vérification
- les labels
Description#
h2. Zones
{code}
delta kilo
{code}
h2. Préparatifs
{code}
INFRA_ZONE=infra-stg
OCB_ZONE=ocb-test06
ZONES=(delta kilo)
{code}
h2. Contexte
Ce changement ne peux pas etre validé en stg car c'est un changement spécifique pour un client.
h2. Changements
h3. Modification de label dans le Prometheus sur les zones clientes d'ocb-test06
Label à changer: _parameter_
Valeur actuelle : _parameter = "kubernetes"_
Nouvelle valeur : _parameter = "caascad_container"_
h2. Déploiement
Faire un *trackbone apply* dans la MR envs-ng
h2. Vérifications
h3. Vérification labels dans les métriques
{code}
kswitch ${OCB_ZONE}
kubectl port-forward -n monitoring-app svc/app-prometheus 9090:9090 &
{code}
*On vérifie que le changement de valeur du label a été prise en compte :*
{code}
curl -g 'http://localhost:9090/api/v1/query?query=prometheus_build_info{parameter="caascad_container"}' | jq .data.result[].metric.cc_prom_source
{code}
*Résultat attendu:*
On doit avoir toutes les zones clientes.
*On vérifie que l'ancien label n'est plus présent :*
{code}
curl -g 'http://localhost:9090/api/v1/query?query=prometheus_build_info{parameter="kubernetes"}' | jq .data.result[].metric.cc_prom_source
{code}
*Résultat attendu:*
On doit avoir un résultat vide.
{code}
kill %1 # close the port-forward
{code}
h3. Tests fonctionnels
*Lancer les tests fonctionnels pour ces zones :*
{code}
cd ~/git/caascad/pipelines/monitoring-functional-tests
nix-shell
STACK=monitoring
cd ci
fly switch -n test -z "${INFRA_ZONE}"
fly -t "${INFRA_ZONE}.infra" login -n test
for i in "${ZONES[@]}"; do
fly -t "${INFRA_ZONE}.infra" trigger-job -j "f-tests-${STACK}-${OCB_ZONE}/${STACK}-${i}";
done
{code}
*Résultat :*
- Aller sur le dashboard Monitoring Functional Test
- Mettre la variable *old* à 5 minutes
- Mettre la variable *stack* à monitoring
- Les tests doivent être lancés depuis moins de 5 minutes et verts
h2. Merge
Merger si tout s'est bien passé.