Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Come posso creare un modello di indice nel mio cluster del servizio OpenSearch di Amazon?
Desidero creare un modello di indice nel mio cluster del servizio OpenSearch di Amazon.
Breve descrizione
Per creare un modello di indice, il cluster deve soddisfare i seguenti prerequisiti:
-
L'utente deve disporre delle autorizzazioni PUT e POST per creare un modello di indice simile alla seguente policy di accesso:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "es:ESHttpHead", "es:ESHttpPost", "es:ESHttpGet", "es:ESHttpDelete", "es:ESHttpPut" ], "Resource": "arn:aws:es:<region>:<account-id>:domain/<domain-name>/*" } ] }
-
La versione del tuo cluster supporta il modello di indice.
Risoluzione
Segui queste istruzioni per creare un modello di indice per i cluster del servizio OpenSearch o Elasticsearch con o senza controllo granulare degli accessi (FGAC).
Crea un modello di indice per i cluster senza FGAC attivato
Cluster Elasticsearch
Esegui un comando simile al seguente:
curl -X POST https://elasticsearch-end-point/_plugin/kibana/api/saved_objects/index-pattern/ \ -H "kbn-xsrf: true" \ -H "content-type: application/json" \ -d '{ "attributes": { "title": "sample-index*" } }'
Cluster del servizio OpenSearch
Esegui un comando simile al seguente:
curl -X POST https://opensearch-end-point/_dashboards/api/saved_objects/index-pattern/ \ -H "kbn-xsrf: true" \ -H "content-type: application/json" \ -d '{ "attributes": { "title": "sample-index*" } }'
Crea un modello di indice per i cluster con FGAC attivato
Cluster Elasticsearch
Esegui il seguente comando curl per generare i cookie di autorizzazione nel file auth.txt:
curl -X POST https://elasticsearch-end-point/_plugin/kibana/auth/login \ -H "kbn-xsrf: true" \ -H "content-type: application/json" \ -d '{"username":"<username>", "password":"<password>"}' \ -c auth.txt
Quindi invia la richiesta di creazione del modello di indice:
curl -X POST https://elasticsearch-end-point/_plugin/kibana/api/saved_objects/index-pattern/test \ -H "kbn-xsrf: true" \ -H "content-type: application/json" \ -d '{ "attributes": { "title": "sample-index*" } }' \ -b auth.txt
Cluster del servizio OpenSearch
Esegui il seguente comando curl per generare i cookie di autorizzazione nel file auth.txt:
curl -X POST https://opensearch-end-point/_dashboards/auth/login \ -H "kbn-xsrf: true" \ -H "content-type: application/json" \ -d '{"username":"<username>", "password":"<password>"}' \ -c auth.txt
Quindi invia la richiesta di creazione del modello di indice:
curl -X POST https://opensearch-end-point/_dashboards/api/saved_objects/index-pattern/ \ -H "kbn-xsrf: true" \ -H "content-type: application/json" \ -d '{ "attributes": { "title": "sample-index*" } }' \ -b auth.txt
(Facoltativo) Client Python
Utilizzaa il seguente frammento di codice Python per creare il modello di indice:
import boto3 import requests from requests_aws4auth import AWS4Auth host = 'https://domain-endpoint/' # include trailing / region = 'es-region' # example us-west-1 service = 'es' credentials = boto3.Session().get_credentials() awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, region, service, session_token=credentials.token) path = '_dashboards/api/saved_objects/index-pattern' # _plugin/kibana/api/saved_objects/index-pattern for es versions url = host + path payload = {"attributes":{"title":"multi-logs-*","fields":"[]"}} headers = {"Content-Type": "application/json", "osd-xsrf": "true", "security_tenant": "global" } r = requests.post (url, auth=awsauth, json=payload, headers=headers) print(r.status_code) print(r.text)
Nota: è necessario che siano installate le seguenti dipendenze:
pip install boto3 pip install opensearch-py pip install requests pip install requests-aws4auth
Nota:
- il ruolo utilizzato per eseguire il frammento di codice deve corrispondere al ruolo supportato per i cluster FGAC.
- Per i cluster Elasticsearch, cambia il percorso in '_plugin/kibana/api/saved_objects/index-pattern'.
Risolvi i problemi più comuni relativi alla creazione di un modello di indice
Cluster FGAC che utilizzano l'autenticazione SAML o Amazon Cognito
Se il dominio del tuo cluster utilizza SAML o Amazon Cognito per l'autenticazione, crea un utente interno per gestire il modello di indice.
Nota: l'utente deve disporre delle autorizzazioni PUT e POST per creare un modello di indice. Questo requisito non è richiesto per i cluster senza FGAC attivato.
Crea un modello di indice in altri tenant
Per impostazione predefinita, i modelli di indice vengono creati nel tenant Global. Per creare un modello di indice al di fuori del tenant Global, esegui un comando curl simile al seguente:
curl -s -X POST https://opensearch-end-point/_dashboards/api/saved_objects/index-pattern/sample-index -d '{"attributes": {"title": "sample-index*"}}' \ -H "osd-xsrf:true" \ -H "securitytenant: private" \ -H "content-type:application/json" \ -b auth.txt
Alias .kibana mancante nel cluster
Controlla se l'alias .kibana esiste senza FGAC attivato nel cluster utilizzando il seguente comando curl:
curl -XGET https://opensearch-end-point/_cat/aliases
Controlla se l'indice .kibana esiste con FGAC attivato nel cluster utilizzando il seguente comando curl:
curl -XGET https://opensearch-end-point/_cat/aliases
Se l'indice .kibana non esiste, salta i passaggi 1-2 per creare un backup ed eliminare l'indice.
1. Crea un backup dell'indice .kibana:
curl -XPOST "https://domain-end-point/_reindex" -H 'Content-Type: application/json' -d' { "source": { "index": ".kibana" }, "dest": { "index": ".kibana_backup" } }'
2. Elimina l'indice .kibana:
curl -XDELETE "https://domain-end-point/.kibana"
3. Crea un alias .kibana e indirizzalo all'indice .kibana_backup:
curl -XPOST "https://domain-end-point/_aliases" -H 'Content-Type: application/json' -d' { "actions": [ { "add": { "index": ".kibana_backup", "alias": ".kibana" } } ] }'
**Nota:**Includi il parametro di autenticazione (username:password) per i cluster FGAC.
Informazioni correlate
Export and import Kibana dashboards with Amazon ES (Esporta e importa dashboard Kibana con Amazon ES)
Video correlati

