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
Schema
per 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
LogGroupARNs
per 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 specificareLogGroupNames
oLogGroupARNs
, 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/MyLogGroupName2
per specificare i gruppi di log denominatiMyLogGroupName2
in 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
JSON
eCLF
. - Contributo
-
Questo oggetto include una matrice
Keys
con un massimo di quattro membri, facoltativamente un singoloValueOf
e 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
Sum
come valore diAggregateOn
.ValueOf
specifica 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 alBytesSent
totale su un periodo, devi impostareValueOf
suBytesSent
e specificareSum
perAggregateOn
. - 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
Match
e un campo che indica il tipo di operatore corrispondente da utilizzare.Il campo
Match
specifica 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
,NotEqualTo
oIsPresent
. 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 datrue
ofalse
. Questo operatore corrisponde agli eventi di log a seconda che il campo di log specificato sia presente nell'evento di log.isPresent
funziona solo con i valori nel nodo foglia delle proprietà JSON. Ad esempio, un filtro che ricerca corrispondenze perc-count
non 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
Count
eSum
. 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" }