Aller au contenu

Suppression de datasource dans un Grafana Mutualisé / Masquer les alertes définies dans Prometheus#

Pour une demande de ce type, il existe deux options :

Suppression de datasource dans un Grafana Mutualisé : "Merci de supprimer la datasource Alertmanager du client test06 de l’instance de Grafana mutualisée devteam01."

Rendre les alertes définies dans Prometheus invisibles (cela se fait en modifiant la datasource Thanos) : "Nous souhaitons que les alertes définies dans Prometheus ne soient plus visibles."

Ou bien les deux options.

Nomenclature#

Nous nommerons :

  • <CLIENT> le client qui possède l'instance de Grafana mutualisé, ici devteam01
  • <DATASOURCE> le client qui possède les métriques et alertes à observer depuis le Grafana Mutualisé, autrement dit, la datasource à supprimer, ici test06.

Étape 1 : Modification des paramètres de la zone Grafana#

Les paramètres sont définis dans envs-ng dans le fichier zones/ngot_zones/client-<CLIENT>.cue.

Voici un exemple de configuration de ces paramètres:

"svc-grafana-client-devteam01": {
    let shortname = "devteam01"
    let connected_zones = "10000:1:test04,test06"
    type:               "service"
    subtype:            "grafana-client"
    parent_zone_name:   "kub-10010"
    contract_zone_name: "obs-\(shortname)"
    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: "test04": _
        _mutualized_datasource_alertmanager: "test06": _

        datasources: {
            _datasource_thanos[shortname]
            thanos: jsonData: manageAlerts: false
            _mutualized_datasource_alertmanager["test04"]
            _mutualized_datasource_alertmanager["test06"]
        }
        expose_thanos_query: true
    }
}

Voici ce qu’il faut faire pour:

  • Supprimer la datasource Alertmanager:

    • Objectif : supprimer la datasource dans Grafana via Alerting -> Active notifications
    • Pour supprimer une datasource Alertmanager, il faut retirer les deux lignes ci-dessous pour chaque cible Alertmanager concernée.
    • Les lignes à retirer pour une datasource Alertmanager sont:
      _mutualized_datasource_alertmanager: "test06": _
      ...
      datasources: {
              ...
              _mutualized_datasource_alertmanager["test06"]
      
  • Désactiver la gestion des PrometheusRules dans Grafana

    • Objectif : supprimer la visibilité des PrometheusRules dans Grafana via Alerting -> Alert Rules
    • Pour faire ça, il faut ajouter la ligne suivante (voir l'exemple ci-dessous):

      thanos: jsonData: manageAlerts: false
      
      Ce qui donne:

      datasources: {
          _datasource_thanos[shortname]
          _mutualized_datasource_alertmanager["test04"]
          thanos: jsonData: manageAlerts: false
      }
      

Warning

Il ne faut pas modifier la ligne suivante : let connected_zones = "10000:1:test04,test06"

Étape 2 : Régénération de static zone files#

generate-static-zones-files

Étape 3 : Redéployer les datasources#

Warning

Ne pas oublier de suivre le processus de gestion des changements (MR, validation, CAASCHR, etc.).

Créer un CAASCHR à partir de ce template.