Hé, il se passe quelque chose…

L'état actuel des choses

Donc vous êtes arrivé si loin dans la série, bien. Vous avez votre cluster Elasticsearch, vos battements d'envoi de données et Kibana est configuré avec de jolis tableaux de bord. C'est très bien mais c'est un samedi soir et une mauvaise mise à jour du système a fait tomber l'un de vos nœuds et les deux autres gèrent à peine la charge.

Un peu de fond d'abord

ODFE est livré avec le plugin d'alerte préinstallé. Cela nous permet de mettre en place des alertes lorsque certaines conditions sont remplies.

Il existe trois façons de configurer des alertes dans ODFE: les graphiques visuels, les requêtes d'extraction et le détecteur d'anomalies.

Le premier est assez explicite, nous allons donc nous concentrer sur les requêtes d'extraction. Le détecteur d'anomalies est un sujet intéressant mais sortant du cadre de cette série.

Les alertes comportent trois sections importantes: les moniteurs, les déclencheurs et les actions. Un moniteur est une requête qui est exécutée chaque certain laps de temps, chaque moniteur a un certain nombre de déclencheurs. Un déclencheur est une condition évaluée en fonction de la réponse de la requête d'extraction du moniteur. Lorsqu'une condition de déclenchement est évaluée à vrai, un certain nombre d'actions seront exécutées.

En termes simples:

  • Moniteur: Combien d'e-mails non lus ai-je?
  • Déclencheur: e-mails> 5
  • Action: envoyer un message détendu

Avant de commencer, nous devons définir une destination pour les notifications. Dans la section Autres informations utiles , vous trouverez un lien pour ajouter une application Webhook entrante à Slack. Prenez note de l'URL du webhook.

Allez dans la section Alertes, allez dans l'onglet Destinations et cliquez sur «Ajouter une destination». Donnez-lui un nom, sélectionnez "Slack" comme type et collez-y l'URL de votre webhook.

ODFE a récemment publié des notifications par e-mail et prend également en charge les webooks personnalisés pour d'autres applications de messagerie comme les équipes.

Une fois que vous avez terminé, cliquez sur «Créer».

Configurer un moniteur

Pour commencer avec les alertes, nous avons besoin d'une requête. Une requête Elastcsearch de base ressemble à ceci:

Utilisation moyenne de la mémoire au cours des 5 dernières minutes

Heureusement, vous n'avez pas besoin d'écrire tout cela pour chaque requête. La section de visualisation est essentiellement un éditeur de requêtes visuelles.

Puisque ce que nous voulons est un simple nombre, nous pouvons utiliser la visualisation métrique. Changez l'agrégation en «moyenne», sélectionnez «system.memory.actual.used.pct» comme champ, cliquez sur mettre à jour et vous avez pratiquement terminé.

Nous devons maintenant obtenir la requête. Près du bouton «Enregistrer», il y aura un bouton «inspecter». Cliquez dessus et changez l'option en haut à droite avec le nom «Afficher: Données» en «Afficher: Demandes» en cliquant dessus et en sélectionnant l'option dans la liste déroulante. Kibana vous montrera trois onglets: Statistiques (très utiles pour mesurer les performances des requêtes), Requête et Réponse. Cliquez sur Demande puis sur l'icône de copie en haut à droite de l'onglet Demande.

Continuez à coller cette requête dans votre éditeur de code préféré.

Nous pouvons maintenant procéder à la création d'une alerte. Allez dans la section Alertes et cliquez sur l'onglet Moniteurs. Cliquez sur créer un moniteur, donnez-lui un nom et sélectionnez «Définir à l'aide de la requête d'extraction» dans le menu déroulant «Méthode de définition».

Dans la liste déroulante de l'index, saisissez «metricbeat- *» et appuyez sur Entrée. Cela divisera l'espace ci-dessous en deux. Sur la gauche, vous définissez une requête et sur la droite vous verrez la réponse après avoir cliqué sur «Exécuter».

Remplacez la requête existante par celle que vous avez obtenue de la visualisation et cliquez sur le bouton «Exécuter» dans le coin supérieur droit.

Votre réponse devrait ressembler à ceci:

Le problème avec ceci est que si vous l'exécutez dans une heure, le résultat sera le même. En effet, dans notre requête d'extraction, les dates sont statiques.

Voici notre problème:

Temps statique

Pour résoudre ce problème, modifiez la requête pour qu'elle ressemble à ceci:

Temps dynamique

Donc, si vous appuyez plusieurs fois sur le bouton «Exécuter», vous verrez que la valeur change.

Faites défiler vers le bas et cliquez sur «Créer», cela vous amènera à l'écran «Créer un déclencheur».

Créer un déclencheur

Pour commencer, définissez le nom du déclencheur et sélectionnez un niveau de gravité (cela est arbitraire). Ci-dessous, vous verrez la réponse pour la requête Monitor , et juste sous la réponse, vous aurez la condition de déclenchement . Par défaut, la condition de déclenchement sera «ctx.results [0] .hits.total.value> 0».

