Comment cela fonctionne
Les log line actions s’exécutent au moment où AppSignal ingère vos logs, dans un ordre que vous définissez. Il en existe trois types :- metrics : enregistre une métrique à partir des lignes correspondantes.
- filter : supprime les lignes correspondantes pour qu’elles ne soient jamais stockées.
- trigger : déclenche une alerte et un incident lorsque la requête correspond.
Les log line actions n’affectent que les lignes ingérées après leur création. Elles ne modifient pas les logs déjà stockés.
Enregistrer la métrique dès l’arrivée des logs
Enregistrer la métrique à l’ingestion est ce qui rend la suppression sûre. Une métrique basée sur les logs construite depuis la page Logs lit des lignes de log déjà stockées ; une fois les lignes supprimées, il n’y a plus rien à lire. Une log line action de type metrics enregistre la valeur de chaque ligne à son arrivée, avant que le filter ne la supprime, si bien que le nombre est préservé.Avant de commencer, vous aurez besoin de
- AppSignal MCP configuré dans votre agent IA, avec un accès en écriture aux outils de logging
- Une source de log qui reçoit les lignes que vous souhaitez mesurer
- Une requête qui correspond à ces lignes
Étape 1 : Enregistrer une métrique à partir des lignes
Demandez à votre agent d’ajouter une action metrics. Par exemple, pour compter la fréquence des recherches dans votre catalogue :Sur MyStore production, ajoute une log line action metrics qui compte les lignes de log correspondant àCela appellemessage:searchsous forme de counter nommélog.catalog_searches, limitée à la source de log de l’application.
manage_log_line_action :
- Écrivez la requête dans la syntaxe de requête de log d’AppSignal, la même que celle de la page Logs.
message:searchcorrespond aux lignes dont le message contientsearch. Voir Query syntax. - Choisissez à quelles sources elle s’applique. Listez-les dans
source_ids, ou omettezsource_idspour appliquer l’action à toutes les sources. - Choisissez le type de métrique. Un
countercompte les lignes correspondantes et ne nécessite pas de champ. Ungaugeou unedistributionlit un nombre dans chaque ligne, donc nécessite unfieldindiquant quelle valeur lire.
Étape 2 : Vérifiez la métrique avant de supprimer quoi que ce soit
Attendez quelques lignes correspondantes, puis relisez la métrique :
Montre-moi le counter log.catalog_searches pour MyStore production sur les 15 dernières minutes.
Étape 3 : Supprimer les lignes correspondantes
Ajoutez une action filter avec la même requête :
Sur MyStore production, ajoute une log line action filter qui supprime les lignes de log correspondant à message:search.
Étape 4 : Gardez l’action metrics avant le filter
Les nouvelles actions sont ajoutées à la fin de l’ordre, donc le filter s’exécute déjà après l’action metrics. Confirmez l’ordre :Liste les log line actions sur MyStore production, et garde l’action metrics avant le filter.Cela utilise
get_app_resources pour lire l’ordre, et reorder_log_line_actions uniquement si le filter précède l’action metrics. Si le filter s’exécutait en premier, il supprimerait les lignes avant que l’action metrics ne les compte.
Vérifier que cela fonctionne
Laissez quelques minutes aux actions pour prendre effet, puis vérifiez les deux moitiés sur un petit échantillon :- Lisez la métrique. Le counter continue de monter à mesure que des lignes correspondantes arrivent.
- Cherchez dans vos logs les mêmes lignes. Les nouvelles n’apparaissent plus, parce que le filter les supprime.
Comportement et limites
- Les actions ne sont pas rétroactives. Elles n’agissent que sur les nouvelles lignes. Les logs stockés avant la création de l’action restent inchangés.
- Prévoyez quelques minutes. Une action nouvelle ou modifiée met un court instant à prendre effet. Les lignes qui arrivent dans les tout premiers instants peuvent ne pas être traitées par elle.
- Les lignes supprimées ne peuvent pas être récupérées. Conservez la métrique — ainsi qu’une action trigger si vous souhaitez des alertes — afin que le filter ne supprime jamais la seule trace d’un événement.
- Les deux requêtes sont indépendantes. Comptez un ensemble de lignes et supprimez-en un autre si cela correspond à votre objectif. Pour compter et supprimer les mêmes lignes, utilisez la même requête pour les deux.
Voir aussi
- AppSignal MCP et la référence des outils MCP
- Métriques basées sur les logs, construites à partir des lignes de log stockées
- Ignorer les logs, pour éviter que votre intégration n’envoie ces lignes en premier lieu