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à.
Salva ed esegui nuovamente le query di Logs Insights CloudWatch
Dopo aver creato una query, è possibile salvarla in modo da poterla eseguire di nuovo in un secondo momento. Le interrogazioni vengono salvate in una struttura di cartelle, in modo da poterle organizzare. Puoi salvare fino a 1000 query per regione per account.
Le interrogazioni vengono salvate a un livello specifico della regione, non a un livello specifico dell'utente. Se si crea e si salva un'interrogazione, gli altri utenti con accesso ai CloudWatch registri nella stessa area possono visualizzare tutte le interrogazioni salvate e le relative strutture di cartelle nella regione.
Per salvare una query, è necessario accedere a un ruolo che dispone dell'autorizzazione logs:PutQueryDefinition. Per visualizzare un elenco di query salvate, è necessario accedere a un ruolo che dispone dell'autorizzazione logs:DescribeQueryDefinitions.
Nota
È possibile creare e salvare interrogazioni con parametri, ovvero modelli riutilizzabili con segnaposto denominati. Invece di salvare più varianti della stessa interrogazione con valori diversi, create un modello e fornite valori di parametro diversi quando lo eseguite. Questa funzionalità è attualmente supportata solo per le query che utilizzano il linguaggio di query Logs Insights. Per ulteriori informazioni, vedere Utilizzo delle interrogazioni salvate con parametri.
Suggerimento
Puoi creare una cartella per le query salvate conPutQueryDefinition. Per creare una cartella per le query salvate, utilizza una barra (/) per anteporre al nome della query desiderata il nome della cartella: <. Per ulteriori informazioni su questa azione, vedere. PutQueryDefinition folder-name>/<query-name>
Per salvare una nuova versione di una query salvata
Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/
. -
Nel pannello di navigazione scegli Logs (Registri), quindi Logs Insights.
-
A destra, scegliere Query.
-
Selezionare la query dall'elenco Saved queries (Query salvate). Viene visualizzata nell'editor di query.
-
Modificare la query. Se è necessario eseguire la query per controllare il proprio lavoro, scegliere Run query (Esegui query).
-
Quando si è pronti per salvare la nuova versione, scegliere Actions (Operazioni), Save as (Salva con nome).
-
Immettere un nome per la query.
-
(Facoltativo) Scegliere una cartella in cui si desidera salvare la query. Selezionare Create new (Crea nuova) per creare una cartella. Se si crea una nuova cartella, è possibile utilizzare i caratteri barra (/) nel nome della cartella per definire una struttura di cartelle. Ad esempio, la denominazione di una nuova cartella
folder-level-1/folder-level-2crea una cartella di livello superiore denominatafolder-level-1, con un'altra cartella chiamatafolder-level-2all'interno di tale cartella. La query viene salvata infolder-level-2. -
(Facoltativo) Modificare i gruppi di log o il testo della query.
-
Scegli Save (Salva).
Per eliminare una query, è necessario accedere a un ruolo che dispone dell'autorizzazione logs:DeleteQueryDefinition.
Per modificare o eliminare una query salvata
Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/
. -
Nel pannello di navigazione scegli Logs (Registri), quindi Logs Insights.
-
A destra, scegliere Query.
-
Selezionare la query dall'elenco Saved queries (Query salvate). Viene visualizzata nell'editor di query.
-
Scegliere Actions (Operazioni), Edit (Modifica) oppure Actions (Operazioni), Delete (Elimina).
Utilizzo di interrogazioni salvate con parametri
Le interrogazioni salvate con parametri sono modelli di query riutilizzabili con segnaposto denominati. Invece di conservare più copie di interrogazioni quasi identiche, è possibile salvare un modello e fornire valori di parametro diversi durante l'esecuzione della query. I parametri sono supportati solo nel linguaggio di interrogazione CloudWatch Logs Insights.
Come funziona
Quando si salva un'interrogazione, i segnaposto identificano i valori che è possibile fornire al momento dell'esecuzione della query. I segnaposti utilizzano la sintassi. {{parameterName}} Di seguito è riportato un esempio di interrogazione salvata denominata ErrorsByLevel con due parametri e. logLevel applicationName
fields @timestamp, @message | filter level = {{logLevel}} | filter applicationName = {{applicationName}}
Per eseguire un'interrogazione salvata, è possibile richiamarla utilizzando il nome dell'interrogazione preceduto da $ e passando i valori dei parametri. Il motore di query CloudWatch Logs Insights sostituisce ogni segnaposto. Se un parametro contiene valori predefiniti, tali valori vengono utilizzati se non vengono forniti altri valori.
# Run query by using query name and passing parameter values explicitly $ErrorsByLevel(logLevel = "WARN", applicationName = "OrderService") # Run query without specifying parameter values - default values are used in this case. $ErrorsByLevel()
I nomi delle interrogazioni salvate contenenti spazi o caratteri speciali devono essere racchiusi tra segni di spunta inversa:
$`Errors By Level`(logLevel = "WARN")
Esempi di interrogazioni salvate con parametri
Aggiungere un limite di risultati come parametro
Nome della query: ErrorsByLevel con parametri logLevel (default:"ERROR"), applicationName (default:"OrderService") e maxResults (default:50)
fields @timestamp, @message, @logStream | filter level = {{logLevel}} | filter applicationName = {{applicationName}} | sort @timestamp desc | limit {{maxResults}}
# Run the query using the query name and passing parameter values $ErrorsByLevel(logLevel = "WARN", applicationName = "OrderService", maxResults = 100)
Utilizzo di più interrogazioni salvate con parametri
L'esempio seguente utilizza ErrorsByLevel una seconda query salvata RecentN che è definita come sort @timestamp desc | limit {{count}} (con parametrocount, impostazione predefinita20). Il motore di query CloudWatch Logs Insights espande ogni query prima di eseguirla.
# Using multiple queries with parameters in sequence $ErrorsByLevel(logLevel = "WARN", applicationName = "OrderService") | $RecentN(count = 10) # Each of the queries is expanded, resulting in the following query when it is run. fields @timestamp, @message | filter level = "WARN" | filter applicationName = "OrderService" | sort @timestamp desc | limit 10
Quote e gestione degli errori
Nota
Ogni interrogazione salvata può avere un massimo di 20 parametri.
La stringa di query espansa non può superare i 10.000 caratteri. I nomi dei parametri devono iniziare con una lettera o un carattere di sottolineatura. Un'interrogazione salvata non può fare riferimento a un'altra interrogazione salvata (le chiamate annidate non sono supportate).
| Errore | Causa |
|---|---|
I parametri sono supportati solo per il linguaggio di interrogazione CWLI |
I parametri sono supportati solo nel linguaggio di query CloudWatch Logs Insights. |
Parametri obbligatori non trovati in QueryString |
Il nome di un parametro in |
Il numero di parametri supera il massimo di 20 |
Le interrogazioni salvate attualmente supportano solo 20 parametri. |
Nome di parametro duplicato |
La definizione della query contiene parametri duplicati. |
Nota
Per creare o aggiornare un'interrogazione salvata con parametri, è necessaria l'logs:PutQueryDefinitionautorizzazione. Per eseguirne una, è necessario logs:StartQuery elogs:DescribeQueryDefinitions.