Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
¿Cómo creo un patrón de índice en mi clúster de OpenSearch Service?
Quiero crear un patrón de índice en mi clúster de Amazon OpenSearch Service.
Resolución
Requisitos previos:
- El usuario de AWS Identity and Access Management (IAM) debe tener permisos PUT y POST para crear un patrón de índice. Ejemplo de política de acceso:
Nota: Sustituye region por tu región de AWS, account-id por el id. de tu cuenta de AWS y domain-name por el nombre de tu 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 versión de clúster debe permitir patrones de índice.
Creación del patrón de índice
Uso de Paneles de OpenSearch
Puedes usar Paneles de OpenSearch para crear un patrón de índice para los clústeres de OpenSearch Service o Elasticsearch con o sin control de acceso detallado. Para obtener instrucciones, consulta Creating an index pattern (Creación de un patrón de índice) en el sitio web de OpenSearch.
Usar los comandos curl
Para crear un patrón de índice para clústeres sin un control de acceso detallado, ejecuta el siguiente comando según el tipo de clúster.
Clústeres de 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: Sustituye sample-index por el nombre o patrón de tu índice.
Clústeres de 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*" } }'
Nota: Sustituye sample-index por el nombre o patrón de tu índice.
Para los clústeres con un control de acceso detallado, sigue estos pasos:
- Para generar cookies de autorización en el archivo auth.txt, ejecuta el siguiente comando según el tipo de clúster.
Clústeres de Elasticsearch:
Nota: Sustituye usernameexample por tu nombre de usuario y passwordexample por tu contraseña.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
Clústeres de OpenSearch Service:
Nota: Sustituye usernameexample por tu nombre de usuario y passwordexample por tu contraseña.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 la solicitud de creación de patrones de índice, ejecuta el siguiente comando según el tipo de clúster:
Clústeres de Elasticsearch:
Nota: Sustituye sample-index por el nombre o patrón de tu í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
Clústeres de OpenSearch Service:
Nota: Sustituye sample-index por el nombre o patrón de tu í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
Uso de Python
Requisitos previos:
- Asigna el rol que ejecuta el código Python al rol de backend para clústeres de control de acceso detallado.
- Ejecuta los siguientes comandos para instalar las dependencias necesarias:
pip install boto3 pip install opensearch-py pip install requests pip install requests-aws4auth
Ejecuta el siguiente comando de Python para crear el patrón de índice para los clústeres de 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: Sustituye domain-endpoint por el punto de enlace de tu dominio y aos-region por tu región. Para los clústeres de Elasticsearch, sustituye _dashboards/api/saved_objects/index-pattern por _plugin/kibana/api/saved_objects/index-pattern.
Solución de problemas de creación de patrones de índice
Utiliza un control de acceso detallado con la autenticación SAML 2.0 o Amazon Cognito
Si el dominio del clúster usa SAML 2.0 o Amazon Cognito para la autenticación, crea un usuario interno para administrar el patrón de índice.
Nota: En el caso de los clústeres en los que se ha activado un control de acceso detallado, el usuario debe tener los permisos ESHttpPut y ESHttpPost para crear un patrón de índice.
No puedes crear el patrón de índice en el inquilino global
De forma predeterminada, Paneles de OpenSearch crea patrones de índice en el inquilino global. Para crear un patrón de índice fuera del inquilino global, ejecuta el siguiente 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: Sustituye sample-index por el nombre o patrón de tu índice.
No incluiste el alias .kibana en el clúster
Para solucionar este problema, sigue estos pasos:
- Para comprobar si el alias**.kibana** existe en el clúster, ejecuta el siguiente comando:
Nota: Para los clústeres con un control de acceso detallado, incluye la marca -u con tu nombre de usuario y contraseña. Ejemplo de comando:curl -XGET https://opensearch-end-point/_cat/aliases
Si el índice .kibana no existe, continúa con el paso 4.curl -XPOST -u 'master-user:master-user-password' 'domain-endpoint/_cat/indices - Para crear una copia de seguridad del índice .kibana, ejecuta el siguiente comando:
Nota: Sustituye domain-endpoint por el punto de enlace de tu dominio. Para los clústeres con un control de acceso detallado, incluye la marca -u con tu nombre de usuario y contraseña.curl -XPOST "https://domain-endpoint/_reindex" -H 'Content-Type: application/json' -d'{ "source": { "index": ".kibana" }, "dest": { "index": ".kibana_backup" } }' - Para eliminar el índice .kibana, ejecuta el siguiente comando:
Nota: Sustituye domain-endpoint por el punto de enlace de tu dominio. Para los clústeres con un control de acceso detallado, incluye la marca -u con tu nombre de usuario y contraseña.curl -XDELETE "https://domain-endpoint/.kibana" - Para crear un alias .kibana y dirigirlo al índice .kibana_backup, ejecuta el siguiente comando:
Nota: Sustituye domain-endpoint por el punto de enlace de tu dominio. Para los clústeres con un control de acceso detallado, incluye la marca -u con tu nombre de usuario y contraseña.curl -XPOST "https://domain-endpoint/_aliases" -H 'Content-Type: application/json' -d'{ "actions": [ { "add": { "index": ".kibana_backup", "alias": ".kibana" } } ] }'
Información relacionada
Export and import Kibana dashboards with OpenSearch Service (Exportación e importación de paneles de Kibana con OpenSearch Service)
- Temas
- Analytics
- Etiquetas
- Amazon OpenSearch Service
- Idioma
- Español
Vídeos relacionados


Contenido relevante
- preguntada hace un mes
- Respuesta aceptadapreguntada hace 10 meses
- preguntada hace 4 meses
- preguntada hace 9 meses