Pour l'instant, nous allons nous concentrer sur tout ce qui suit «ctx.results [0]». La requête par défaut évalue si le nombre de documents lus par la requête est supérieur à 0. Cela ne nous sert à rien, nous avons besoin de l'utilisation de la mémoire. Comme vous pouvez le voir, notre réponse a le champ aggregations.1.value qui est ce que nous voulons, alors changez votre condition de déclenchement en ceci:

"Ctx.results [0] .aggregations.1.value> 0"

Faites défiler un peu vers le bas et cliquez sur le bouton «Exécuter» et regardez la réponse à la condition de déclenchement passer à «vrai». Réglez maintenant la valeur après le signe «>» sur quelque chose comme 0,8 pour 80%, car la mémoire sera toujours supérieure à 0%.

Configurer une action

Sous le bouton «Exécuter», vous pourrez configurer des actions. Ici, vous pouvez notifier une destination avec un message.

Tout d'abord, donnez un nom à l'action et sélectionnez la destination que vous avez créée précédemment. Tapez un objet pour le message et faites défiler un peu vers le bas. Ici, vous verrez l'aperçu du message.

Nous voulons inclure des variables dans nos messages afin de ne pas avoir besoin de créer un déclencheur pour chaque serveur que nous avons. Pour inclure une variable de la réponse dans le message, utilisez le modèle suivant:

Exemple de message pour l'utilisation de la mémoire

Dans la partie droite de l'écran, il y a un bouton «Envoyer un message de test» pour tester votre destination.

Enfin, pour éviter une inondation de notifications en cas de problème, cliquez sur la case à cocher «Activer la limitation des actions» et entrez un nombre raisonnable de minutes à attendre avant d'envoyer une autre notification.

Pour conclure, cliquez sur créer.

Prochaines étapes

Dans le prochain et dernier volet de cette série, nous passerons en revue certains paramètres de performances et de disponibilité et je partagerai certaines choses que j'ai apprises à la dure.

Voir d'autres articles connexes .

Autres informations utiles

Webhooks entrants Slack

Suggested posts

Migration de Solr vers Opensearch

Migration de 100 millions de documents de solr vers opensearch

Migration de Solr vers Opensearch

Nous avons utilisé solr pour nos cas d'utilisation de recherche/flux/autosuggest/personnalisation e-commerce. Défis avec le cluster solr ELK est désormais livré avec une licence premium élastique.

Construire un système de détection d'anomalies de modèle non supervisé à grande échelle - Partie 2

Construire des modèles ML avec observabilité à grande échelle

Construire un système de détection d'anomalies de modèle non supervisé à grande échelle - Partie 2

Par Rajeev Prabhakar, Han Wang, Anindya Saha Dans notre blog précédent, nous avons discuté des différents défis auxquels nous avons été confrontés pour la surveillance des modèles et de notre stratégie pour résoudre certains de ces problèmes. Nous avons brièvement mentionné l'utilisation des scores z pour identifier les anomalies.

Related posts

Financement de l'élimination du carbone au cours de l'exercice 24

La répartition des demandes de crédits de Carbon180 selon les filières

Financement de l'élimination du carbone au cours de l'exercice 24

Par Alyson Lee, conseillère en gestion des affaires gouvernementales Le processus annuel d'affectation des crédits du gouvernement fédéral est au cœur de nos efforts pour financer l'élimination du dioxyde de carbone (CDR). Chaque année, Carbon180 soumet des demandes à divers bureaux du Congrès pour aider à orienter les flux de dollars de l'année prochaine.

3 façons éprouvées d'améliorer vos compétences en écriture

Les avantages de l'écriture et les stratégies pour vous aider à le faire

3 façons éprouvées d'améliorer vos compétences en écriture

En 2022, avec la sortie de GPT-3, la compétence en écriture semble devenir moins importante. Avec l'IA, les personnes ayant une mauvaise écriture peuvent également générer du personnel de qualité.

Learning at Work Week compte plus que vous ne le pensez

Learning at Work Week compte plus que vous ne le pensez

Nous avons souvent du mal à mettre en œuvre ce que nous savons être bon pour nous. Qu'il s'agisse de dire à un proche que nous l'aimons ou de se rappeler de parler comme un pirate, il y aura toujours ceux qui prétendent qu'un jour, une semaine ou un mois d'événements ne sont pas nécessaires parce qu'ils font déjà ces choses.

Réseau TV Twitter

Réseau TV Twitter

Ce qui est vieux est à nouveau nouveau et ce qui était autrefois la chose brillante et scintillante semble maintenant terne. Je ne parle pas du retour des jeans JNCO parmi les enfants cool du centre-ville avec d'autres modes de la fin des années 1990.