Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Sintassi delle regole di Contributor Insights in CloudWatch
In questa sezione viene descritta la sintassi delle regole Contributor Insights. Utilizza questa sintassi solo durante la creazione di una regola immettendo un blocco JSON. Se utilizzi la procedura guidata per creare una regola, non è necessario conoscere la sintassi. Per ulteriori informazioni sulla creazione di regole utilizzando la procedura guidata, consulta Crea una regola Contributor Insights in CloudWatch.
Tutta la corrispondenza di regole per registrare i nomi e i valori dei campi degli eventi di log rileva la distinzione tra maiuscole e minuscole.
Nell'esempio seguente viene illustrata la sintassi per log JSON.
{ "Schema": { "Name": "CloudWatchLogRule", "Version": 1 }, "LogGroupNames": [ "API-Gateway-Access-Logs*", "Log-group-name2" ], "LogFormat": "JSON", "Contribution": { "Keys": [ "$.ip" ], "ValueOf": "$.requestBytes", "Filters": [ { "Match": "$.httpMethod", "In": [ "PUT" ] } ] }, "AggregateOn": "Sum" }
Campi nelle regole Contributor Insights
- Schema
-
Il valore di
Schemaper una regola che analizza CloudWatch i dati dei log deve sempre essere{"Name": "CloudWatchLogRule", "Version": 1} - LogGroupNames
-
Una matrice di stringhe. Per ogni elemento nella matrice, puoi utilizzare facoltativamente
*al termine di una stringa per includere tutti i gruppi di log con i nomi che iniziano con tale prefisso.Fai attenzione all'utilizzo di caratteri jolly con nomi di gruppi di log. Vengono addebitati i costi per ogni evento di log corrispondente a una regola. Se involontariamente si esegue una ricerca in più gruppi di log di quelli previsti, è possibile che vengano addebitati costi imprevisti. Per ulteriori informazioni, consulta la pagina CloudWatch dei prezzi di Amazon
. - LogGroupARNs
-
Se stai creando questa regola in un CloudWatch account di monitoraggio dell'osservabilità tra più account, puoi usarla
LogGroupARNsper specificare i gruppi di log negli account di origine collegati all'account di monitoraggio e per specificare i gruppi di log nell'account di monitoraggio stesso. Nella regola puoi specificareLogGroupNamesoLogGroupARNs, ma non entrambi.LogGroupARNsè una matrice di stringhe. Per ogni elemento della matrice, puoi utilizzare facoltativamente*come un carattere jolly in determinate situazioni. Ad esempio, puoi indicarearn:aws:logs:us-west-1:*:log-group/MyLogGroupName2per specificare i gruppi di log denominatiMyLogGroupName2in tutti gli account di origine e nell'account di monitoraggio, nella regione Stati Uniti occidentali (California settentrionale). Puoi inoltre indicarearn:aws:logs:us-west-1:111122223333:log-group/GroupNamePrefix*per specificare tutti i gruppi di log nella regione Stati Uniti occidentali (California settentrionale) al numero 111122223333 i cui nomi iniziano conGroupNamePrefix.Non è possibile specificare un ID AWS account parziale come prefisso con una wild card.
Fai attenzione all'uso di caratteri jolly con i gruppi di log. ARNs Vengono addebitati i costi per ogni evento di log corrispondente a una regola. Se involontariamente si esegue una ricerca in più gruppi di log di quelli previsti, è possibile che vengano addebitati costi imprevisti. Per ulteriori informazioni, consulta la pagina CloudWatch dei prezzi di Amazon
. - LogFormat
-
I valori validi sono
JSONeCLF. - Contributo
-
Questo oggetto include una matrice
Keyscon un massimo di quattro membri, facoltativamente un singoloValueOfe facoltativamente una matrice di un massimo di quattroFilters. - Chiavi
-
Una matrice di un massimo di quattro campi di log che vengono utilizzati come dimensioni per classificare i collaboratori. Se si immettono più chiavi, ogni combinazione univoca di valori per le chiavi viene conteggiata come un collaboratore univoco. I campi devono essere specificati utilizzando la notazione formato proprietà JSON.
- ValueOf
-
(Facoltativo) Specifica questa opzione solo durante la definizione di
Sumcome valore diAggregateOn.ValueOfspecifica un campo di log con valori numerici. In questo tipo di regola, i collaboratori vengono classificati in base alla somma del valore di questo campo, anziché al numero di occorrenze nelle voci di log. Ad esempio, Se si desidera ordinare i collaboratori in base alBytesSenttotale su un periodo, devi impostareValueOfsuBytesSente specificareSumperAggregateOn. - Filtri
-
Speciifica una matrice di un massimo di quattro filtri per restringere gli eventi di registro inclusi nel rapporto. Se si specificano più filtri, questi vengono valutati da Contributor Insights con un operatore AND logico. Puoi utilizzare questa opzione per filtrare gli eventi di log irrilevanti nella ricerca oppure per selezionare un singolo collaboratore per analizzarne il comportamento.
Ogni membro nella matrice deve includere un campo
Matche un campo che indica il tipo di operatore corrispondente da utilizzare.Il campo
Matchspecifica un campo di log da valutare nel filtro. Il campo di log viene specificato utilizzando la notazione del formato proprietà JSON.Il campo operatore corrispondente deve essere uno dei seguenti:
In,NotIn,StartsWith,GreaterThan,LessThan,EqualTo,NotEqualTooIsPresent. Se il campo operatore èIn,NotIn, oStartsWith, è seguito da una matrice di valori stringa da controllare. Contributor Insights valuta la matrice di valori stringa con un operatore OR. La matrice può includere fino a 10 valori stringa.Se il campo operatore è
GreaterThan,LessThan,EqualTo, oNotEqualTo, è seguito da un singolo valore numerico da confrontare.Se il campo operatore è
IsPresent, è seguito datrueofalse. Questo operatore corrisponde agli eventi di log a seconda che il campo di log specificato sia presente nell'evento di log.isPresentfunziona solo con i valori nel nodo foglia delle proprietà JSON. Ad esempio, un filtro che ricerca corrispondenze perc-countnon valuta un evento di log con un valore pari adetails.c-count.c1.Vedi i quattro esempi di filtro di seguito:
{"Match": "$.httpMethod", "In": [ "PUT", ] } {"Match": "$.StatusCode", "EqualTo": 200 } {"Match": "$.BytesReceived", "GreaterThan": 10000} {"Match": "$.eventSource", "StartsWith": [ "ec2", "ecs" ] } - AggregateOn
-
I valori validi sono
CounteSum. Specifica se aggregare il report in base a un conteggio di occorrenze o a una somma dei valori del campo specificato nel campoValueOf.
Notazione formato proprietà JSON
I campi Keys, ValueOf e Match seguono il formato della proprietà JSON con notazione punto, in cui $ rappresenta la radice dell'oggetto JSON. Questa è seguita da un punto e quindi da una stringa alfanumerica con il nome della proprietà secondaria. Sono supportati più livelli di proprietà.
Il primo carattere della stringa può essere solo A-Z o a-z. I caratteri seguenti della stringa possono essere A-Z, a-z o 0-9.
L'elenco seguente illustra esempi di formato validi della proprietà JSON
$.userAgent $.endpoints[0] $.users[1].name $.requestParameters.instanceId
Campo aggiuntivo nelle regole per log CLF
Gli eventi di log CLF (Common Log Format) non hanno nomi per i campi come per JSON. Per fornire i campi da utilizzare per le regole Contributor Insights, un evento di log CLF può essere gestito come matrice con un indice che inizia da 1. Puoi specificare il primo campo come "1" e il secondo campo come "2" e così via.
Per semplificare la lettura di una regola per un log CLF, puoi utilizzare Fields. Ciò consente di fornire un alias di denominazione per le posizioni dei campi CLF. Ad esempio, puoi specificare che la posizione "4" è un indirizzo IP. Una volta specificato, è·possibile utilizzare IpAddress come proprietà in Keys, ValueOf e Filters nella regola.
Di seguito è riportato un esempio di regola per un log CLF che utilizza il campo Fields.
{ "Schema": { "Name": "CloudWatchLogRule", "Version": 1 }, "LogGroupNames": [ "API-Gateway-Access-Logs*" ], "LogFormat": "CLF", "Fields": { "4": "IpAddress", "7": "StatusCode" }, "Contribution": { "Keys": [ "IpAddress" ], "Filters": [ { "Match": "StatusCode", "EqualTo": 200 } ] }, "AggregateOn": "Count" }