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à.
Monitoraggio dei OpenSearch log con Amazon CloudWatch Logs
Amazon OpenSearch Service espone i seguenti OpenSearch log tramite Amazon CloudWatch Logs:
Gli slow log degli shard di ricerca, gli slow log di indicizzazione degli shard e i log degli errori sono utili per la risoluzione dei problemi di prestazioni e stabilità. I log di verifica tengono traccia dell'attività degli utenti a fini di conformità Tutti i log sono disabilitati per impostazione predefinita. Se abilitata, si applica la tariffa standard. CloudWatch
Nota
I log degli errori sono disponibili solo per le versioni 5.1 OpenSearch e successive di Elasticsearch. Gli slow log sono disponibili per tutte OpenSearch le versioni e per quelle di Elasticsearch.
Per i suoi log, OpenSearch utilizza Apache Log4j 2TRACE
,,, e. DEBUG
INFO
WARN
ERROR
FATAL
Se abiliti i log degli errori, OpenSearch Service pubblica le righe di registro di, e to. WARN
ERROR
FATAL
CloudWatch OpenSearch Il servizio pubblica anche diverse eccezioni dal DEBUG
livello, tra cui le seguenti:
-
org.opensearch.index.mapper.MapperParsingException
-
org.opensearch.index.query.QueryShardException
-
org.opensearch.action.search.SearchPhaseExecutionException
-
org.opensearch.common.util.concurrent.OpenSearchRejectedExecutionException
-
java.lang.IllegalArgumentException
I log di errore possono aiutarti con la risoluzione dei problemi in molti casi, tra cui i seguenti:
-
Problemi di compilazione di script Painless
-
Query non valide
-
Problemi di indicizzazione
-
Snapshot non riuscite
-
Errori di migrazione di Index State Management
Nota
OpenSearch Il servizio non registra tutti gli errori che si verificano.
Argomenti
- Abilitazione della pubblicazione di log (console)
- Abilitazione della pubblicazione di log (AWS CLI)
- Abilitare la pubblicazione dei log ()AWS SDKs
- Abilitazione della pubblicazione di log (CloudFormation)
- Impostazione delle soglie di slow log delle richieste di ricerca
- Impostazione di soglie di slow log condivise
- Test degli slow log
- Visualizzazione dei registri
Abilitazione della pubblicazione di log (console)
La console OpenSearch di servizio è il modo più semplice per abilitare la pubblicazione dei log su. CloudWatch
Per abilitare la pubblicazione dei log su CloudWatch (console)
-
Andare all'indirizzo https://aws.amazon.com
e quindi scegliere Sign In to the Console (Accedi alla console). -
In Analytics, scegli Amazon OpenSearch Service.
-
Selezionare il dominio da aggiornare.
-
Nella scheda Log, seleziona un tipo di log e scegli Abilita.
-
Crea un nuovo gruppo di CloudWatch log o scegline uno esistente.
Nota
Se si pianifica di abilitare molteplici log, consigliamo di pubblicarli ognuno sul proprio gruppo di log. Questa separazione rende più semplice analizzare i log.
-
Scegli una politica di accesso che contenga le autorizzazioni appropriate o crea una politica utilizzando JSON quella fornita dalla console:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "es.amazonaws.com" }, "Action": [ "logs:PutLogEvents", "logs:CreateLogStream" ], "Resource": "
cw_log_group_arn
:*" } ] }Si consiglia di aggiungere le chiavi di condizione
aws:SourceAccount
eaws:SourceArn
alla policy per proteggersi dal problema del "confused deputy". L'account di origine è il proprietario del dominio e l'origine ARN è il ARN dominio. Per aggiungere queste chiavi di condizione, il dominio deve trovarsi sul software di servizio R20211203 o versioni successive.Ad esempio, è possibile aggiungere il seguente blocco di condizione alla policy:
"Condition": { "StringEquals": { "aws:SourceAccount": "
account-id
" }, "ArnLike": { "aws:SourceArn": "arn:aws:es:region
:account-id
:domain/domain-name
" } }Importante
CloudWatch Logs supporta 10 politiche di risorse per regione. Se si prevede di abilitare i log per diversi domini di OpenSearch servizio, è necessario creare e riutilizzare una politica più ampia che includa più gruppi di log per evitare di raggiungere questo limite. Per le fasi dell'aggiornamento della policy, consulta Abilitazione della pubblicazione di log (AWS CLI).
-
Scegli Abilita .
Lo stato del dominio cambia da Attivo a Elaborazione. Lo stato deve tornare su Attivo prima che venga abilitata la pubblicazione dei log. Questa modifica richiede in genere 30 minuti, ma può richiedere più tempo a seconda della configurazione del dominio.
Se hai abilitato uno degli shard slow log, vedi. Impostazione di soglie di slow log condivise Se sono stati abilitati i log di verifica, consultare Passaggio 2: attiva i registri di controllo nelle dashboard OpenSearch . Se sono stati abilitati solo i log di errore, non è necessario eseguire operazioni di configurazione aggiuntive.
Abilitazione della pubblicazione di log (AWS CLI)
Prima di poter abilitare la pubblicazione dei log, è necessario un gruppo di CloudWatch log. Se non se ne dispone già di uno, è possibile crearlo utilizzando il comando seguente:
aws logs create-log-group --log-group-name
my-log-group
Immettete il comando successivo per trovare quello del gruppo di logARN, quindi prendetene nota:
aws logs describe-log-groups --log-group-name
my-log-group
Ora puoi concedere al OpenSearch servizio le autorizzazioni di scrittura nel gruppo di log. È necessario fornire il gruppo di log ARN verso la fine del comando:
aws logs put-resource-policy \ --policy-name my-policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [{ "Sid": "", "Effect": "Allow", "Principal": { "Service": "es.amazonaws.com"}, "Action":[ "logs:PutLogEvents","logs:CreateLogStream"],"Resource": "
cw_log_group_arn
:*"}]}'
Importante
CloudWatch Logs supporta 10 politiche di risorse per regione. Se prevedi di abilitare gli shard slow log per diversi domini di OpenSearch servizio, dovresti creare e riutilizzare una politica più ampia che includa più gruppi di log per evitare di raggiungere questo limite.
Se è necessario rivedere questa policy in un secondo momento, utilizza il comando aws logs
describe-resource-policies
. Per aggiornare la policy, esegui lo stesso comando aws
logs put-resource-policy
con un nuovo documento di policy.
Infine, è possibile utilizzare l'opzione --log-publishing-options
per abilitare la pubblicazione. La sintassi dell'opzione è identica per entrambi i comandi create-domain
e update-domain-config
.
Parametro | Valori validi |
---|---|
--log-publishing-options |
SEARCH_SLOW_LOGS={CloudWatchLogsLogGroupArn= |
INDEX_SLOW_LOGS={CloudWatchLogsLogGroupArn= |
|
ES_APPLICATION_LOGS={CloudWatchLogsLogGroupArn= |
|
AUDIT_LOGS={CloudWatchLogsLogGroupArn= |
Nota
Se si pianifica di abilitare molteplici log, consigliamo di pubblicarli ognuno sul proprio gruppo di log. Questa separazione rende più semplice analizzare i log.
Esempio
L'esempio seguente consente la pubblicazione di slow log degli shard di ricerca e indicizzazione per il dominio specificato:
aws opensearch update-domain-config \ --domain-name my-domain \ --log-publishing-options "SEARCH_SLOW_LOGS={CloudWatchLogsLogGroupArn=arn:aws:logs:us-east-1:123456789012:log-group:my-log-group,Enabled=true},INDEX_SLOW_LOGS={CloudWatchLogsLogGroupArn=arn:aws:logs:us-east-1:123456789012:log-group:my-other-log-group,Enabled=true}"
Per disabilitare la pubblicazione su CloudWatch, esegui lo stesso comando con. Enabled=false
Se hai abilitato uno degli slow log dello shard, vedi. Impostazione di soglie di slow log condivise Se sono stati abilitati i log di verifica, consultare Passaggio 2: attiva i registri di controllo nelle dashboard OpenSearch . Se sono stati abilitati solo i log di errore, non è necessario eseguire operazioni di configurazione aggiuntive.
Abilitare la pubblicazione dei log ()AWS SDKs
Prima di poter abilitare la pubblicazione dei log, è necessario creare un gruppo di CloudWatch log, scaricarlo e concedere al OpenSearch Servizio le autorizzazioni di scrittura su di esso. ARN Le operazioni pertinenti sono documentate nell'Amazon CloudWatch Logs API Reference:
-
CreateLogGroup
-
DescribeLogGroup
-
PutResourcePolicy
Puoi accedere a queste operazioni utilizzando il. AWS SDKs
AWS SDKs(eccetto Android e iOSSDKs) supportano tutte le operazioni definite in Amazon OpenSearch Service API Reference, inclusa l'--log-publishing-options
opzione per CreateDomain
eUpdateDomainConfig
.
Se hai abilitato uno degli slow log dello shard, vedi. Impostazione di soglie di slow log condivise Se sono stati abilitati solo i log di errore, non è necessario eseguire operazioni di configurazione aggiuntive.
Abilitazione della pubblicazione di log (CloudFormation)
In questo esempio, creiamo CloudFormation un gruppo di log chiamatoopensearch-logs
, assegniamo le autorizzazioni appropriate e quindi creiamo un dominio con la pubblicazione dei log abilitata per i log delle applicazioni, gli slow log degli shard di ricerca e gli slow log di indicizzazione.
Prima di poter abilitare la pubblicazione dei log, è necessario creare un gruppo di log: CloudWatch
Resources: OpenSearchLogGroup: Type: AWS::Logs::LogGroup Properties: LogGroupName:
opensearch-logs
Outputs: Arn: Value: 'Fn::GetAtt': - OpenSearchLogGroup - Arn
Il modello restituisce il file ARN del gruppo di log. In questo caso, il valore di ARN è arn:aws:logs:us-east-1:123456789012:log-group:opensearch-logs
.
UtilizzandoARN, crea una politica delle risorse che fornisca al OpenSearch Servizio le autorizzazioni di scrittura nel gruppo di log:
Resources: OpenSearchLogPolicy: Type: AWS::Logs::ResourcePolicy Properties: PolicyName:
my-policy
PolicyDocument: "{ \"Version\": \"2012-10-17\", \"Statement\": [{ \"Sid\": \"\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"es.amazonaws.com\"}, \"Action\":[ \"logs:PutLogEvents\",\"logs:CreateLogStream\"],\"Resource\": \"arn:aws:logs:us-east-1:123456789012:log-group:opensearch-logs:*\"}]}"
Infine, crea il seguente CloudFormation stack, che genera un dominio di OpenSearch servizio con pubblicazione dei log. La politica di accesso consente all'utente di Account AWS effettuare tutte le HTTP richieste al dominio.
Resources: OpenSearchServiceDomain: Type: "AWS::OpenSearchService::Domain" Properties: DomainName:
my-domain
EngineVersion: "OpenSearch_1.0" ClusterConfig: InstanceCount: 2 InstanceType: "r6g.xlarge.search" DedicatedMasterEnabled: true DedicatedMasterCount: 3 DedicatedMasterType: "r6g.xlarge.search" EBSOptions: EBSEnabled: true VolumeSize: 10 VolumeType: "gp2" AccessPolicies: Version: "2012-10-17" Statement: Effect: "Allow" Principal: AWS: "arn:aws:iam::123456789012
:user/es-user" Action: "es:*" Resource: "arn:aws:es:us-east-1:123456789012
:domain/my-domain
/*" LogPublishingOptions: ES_APPLICATION_LOGS: CloudWatchLogsLogGroupArn: "arn:aws:logs:us-east-1:123456789012
:log-group:opensearch-logs" Enabled: true SEARCH_SLOW_LOGS: CloudWatchLogsLogGroupArn: "arn:aws:logs:us-east-1:123456789012
:log-group:opensearch-logs" Enabled: true INDEX_SLOW_LOGS: CloudWatchLogsLogGroupArn: "arn:aws:logs:us-east-1:123456789012
:log-group:opensearch-logs" Enabled: true
Per informazioni dettagliate sulla sintassi, consultare Opzioni di pubblicazione dei log nella Guida per l'utente di AWS CloudFormation
Impostazione delle soglie di slow log delle richieste di ricerca
Gli slow log delle richieste di ricerca
È possibile specificare gli slow log delle richieste di ricerca con le impostazioni del cluster. Ciò è diverso dagli shard slow log, che puoi abilitare con le impostazioni dell'indice. Ad esempio, è possibile specificare le seguenti impostazioni tramite: OpenSearch REST API
PUT
domain-endpoint
/_cluster/settings { "transient": { "cluster.search.request.slowlog.threshold.warn": "5s", "cluster.search.request.slowlog.threshold.info": "2s" } }
Impostazione di soglie di slow log condivise
OpenSearch disabilita gli slow log degli shard
Ad esempio, è possibile specificare queste impostazioni tramite: OpenSearch REST API
PUT
domain-endpoint
/index
/_settings { "index.search.slowlog.threshold.query.warn": "5s", "index.search.slowlog.threshold.query.info": "2s" }
Test degli slow log
Per verificare che sia la richiesta di ricerca che gli shard slow log vengano pubblicati correttamente, è consigliabile iniziare con valori molto bassi per verificare che i log vengano visualizzati CloudWatch, e quindi aumentare le soglie portandole a livelli più utili.
Se i log non vengono visualizzati, verificare quanto segue:
-
Il gruppo di log esiste? CloudWatch Controlla la CloudWatch console.
-
Il OpenSearch servizio dispone delle autorizzazioni per scrivere nel gruppo di log? Controlla la console OpenSearch di servizio.
-
Il dominio del OpenSearch servizio è configurato per la pubblicazione nel gruppo di log? Controlla la console di OpenSearch servizio, utilizza l' AWS CLI
describe-domain-config
opzione o chiamaDescribeDomainConfig
utilizzando una delleSDKs. -
Le soglie OpenSearch di registrazione sono sufficientemente basse da consentire alle tue richieste di superarle?
Per esaminare le soglie di slow log della richiesta di ricerca per un dominio, usa il seguente comando:
GET
domain-endpoint
/_cluster/settings?flat_settingsPer esaminare le soglie di slow log dello shard per un indice, utilizzate il seguente comando:
GET
domain-endpoint
/index
/_settings?pretty
Se desideri disattivare i log di query lente per un indice, ripristinare le soglie modificate sul valore predefinito di -1
.
La disattivazione della pubblicazione per l' CloudWatch utilizzo della console di OpenSearch servizio o AWS CLI non OpenSearch impedisce la generazione dei log; interrompe solo la pubblicazione di tali registri. Assicurati di controllare le impostazioni dell'indice se non hai più bisogno degli shard slow log e le impostazioni del dominio se non hai più bisogno degli slow log della richiesta di ricerca.
Visualizzazione dei registri
Visualizzare l'applicazione e gli slow log in CloudWatch è come visualizzare qualsiasi altro registro. CloudWatch Per ulteriori informazioni, consulta View Log Data nella Amazon CloudWatch Logs User Guide.
Di seguito sono elencate alcune considerazioni per la visualizzazione dei log:
-
OpenSearch Il servizio pubblica solo i primi 255.000 caratteri di ogni riga su. CloudWatch Il contenuto rimanente viene troncato. Per i log di verifica, sono possibili 10.000 caratteri per messaggio.
-
In CloudWatch, i nomi dei flussi di registro hanno il suffisso
-index-slow-logs
,-search-slow-logs
-application-logs
, e-audit-logs
per facilitare l'identificazione del contenuto.