Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Come posso creare un modello di indice nel mio cluster del Servizio OpenSearch?
Desidero creare un modello di indice nel mio cluster del Servizio OpenSearch di Amazon.
Risoluzione
Prerequisiti:
- L'utente AWS Identity and Access Management (AWS IAM) deve avere le autorizzazioni PUT e POST per creare un modello di indice. Esempio di policy di accesso:
**Nota:**Sostituisci region con la tua Regione AWS, account-id con il tuo account AWS e domain-name con il nome del tuo dominio.{ "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 cluster deve consentire i modelli di indice.
Crea il modello di indice
Utilizza OpenSearch Dashboards
Puoi utilizzare OpenSearch Dashboards per creare un modello di indice per i cluster del Servizio OpenSearch o Elasticsearch con o senza controllo granulare degli accessi. Per istruzioni, consulta Creating an index pattern (Creazione di un modello di indice) sul sito web OpenSearch.
Utilizza i comandi curl
Per creare un modello di indice per i cluster senza controllo granulare degli accessi, esegui questo comando in base al tipo di cluster.
Cluster Elasticsearch:
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*" } }'
Nota: sostituisci sample-index con il nome o il modello del tuo indice.
Cluster del Servizio OpenSearch:
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*" } }'
Nota: sostituisci sample-index con il nome o il modello del tuo indice.
Per i cluster con controllo granulare degli accessi, completa i seguenti passaggi:
- Per generare cookie di autorizzazione nel file auth.txt, esegui questo comando in base al tipo di cluster.
Cluster Elasticsearch:
Nota: sostituisci usernameexample con il tuo nome utente e passwordexample con la tua password.curl -X POST https://elasticsearch-end-point/_plugin/kibana/auth/login \ -H "kbn-xsrf: true" \ -H "content-type: application/json" \ -d '{"username":"usernameexample", "password":"passwordexample"}' \ -c auth.txt
Cluster del Servizio OpenSearch:
Nota: sostituisci usernameexample con il tuo nome utente e passwordexample con la tua password.curl -X POST https://opensearch-end-point/_dashboards/auth/login \ -H "kbn-xsrf: true" \ -H "content-type: application/json" \ -d '{"username":"usernameexample", "password":"passwordexample"}' \ -c auth.txt - Per inviare la richiesta di creazione del modello di indice, esegui questo comando in base al tipo di cluster:
Cluster Elasticsearch:
Nota: sostituisci sample-index con il nome o il modello del tuo 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:
Nota: sostituisci sample-index con il nome o il modello del tuo 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
Utilizza Python
Prerequisiti:
- Mappa il ruolo che esegue il codice Python sul ruolo di backend per i cluster con controllo granulare degli accessi.
- Esegui questi comandi per installare le dipendenze richieste:
pip install boto3 pip install opensearch-py pip install requests pip install requests-aws4auth
Esegui questo comando Python per creare il modello di indice per i cluster OpenSearch Service:
import boto3 import requests from requests_aws4auth import AWS4Auth host = 'https://domain-endpoint/' # include trailing / region = 'aos-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: sostituisci domain-endpoint con l'endpoint del tuo dominio e aos-region con la tua Regione. Per i cluster Elasticsearch, sostituisci _dashboards/api/saved_objects/index-pattern con _plugin/kibana/api/saved_objects/index-pattern.
Risolvi i problemi relativi alla creazione del modello di indice
Utilizzi un controllo granulare degli accessi con l'autenticazione di SAML 2.0 o Amazon Cognito
Se il dominio del cluster utilizza SAML 2.0 o Amazon Cognito per l'autenticazione, crea un utente interno per gestire il modello di indice.
Nota: per i cluster in cui è stato attivato il controllo granulare degli accessi, l'utente deve avere le autorizzazioni ESHttpPut e ESHttpPost per creare un modello di indice.
Non puoi creare il modello di indice nel tenant Global
Per impostazione predefinita, OpenSearch Dashboards crea modelli di indice nel tenant Global. Per creare un modello di indice al di fuori del tenant Global, esegui questo comando:
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
Nota: sostituisci sample-index con il nome o il modello del tuo indice.
Non hai incluso l'alias .kibana nel cluster
Per risolvere il problema, completa i seguenti passaggi:
- Per verificare se l'alias .kibana esiste nel cluster, esegui questo comando:
Nota: per i cluster con controllo granulare degli accessi, includi il flag -u con il tuo nome utente e la tua password. Esempio di comando:curl -XGET https://opensearch-end-point/_cat/aliases
Se l'indice .kibana non esiste, procedi al passaggio 4.curl -XPOST -u 'master-user:master-user-password' 'domain-endpoint/_cat/indices - Per creare un backup dell'indice .kibana, esegui questo comando:
Nota: sostituisci domain-endpoint con l'endpoint del tuo dominio. Per i cluster con controllo granulare degli accessi, includi il flag -u con il tuo nome utente e la tua password.curl -XPOST "https://domain-endpoint/_reindex" -H 'Content-Type: application/json' -d'{ "source": { "index": ".kibana" }, "dest": { "index": ".kibana_backup" } }' - Per eliminare l'indice .kibana, esegui questo comando:
Nota: sostituisci domain-endpoint con l'endpoint del tuo dominio. Per i cluster con controllo granulare degli accessi, includi il flag -u con il tuo nome utente e la tua password.curl -XDELETE "https://domain-endpoint/.kibana" - Per creare un alias .kibana e indirizzarlo all'indice .kibana_backup, esegui questo comando:
Nota: sostituisci domain-endpoint con l'endpoint del tuo dominio. Per i cluster con controllo granulare degli accessi, includi il flag -u con il tuo nome utente e la tua password.curl -XPOST "https://domain-endpoint/_aliases" -H 'Content-Type: application/json' -d'{ "actions": [ { "add": { "index": ".kibana_backup", "alias": ".kibana" } } ] }'
Informazioni correlate
Export and import Kibana dashboards with Amazon ES (Esportazione e importazione di dashboard Kibana con il Servizio OpenSearch)
- Argomenti
- Analytics
- Lingua
- Italiano
Video correlati

