Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation de modèles de filtres pour faire correspondre les termes dans les événements du journal JSON
Utilisez des modèles de filtre JSON lorsque vos journaux sont structurés au format JSON. Ces modèles vous permettent de cibler des champs et des valeurs spécifiques au sein d'objets JSON, ce qui les rend idéaux pour :
Journaux des applications : ciblez des types d'événements, des utilisateurs IDs ou des codes d'erreur spécifiques
AWS journaux de service : filtre CloudTrail, journaux de flux VPC ou autres journaux structurés AWS
Microservices : surveillez les applications conteneurisées qui produisent du JSON structuré
Utilisez-le par exemple { $.eventType = "UpdateTrail" }
pour rechercher des CloudTrail événements spécifiques ou { $.sourceIPAddress != 123.123.* }
pour identifier le trafic provenant de plages d'adresses IP inattendues.
Développez les sections suivantes et parcourez les onglets pour voir des exemples qui montrent comment créer des modèles de filtre JSON pour des scénarios de surveillance courants, qu'il s'agisse de modèles à condition unique de base ou d'expressions composées complexes.
Les exemples suivants montrent comment utiliser des modèles de filtre avec des événements de journal JSON dans des scénarios courants de surveillance et de résolution des problèmes. Chaque exemple inclut la syntaxe du modèle de filtre et les cas d'utilisation pratiques dans lesquels vous pourriez l'appliquer.
Ces modèles fonctionnent avec tous les journaux au format JSON provenant d'applications, de AWS services, de conteneurs ou de systèmes personnalisés. Vous pouvez les utiliser avec des filtres métriques pour créer des CloudWatch métriques, des filtres d'abonnement pour acheminer les journaux vers d'autres services ou avec Live Tail pour surveiller les journaux en temps réel.
Si vous testez un exemple de modèles de filtre avec l'exemple d'événement du journal JSON, vous devez saisir l'exemple de journal JSON sur une seule ligne.
Exemple d'événement de journal JSON à tester :
{
"eventType": "UpdateTrail",
"sourceIPAddress": "111.111.111.111",
"arrayKey": [
"value",
"another value"
],
"objectList": [
{
"name": "a",
"id": 1
},
{
"name": "b",
"id": 2
}
],
"SomeObject": null,
"cluster.name": "c"
}
- Monitor application events by type
-
Suivez des types d'événements spécifiques dans les journaux de vos applications JSON pour surveiller le comportement du système.
Schéma de filtre :
{ $.eventType = "UpdateTrail" }
Cas d'utilisation :
Surveillance des applications : suivre les actions spécifiques des utilisateurs ou les événements du système
Analyses commerciales : comptez les occurrences de types d'événements particuliers
Résolution des problèmes : concentrez-vous sur des opérations spécifiques lorsque vous étudiez les problèmes
Ce modèle fonctionne avec tous les journaux JSON contenant un champ EventType, tels que :
Journaux des applications : {"eventType": "UserLogin", "userId": "123"}
Journaux du système : {"eventType": "ConfigUpdate", "component": "database"}
Journaux de l'API : {"eventType": "UpdateTrail", "source": "cloudtrail"}
- Block suspicious IP addresses
-
Identifiez le trafic qui ne correspond pas aux modèles d'adresses IP attendus pour la surveillance de la sécurité.
Schéma de filtre :
{ $.sourceIPAddress != 123.123.* }
Cas d'utilisation :
Surveillance de la sécurité : recherche de requêtes provenant de plages d'adresses IP inattendues
Contrôle d'accès : surveillez le trafic en dehors de votre réseau d'entreprise
Détection des menaces : identification des tentatives d'accès non autorisées potentielles
- Track specific application events
-
Surveillez les valeurs spécifiques des tableaux JSON pour suivre le comportement des applications et les actions des utilisateurs.
Schéma de filtre :
{ $.arrayKey[0] = "value" }
Cas d'utilisation :
Suivi du comportement des utilisateurs : surveillez les actions spécifiques des utilisateurs dans les journaux des applications
Utilisation des fonctionnalités : suivre l'utilisation de fonctionnalités spécifiques de l'application
Analyse des erreurs : recherchez des journaux contenant des catégories d'erreurs spécifiques dans des tableaux
- Find events using pattern matching
-
Utilisez des modèles regex pour rechercher des événements avec une correspondance flexible pour les valeurs des champs.
Schéma de filtre :
{ $.eventType = %Trail% }
Cas d'utilisation :
Suivi flexible des événements : trouvez tous les événements contenant des modèles de texte spécifiques
Surveillance des API : suivez les familles d'API sans spécifier de noms exacts
Analyse du journal : recherchez des correspondances partielles dans les noms ou les descriptions des événements
- Monitor application data with wildcards
-
Utilisez des caractères génériques et des expressions régulières pour trouver des modèles spécifiques dans n'importe quel élément du tableau.
Schéma de filtre :
{ $.arrayKey[*] = %val.{2}% }
Cas d'utilisation :
Validation des données : trouvez des tableaux contenant des valeurs correspondant à des modèles spécifiques
Filtrage du contenu : surveillez le contenu généré par les utilisateurs pour détecter des modèles spécifiques
Assurance qualité : suivi de la conformité des formats de données dans les journaux des applications
- Track network traffic patterns
-
Surveillez les adresses IP dans des plages spécifiques à l'aide de modèles regex et de caractères génériques.
Schéma de filtre :
{ $.* = %111\.111\.111\.1[0-9]{1,2}% }
Cas d'utilisation :
Surveillance du réseau : suivi du trafic provenant de sous-réseaux IP spécifiques
Analyse de sécurité : surveillance de l'accès à partir de plages de réseaux spécifiques
Équilibrage de charge : analyse de la répartition du trafic entre les plages d'adresses IP
Quotas
Vous ne pouvez utiliser qu'un seul sélecteur de caractères génériques dans un sélecteur de propriétés.
- Handle JSON properties with special characters
-
Accédez aux propriétés JSON dont le nom contient des points ou d'autres caractères spéciaux.
Schéma de filtre :
{ $.['cluster.name'] = "c" }
Cas d'utilisation :
Surveillance de Kubernetes : suivi des noms de clusters dans les journaux de conteneurs
Suivi de la configuration : surveillez les paramètres avec des noms de propriété en pointillés
Intégration par des tiers : gérez les journaux des systèmes à l'aide de conventions de dénomination spéciales
- Find null or missing values
-
Surveillez les données manquantes ou les valeurs nulles susceptibles d'indiquer des problèmes d'application.
Schéma de filtre :
{ $.SomeObject IS NULL }
Cas d'utilisation :
Surveillance de la qualité des données : recherche des enregistrements dans lesquels les champs obligatoires sont manquants
Débogage de l'application : suivre l'absence de données attendues
Détection des erreurs : surveillez les réponses incomplètes à l'API ou les requêtes de base de données
- Detect missing configuration fields
-
Trouvez les journaux dans lesquels les champs attendus sont totalement absents, ce qui peut indiquer des problèmes de configuration.
Schéma de filtre :
{ $.SomeOtherObject NOT EXISTS }
Cas d'utilisation :
Validation de la configuration : assurez-vous que tous les champs obligatoires sont présents dans les journaux
Surveillance des API : suivi des demandes ou des réponses incomplètes
Surveillance du pipeline de données : recherche des enregistrements dont les champs de schéma attendus sont manquants
Les variables IS NOT
et EXISTS
ne sont actuellement pas prises en charge.
Utilisez des expressions composées lorsque vous devez combiner plusieurs conditions à l'aide des opérateurs logiques AND (« && ») et OR (« || »). Ces modèles vous aident à créer des règles de surveillance sophistiquées qui nécessitent le respect de plusieurs critères ou le déclenchement de plusieurs conditions.
Les expressions composées prennent en charge les parenthèses (« () ») et suivent l'ordre standard des opérations : () > && > ||. Utilisez ces modèles lorsque de simples filtres à condition unique ne suffisent pas à répondre à vos besoins de surveillance.
Exemple d'événement de journal JSON à tester :
{
"user": {
"id": 1,
"email": "John.Stiles@example.com"
},
"users": [
{
"id": 2,
"email": "John.Doe@example.com"
},
{
"id": 3,
"email": "Jane.Doe@example.com"
}
],
"actions": [
"GET",
"PUT",
"DELETE"
],
"coordinates": [
[0, 1, 2],
[4, 5, 6],
[7, 8, 9]
]
}
- Monitor specific user actions
-
Suivez les moments où des utilisateurs spécifiques exécutent des actions particulières en combinant l'identification des utilisateurs avec le suivi des actions.
Schéma de filtre :
{ ($.user.id = 1) && ($.users[0].email = "John.Doe@example.com") }
Cas d'utilisation :
Audit de sécurité : suivre le moment où des utilisateurs administrateurs spécifiques accèdent à des ressources sensibles
Surveillance de la conformité : assurez-vous que certains utilisateurs n'exécutent que des actions approuvées
Analyse du comportement des utilisateurs : surveillez les corrélations entre les attributs et les actions des utilisateurs
- Alert on any suspicious activity
-
Créez une surveillance étendue qui se déclenche lorsque l'une des nombreuses conditions préoccupantes se produit.
Schéma de filtre :
{ $.user.email = "John.Stiles@example.com" || $.coordinates[0][1] = "nonmatch" && $.actions[2] = "nonmatch" }
Cas d'utilisation :
Surveillance de la sécurité : alerte lorsque des utilisateurs spécifiques sont actifs OU lorsque des modèles de données inhabituels se produisent
État du système : surveillez l'une des différentes conditions d'erreur
Alertes flexibles : créez des règles fourre-tout pour divers scénarios préoccupants
- Require multiple conditions for alerts
-
Réduisez les faux positifs en exigeant le respect de plusieurs conditions spécifiques avant de déclencher des alertes.
Schéma de filtre :
{ ($.user.email = "John.Stiles@example.com" || $.coordinates[0][1] = "nonmatch") && $.actions[2] = "nonmatch" }
Cas d'utilisation :
Alertes hautement fiables : alerte uniquement lorsque plusieurs indicateurs suspects s'alignent
Règles métier complexes : surveillez les scénarios nécessitant plusieurs critères
Réduction du bruit : prévention des alertes liées à des événements isolés
Quotas
Vous ne pouvez utiliser qu'un seul sélecteur de caractères génériques dans un sélecteur de propriétés, et jusqu'à trois sélecteurs de caractères génériques dans un modèle de filtre avec des expressions composées.
- Monitor failed correlation attempts
-
Suivez les cas où les relations attendues entre les champs de données ne correspondent pas, ce qui peut indiquer des problèmes de qualité des données.
Schéma de filtre :
{ ($.user.id = 2 && $.users[0].email = "nonmatch") || $.actions[2] = "GET" }
Cas d'utilisation :
Validation des données : recherchez les enregistrements dont les champs connexes ne correspondent pas aux modèles attendus
Intégrité du système : surveillez les problèmes de corruption ou de synchronisation des données
Assurance qualité : suivre la rupture des relations entre les données