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.
Como faço para criar um padrão de índice no meu cluster do Amazon OpenSearch Service?
Quero criar um padrão de índice no meu cluster do Amazon OpenSearch Service.
Resolução
Pré-requisitos:
- O usuário do AWS Identity and Access Management (AWS IAM) deve ter permissões PUT e POST para criar um padrão de índice. Exemplo de política de acesso:
Observação: substitua region pela sua região da AWS, account-id pela sua conta da AWS e domain-name pelo nome do seu domínio.{ "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/*" } ] } - Sua versão do cluster deve permitir padrões de índice.
Crie o padrão de índice
Use os painéis do OpenSearch
É possível usar os painéis do OpenSearch para criar um padrão de índice para clusters do OpenSearch Service ou do Elasticsearch com ou sem controle de acesso refinado. Para obter instruções, consulte Creating an index pattern (Criação de um padrão de índice) no site do OpenSearch.
Use comandos curl
Para criar um padrão de índice para clusters sem controle de acesso refinado, execute o comando a seguir com base no tipo de cluster.
Clusters do 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*" } }'
Observação: substitua sample-index pelo nome ou padrão do índice.
Clusters do OpenSearch Service:
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*" } }'
Observação: substitua sample-index pelo nome ou padrão do índice.
Para clusters com controle de acesso refinado, conclua as seguintes etapas:
- Para gerar cookies de autorização no arquivo auth.txt, execute o seguinte comando com base no tipo de cluster.
Clusters do Elasticsearch:
Observação: substitua usernameexample por seu nome de usuário e passwordexample por sua senha.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
Clusters do OpenSearch Service:
Observação: substitua usernameexample por seu nome de usuário e passwordexample por sua senha.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 - Para enviar a solicitação de criação do padrão de índice, execute o seguinte comando com base no seu tipo de cluster:
Clusters do Elasticsearch:
Observação: substitua sample-index pelo nome ou padrão do índice.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
Clusters do OpenSearch Service:
Observação: substitua sample-index pelo nome ou padrão do índice.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
Use Python
Pré-requisitos:
- Mapeie o perfil que executa o código Python para o perfil de backend para clusters de controle de acesso refinado.
- Execute os seguintes comandos para instalar as dependências necessárias:
pip install boto3 pip install opensearch-py pip install requests pip install requests-aws4auth
Execute o seguinte comando Python para criar o padrão de índice para clusters do 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)
Observação: substitua domain-endpoint pelo endpoint do seu domínio e aos-region pela sua região. Para clusters do Elasticsearch, substitua _dashboards/api/saved_objects/index-pattern por _plugin/kibana/api/saved_objects/index-pattern.
Solucione problemas de criação de padrões de índice
Você usa controle de acesso refinado com autenticação SAML 2.0 ou Amazon Cognito
Se o domínio do seu cluster usa SAML 2.0 ou Amazon Cognito para autenticação, crie um usuário interno para gerenciar o padrão de índice.
Observação: para clusters em que você ativou o controle de acesso refinado, o usuário deve ter permissões ESHttpPut e ESHttpPost para criar um padrão de índice.
Não é possível criar o padrão de índice no locatário global
Por padrão, os painéis do OpenSearch cria padrões de índice sob o inquilino global. Para criar um padrão de índice fora do locatário global, execute o seguinte 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
Observação: substitua sample-index pelo nome ou padrão do índice.
Você não incluiu o alias .kibana no cluster
Para solucionar esse problema, conclua as seguintes etapas:
- Para verificar se o alias .kibana existe no cluster, execute o seguinte comando:
Observação: para clusters com controle de acesso refinado, inclua o sinalizador -u com seu nome de usuário e senha. Exemplo de comando:curl -XGET https://opensearch-end-point/_cat/aliases
Se o índice .kibana não existir, vá para a etapa 4.curl -XPOST -u 'master-user:master-user-password' 'domain-endpoint/_cat/indices - Para criar um backup do índice .kibana, execute o seguinte comando:
Observação: substitua domain-endpoint pelo endpoint do seu domínio. Para clusters com controle de acesso refinado, inclua o sinalizador -u com seu nome de usuário e senha.curl -XPOST "https://domain-endpoint/_reindex" -H 'Content-Type: application/json' -d'{ "source": { "index": ".kibana" }, "dest": { "index": ".kibana_backup" } }' - Para excluir o índice .kibana, execute o seguinte comando:
Observação: substitua domain-endpoint pelo endpoint do seu domínio. Para clusters com controle de acesso refinado, inclua o sinalizador -u com seu nome de usuário e senha.curl -XDELETE "https://domain-endpoint/.kibana" - Para criar um alias .kibana e apontá-lo para o índice .kibana_backup, execute o seguinte comando:
Observação: substitua domain-endpoint pelo endpoint do seu domínio. Para clusters com controle de acesso refinado, inclua o sinalizador -u com seu nome de usuário e senha.curl -XPOST "https://domain-endpoint/_aliases" -H 'Content-Type: application/json' -d'{ "actions": [ { "add": { "index": ".kibana_backup", "alias": ".kibana" } } ] }'
Informações relacionadas
Export and import Kibana dashboards with OpenSearch Service (Exportar e importar painéis do Kibana com o OpenSearch Service)
- Tópicos
- Analytics
- Idioma
- Português
Vídeos relacionados


Conteúdo relevante
- feita há 7 meses
- feita há 5 meses
- feita há 3 meses