Comment Glean fait évoluer sa capacité de surveillance dans le cloud

0
minutes de lecture
Comment Glean fait évoluer sa capacité de surveillance dans le cloud

Table des matières

Vous avez des questions ou souhaitez une démo ?

Nous sommes là pour vous aider ! Cliquez sur le bouton ci-dessous et nous vous recontacterons.

Demander une démo
Partager cet article :

Glean utilise un modèle mono-tenant (fournissant à chaque client un projet GCP dédié) pour déployer nos services et offrir la meilleure expérience de sécurité possible. L'un des grands défis auxquels nous sommes confrontés est toutefois la surveillance et l'exploitation de plusieurs projets GCP à mesure que notre base de clients s'agrandit. De multiples alertes pour des projets GCP distincts peuvent se déclencher simultanément, ce qui rend la gestion difficile.

L'Error Reporting de Google rencontre le même problème — où la même exception applicative peut survenir dans plusieurs projets GCP en même temps. Dans cet article, nous verrons comment nous utilisons notre outil Notification Dispatcher pour faire évoluer notre capacité de surveillance dans le Cloud.

Principaux défis

Afin de gérer efficacement plusieurs projets GCP, nous devons maintenir une vue globale des notifications d'alerte et des exceptions applicatives sur l'ensemble de nos projets GCP. Cela nous aide à comprendre l'ampleur de la propagation d'un problème de production à l'échelle mondiale, et nous permet de trier les problèmes de production de manière efficace.

La fonctionnalité Cloud Monitoring Alerting prend en charge de nombreux types de canaux de notification, mais elle ne prend pas en charge Jira. L'Error Reporting ne prenait pas en charge les notifications au moment du développement de l'outil Notification Dispatcher. Puisque Glean est une entreprise axée sur la recherche, nous souhaitons connecter ces importants services GCP liés à la production à d'autres applications SaaS comme Jira — et plus important encore, rendre l'information consultable et transformer les résolutions en connaissances partageables.

En plus de cela, nous développons de nombreuses fonctionnalités maison qui nous permettent de gérer ensemble les mêmes problèmes pour plusieurs projets.

Présentation de l'outil Notification Dispatcher

Notification Dispatcher est l'outil interne de Glean pour gérer les notifications d'alerte GCP et les erreurs de l'Error Reporting. Il est intégré à Cloud Monitoring et à l'Error Reporting comme source de notifications, et il est intégré à Slack, Jira et OpsGenie comme destinations de notifications.

Cet outil comporte quelques composants :

  • Error Reporting Crawler : un service App Engine Flex qui envoie des appels à l'API Error Reporting pour explorer les erreurs de tous nos projets GCP. Afin de respecter les quotas de l'API Error Reporting, nous utilisons une App Engine Task Queue pour explorer les erreurs par lots.
  • Alert Notification Receiver : implémenté comme un service App Engine Flex qui surveille un canal PubSub pour les notifications d'alerte. Toutes nos politiques d'alerte ont le canal PubSub ajouté comme canal de notification.
  • Notification Policy Rules : un fichier text proto où les ingénieurs de Glean peuvent spécifier comment faire correspondre les incidents d'alerte ou les erreurs et vers quelle(s) application(s) SaaS les transférer.
  • States Database : une base de données Cloud SQL qui stocke les incidents d'alerte collectés, les erreurs de l'Error Reporting et leurs états de distribution.
  • Notification Dispatcher : le moteur d'exécution qui traite toutes les notifications et les distribue selon les règles de politique de notification. Il est implémenté comme une bibliothèque cliente partagée qui est compilée à la fois dans les services Flex Error Reporting Crawler et Alert Notification Receiver.

Fonctionnalités avancées

Nous avons créé d'autres fonctionnalités intéressantes qui nous permettent de faire évoluer nos opérations dans le Cloud :

  • Intégration Jira : les ingénieurs de Glean peuvent utiliser l'outil pour spécifier quels composants Jira et quelles priorités Jira doivent être utilisés pour créer de nouveaux tickets Jira lorsque des incidents d'alerte ou des erreurs de l'Error Reporting sont reçus. Comme Glean indexe notre instance Jira, tous les incidents d'alerte et les erreurs deviennent consultables.
  • Déduplication des incidents et des erreurs : les règles de correspondance des notifications sont très flexibles et prennent en charge les expressions régulières, ce qui permet aux ingénieurs de Glean de dédupliquer les mêmes incidents d'alerte ou erreurs sans submerger les équipes d'ingénieurs. C'est particulièrement important lorsqu'il y a une avalanche d'alertes ou que le même problème survient dans plusieurs projets en même temps.‍
  • Mise en sourdine des notifications : nous avons développé cette fonctionnalité avant que GCP n'introduise la fonctionnalité pré-GA Notification Snooze. Elle permet même aux ingénieurs de Glean de mettre les alertes en sourdine par étiquettes d'incident d'alerte, ou de mettre en sourdine les alertes pour tout un projet.‍
  • Contrôle de la fréquence des notifications : les ingénieurs de Glean peuvent spécifier à quelle fréquence ils souhaitent recevoir des mises à jour vers les destinations de notification spécifiées. Cela évite que les alertes ne génèrent des mises à jour trop fréquemment.‍
  • Suppression des notifications : cette fonctionnalité est normalement utilisée lorsqu'un incident d'alerte de gravité plus élevée se déclenche et que nous souhaitons supprimer une alerte connexe de gravité plus faible.‍
  • Escalade automatique des notifications : les ingénieurs de Glean peuvent utiliser cette fonctionnalité pour augmenter les priorités OpsGenie ou Jira lorsque les critères spécifiés sont remplis. Cela signifie normalement qu'un problème s'est largement propagé et nécessite une attention immédiate.‍
  • Regroupement des erreurs : nous avons introduit une empreinte d'erreur similaire à la manière dont le GCP Error Reporting regroupe les erreurs. Cette technique utile nous permet de regrouper les erreurs GCP sur plusieurs projets. En outre, les ingénieurs de Glean peuvent utiliser les règles de politique de notification pour faire correspondre les erreurs par message d'exception, frame ou trace de pile dans tous nos langages de programmation.

Points à retenir

L'outil Notification Dispatcher a considérablement amélioré notre productivité depuis son lancement. Il offre à nos ingénieurs un mécanisme pour consolider les signaux de production de l'ensemble de nos projets GCP et se concentrer sur les problèmes de production importants. Une fois ces notifications transférées vers Jira ou Slack, les ingénieurs peuvent Glean les informations et transformez les résolutions ou les discussions en connaissances.

Si vous souhaitez vous investir dans la mise à l'échelle de nos opérations dans le Cloud, consultez notre page Carrières – ou planifiez une démo pour découvrir ce que Glean peut faire pour vous.

Découvrez l'IA d'entreprise en action

Demander une démo
Demander une démo