<!-- .slide: class="prez-slide-title-page" --> # BPF-33<br/>Doc stack Thanos <!-- .element: style="font-size: 2em" --> #### Présentation Équipe Supervision du 30/10/2024 --- # Objectifs des nouvelles stacks mon3/mon4 - scalabilité de la solution Thanos - en multipliant le nombre de Receivers - en doublant (voire plus) le point d'entrée "distributor" - proposer une solution aux incidents "sapin de Noël" - profiter de quelques fonctionnalités complémentaires - accepter les métriques "out of order" - pouvoir exécuter des expressions sur des intervalles de plus de 24h - ... --- # Composants https://docs-internal.corp.caascad.com/Architecture/Monitoring/NGOT/central_zones/ - Chemin d'écriture - Receive "distributor" - Receive - (Compactor) - Chemin de lecture - Querier "proxy" - Ruler - Receive - Store Gateway - Chemin d'alerting - Ruler - Querier - Receive - Store Gateway --- # MCO : où trouver la doc ? - [Architecture/Monitoring/NGOT/central_zones/](https://docs-internal.corp.caascad.com/Architecture/Monitoring/NGOT/central_zones/#schema_1) (le schéma d'architecture) - "Help_Alerts" ([exemple](https://docs-internal.corp.caascad.com/Op%C3%A9rations/Alerting/Help_alerts/PrometheusRemoteWriteDesiredShards/)) - [Opérations/Applications/Thanos/](https://docs-internal.corp.caascad.com/Op%C3%A9rations/Applications/Thanos/Deployment_of_Thanos_components/) --- # En cas d'incident 1. help_alerts... 2. ...qui redirige souvent vers Opérations/Applications/Thanos/ ou Opérations/Applications/Prometheus/ --- # Si on veut redéployer Certains composants ne se déploient pas avec Trackbone. Tout est expliqué dans la documentation [Applications/Thanos/Deployment_of_Thanos_components/](https://docs-internal.corp.caascad.com/Op%C3%A9rations/Applications/Thanos/Deployment_of_Thanos_components/) --- # Les pièges à connaître (1/2) - Certains composants ne se déploient pas avec Trackbone - Thanos-Receiver - Ne jamais changer les R/L. On ajoute un réplica à la place - Ne jamais augmenter la taille du PVC. On ajoute un réplica à la place - Ne jamais ajouter un réplica avec `kubectl edit` ou `kubectl scale`. Il faut redéployer avec la chart helm (sinon, il y a aussi un *hashRing* dans un configMap à mettre à jour) - Si modif sur les pods Receivers, faire un `kubectl scale replicas=0` avant - **Toujours suivre la doc !** - Thanos-Receiver "distributor" - Le "distributor" est un Receiver avec une configuration spécifique (sans stockage local). - Ses "resources requests" en mémoire sont énormes par rapport à sa consommation "de croisière". Cela est lié à son comportement au démarrage. - Au démarrage, à cause de ses R/L, un nouveau noeud peut être créé par l'auto-scaler. Parfois, c'est looooong !!! - En cas d'OOMKill au démarrage, on peut augmenter les R/L (même à l'arrache, mais il faudra pérenniser ultérieurement). --- # Les pièges à connaître (2/2) - Thanos-Query et Thanos-Query "proxy" - Ces deux composants sont les mêmes mais n'assurent pas le même rôle. - Parce que la chart helm ne permet pas de déployer ces deux composants avec un rôle différent, on déploie le "proxy" de façon séparée. - Thanos-Ruler - Il est piloté par Prometheus-Operator (et donc déployé par Trackbone) - Thanos-Compactor - La version du compactor diffère de celle des autres composants Thanos. Ce n'est pas grave, c'est compatible. --- # Dashboard Grafana Il existe 2 dashboards de travail, qui peuvent être utilisés en cas de recherche lors d'un incident&nbsp;: - [PF-2640](https://grafana.obs-corp-prd.cloudservicesfactory.com/d/d1001822-7080-49f8-8bf2-0b0fa83a1186/pf-2640?orgId=1) : ce dashboard donne une vue globale sur "mon3" et "mon4" - [Incident sapin de Noël](https://grafana.obs-corp-prd.cloudservicesfactory.com/d/a148e747-5226-4945-bbc8-780b0d2f929d/incident-sapin-de-noel?orgId=1) : ce dashboard rassemble des métriques agrégées pour les alertes liées à la communcation "remote-write" entre les Prometheus-Cluster et les stacks centrales mon1/mon2/mon3/mon4 Ces dashboard seront peut-être pérennisés ultérieurement avec des noms plus explicites. --- # Conclusion GO MCO prévu en début de semaine prochaine ! Les silences sur les stacks mon3/mon4 seront retirés. L'envoi des métriques sur mon1/mon2 sera désactivé dès que possible. Le démantèlement des stacks mon1/mon2 sera planifié ultérieurement. <style type="text/css"> p { font-size: 0.8em; } .reveal ul li { font-size: 0.8em; } .reveal ul ul li { font-size: 0.6em; } .reveal ol li { font-size: 0.8em; } .reveal section { text-align: left; } } .reveal h3 { color: orange; text-align: center; border-bottom: 1px solid orange; font-size: 1em; } .reveal h1 { color: orange; text-align: center; border-bottom: 1px solid orange; margin-bottom: 0.4em; font-size: 1.2em; } .reveal code { color: aquamarine; font-size: smaller; } .prez-slide-title-page div { text-align: center; } .prez-slide-ruler-querier div { font-size: smaller; } .prez-slide-ruler-topologie div { font-size: smaller; } .prez-slide-ruler-metrologie div { font-size: smaller; } .prez-slide-deja-en-prod div { font-size: smaller; } .prez-slide-schema-architecture div { text-align: center; } .prez-slide-conclusion div { font-size: smaller; } .prez-slide-graph svg { width: 40%; } .prez-slide-pas-parle-de ul li { font-size: 0.6em; } h2.prez-slide-qui { margin: 0; font-size: .2em; text-align: right; color: white; } </style>
{"type":"slide","slideOptions":{"transition":"slide","center":true}}