Types d’alertes
1. Alertes de recherche
1
2
Créer l’alerte
Depuis le panneau de création d’alerte, vous pouvez :- Attribuer un nom à la recherche enregistrée associée à l’alerte.
- Définir un seuil et préciser combien de fois il doit être atteint sur une période donnée. Les seuils peuvent également servir de bornes supérieures ou inférieures. La période détermine également la fréquence de déclenchement de l’alerte.
- Spécifier une valeur
grouped by. Cela permet de soumettre la recherche à une agrégation, par exempleServiceName, et donc de déclencher plusieurs alertes à partir de la même recherche. - Choisir une destination webhook pour les notifications. Vous pouvez ajouter un nouveau webhook directement depuis cette vue. Voir Ajouter un webhook pour plus de détails.
2. Alertes de graphiques sur tableau de bord
Pour qu’une alerte puisse être créée pour une visualisation sur un tableau de bord, le tableau de bord doit être enregistré.
1
Ouvrir la boîte de dialogue de modification du graphique
Ouvrez le menu de configuration du graphique et sélectionnez le bouton d’alerte. La boîte de dialogue de modification du graphique s’affiche.2
Ajouter l’alerte
Sélectionnez Add Alert.3
Définir les conditions de l’alerte
Définissez la condition (>=, >, <=, <, =, !=, <= x >=, > or <), le seuil, la durée et le webhook. La durée détermine également la fréquence de déclenchement de l’alerte.Vous pouvez ajouter un nouveau webhook directement depuis cette vue. Voir Ajouter un webhook pour plus de détails.Ajouter un webhook
Add New Webhook.
Cela ouvre la boîte de dialogue de création du webhook, dans laquelle vous pouvez créer un nouveau webhook :
Un nom de webhook est requis, tandis que la description est facultative. Les autres paramètres à renseigner dépendent du type de service.
Notez que les types de service disponibles diffèrent entre ClickStack Open Source et ClickStack Cloud. Voir Service type integrations.
Intégrations par type de service
- Slack : envoyez des notifications directement vers un canal via un webhook ou l’API.
- PagerDuty : acheminez les incidents vers les équipes d’astreinte via l’API PagerDuty.
- Webhook : connectez les alertes à n’importe quel système ou workflow personnalisé via un webhook générique.
Intégrations disponibles uniquement dans ClickHouse CloudLes intégrations Slack API et PagerDuty ne sont prises en charge que dans ClickHouse Cloud.
- URL du webhook. Par exemple :
https://hooks.slack.com/services/<unique_path>. Consultez la documentation Slack pour plus de détails.
- Jeton du bot Slack. Consultez la documentation Slack pour plus de détails.
- Clé d’intégration PagerDuty. Consultez la documentation PagerDuty pour plus de détails.
- URL du webhook
- En-têtes du webhook (facultatif)
- Corps du webhook (facultatif). Le corps prend actuellement en charge les variables de modèle
{{title}},{{body}}et{{link}}.
Gérer les alertes
- Barre rouge : la condition de seuil a été remplie lors de cette évaluation et l’alerte s’est déclenchée (notification envoyée)
- Barre verte : l’alerte a été évaluée, mais la condition de seuil n’a pas été remplie (aucune notification envoyée)
Suppression d’une alerte
Remove Alert supprimera l’alerte du graphique.
Alertes de graphiques basées sur SQL
Types de graphiques pris en charge
Les autres types de graphiques SQL (Table, Pie, Heatmap, etc.) ne prennent pas en charge les alertes.
Créer une alerte SQL
1
Créer ou ouvrir un graphique SQL sur un tableau de bord
À partir d’un tableau de bord enregistré, créez un nouveau graphique avec le mode SQL ou ouvrez un graphique SQL existant pour le modifier.Choisissez Line, Stacked Bar ou Number comme type d’affichage.2
Ajouter l’alerte
Sélectionnez Add Alert dans la section des alertes de l’éditeur de graphique. Configurez :- Threshold type :
>=(supérieur ou égal à),>(supérieur à),<=(inférieur ou égal à),<(inférieur à),=(égal à),!=(différent de),<= x >=(entre) ou> or <(en dehors de) - Threshold value : la valeur numérique de comparaison
- Interval : la fréquence d’évaluation de l’alerte (1m, 5m, 15m, 30m, 1h, 6h, 12h ou 1d). Cela définit également l’intervalle de temps de chaque évaluation.
- Webhook : le canal de notification à utiliser lorsque l’alerte se déclenche. Voir Ajouter un webhook.
3
Enregistrer le tableau de bord
Enregistrez le tableau de bord pour activer l’alerte. L’alerte commencera à être évaluée selon l’intervalle configuré.Comment les résultats de requête sont interprétés
- Colonne de valeur : la dernière colonne numérique de votre clause
SELECTest utilisée comme valeur d’alerte. Si votre requête renvoie plusieurs colonnes numériques (par ex.,count, avg_latency, p99_latency), seule la dernière (p99_latency) est comparée au seuil. - Colonne d’horodatage : pour les graphiques de séries temporelles (Line et Stacked Bar), le système identifie la colonne Date/DateTime dans vos résultats comme l’intervalle de temps (c.-à-d. l’axe des x d’un graphique de séries temporelles). La colonne de valeur de chaque intervalle de temps est évaluée indépendamment par rapport au seuil, et si la valeur de l’un de ces intervalles dépasse le seuil configuré, l’alerte se déclenche.
- Colonnes de groupe : toutes les colonnes qui ne sont ni numériques ni des colonnes d’horodatage (par ex.,
ServiceName,Environment) sont traitées comme des dimensions de regroupement. Lorsque des groupes sont présents, chaque combinaison unique de valeurs de groupe est suivie et fait l’objet d’une alerte distincte. ClickStack enverra une alerte pour chaque groupe dont la valeur dépasse le seuil configuré. Les groupes sont disponibles uniquement pour les graphiques de séries temporelles.
Paramètres de requête et macros
Paramètres requis et recommandés
{intervalSeconds:Int64}, {intervalMilliseconds:Int64}, $__timeInterval(col) ou $__timeInterval_ms(col)). Lors de l’exécution de l’alerte, ce paramètre sera remplacé par la période configurée de l’alerte.
Les requêtes utilisées pour les alertes devraient inclure un filtre d’intervalle de temps ({startDateMilliseconds:Int64} et {endDateMilliseconds:Int64}, ou $__timeFilter(col), etc.). Qu’un filtre d’intervalle de temps soit présent ou non dans la requête, la requête d’alerte s’exécutera sur la période configurée de l’alerte. S’il n’y a pas de filtre d’intervalle de temps, la requête lira alors l’intégralité de l’intervalle de temps disponible dans la table source à chaque exécution.
Exemples de requêtes d’alerte
Taux d’erreur par service (série temporelle)
>= 5 (se déclenche lorsque le taux d’erreur atteint 5 %)
Dans cette requête, ServiceName est une colonne qui n’est ni numérique ni de type horodatage ; chaque service est donc suivi dans un groupe d’alertes distinct. L’alerte se déclenche indépendamment pour chaque service.
Détection d’anomalies avec moyenne décalée (séries temporelles)
> 0 (se déclenche lorsqu’un excès d’erreurs au-dessus de la baseline glissante est détecté)
Notez que la requête récupère 30 intervalles avant le début de la plage de dates afin d’initialiser les calculs de fenêtre glissante, puis filtre le résultat final pour ne conserver que la fenêtre d’évaluation.
Scénarios d’alerte courants
All Error Events et HTTP Status >= 400 afin d’être averti en cas de
nombre excessif d’erreurs.
Opérations lentes : Vous pouvez également configurer une recherche pour les opérations lentes (par exemple,
duration:>5000), puis déclencher une alerte lorsqu’un trop grand nombre d’opérations lentes
surviennent.
Événements utilisateur : Vous pouvez aussi configurer des alertes pour que les équipes en contact avec les clients soient
averties lorsque de nouveaux utilisateurs s’inscrivent ou lorsqu’une action utilisateur critique est effectuée.