Hoja de trucos de comandos de Curl ElasticSearch

Hoja de trucos de comandos de Curl ElasticSearch

  • Orquestación
5 min de lectura Actualizado Sep 30, 2024

Puntos clave: Los comandos comunes de curl de ElasticSearch simplifican tareas de gestión de datos como indexar, consultar y actualizar documentos. Estos comandos permiten a los usuarios interactuar eficientemente con la API RESTful de ElasticSearch.

  • ElasticSearch soporta mapeo dinámico de campos, lo que permite una exploración flexible de datos.
  • Los comandos incluyen crear, eliminar y listar índices, así como consultar documentos con parámetros URL o JSON.

Aquí mostramos algunos de los comandos de curl más comunes de ElasticSearch. ElasticSearch a veces está complicado. Así que aquí lo Haz sencillo.

Información de contexto

¿Qué están "curl"?

El acrónimo cURL, ahora frecuentemente escrito curl, significa client URL. Es una herramienta de línea de comandos que te permite transferir datos hacia o desde servidores web, APIs y otros dispositivos en red. Los desarrolladores consideran que están una herramienta esencial para su utiliza en proyectos de desarrollo web, para tareas de automatización y scripting, y para la gestión de sistemas informáticos.

Usando Comandos de curl ElasticSearch

Para la indexación y consulta de datos a gran escala, curl ElasticSearch están un potente motor de búsqueda y análisis distribuido. te puede acceder directamente a la API RESTful de ElasticSearch usando curl para Crea índices, buscar en documentos, actualizar datos y para gestionar computación en clústeres. Aquí están una hoja de trucos de comandos curl de ElasticSearch:

Ejemplo de rotación en Elasticsearch

Comandos de índices de ElasticSearch usando curl

Un índice ElasticSearch está un conjunto de signos que identifican y hacen referencia a un conjunto de documentos que son una colección de campos, todos conteniendo datos. Lo que lo hace elástico, en lugar de un esquema fijo, está que no te obligas a mapear todo con antelación. Te permite explorar tus datos sin que te te obligue a Define tus campos. Detecta y mapea tus campos dinámicamente.

Crea índice en ElasticSearch

El comando ElasticSearch que aparece a continuación crea un índice llamado index_name con la configuración predeterminada.

    curl -X PUT 'http://localhost:9200/index_name'

Eliminar un índice de ElasticSearch

Para eliminar un índice de ElasticSearch (en este caso, muestras nombradas), utiliza el siguiente comando curl:

    curl -X DELETE 'http://localhost:9200/samples'

Enumerar todos los índices

Para listar todos los índices en ElasticSearch, utiliza:

    curl -X GET 'http://localhost:9200/_cat/indices?v'

Lista toda la documentación en el índice

A continuación están una consulta de ElasticSearch con rotación para devolver todos los documentos de un índice:

    curl -X GET 'http://localhost:9200/sample/_search'

Mapeo de índices de listas

Todos los campos de ElasticSearch son índices. Así que este comando de curl de ElasticSearch lista todos los campos y sus tipos en un índice.

    curl -X GET http://localhost:9200/samples

Haz una copia de seguridad de un índice de ElasticSearch

    curl -XPOST --header 'Content-Type: application/json' http://localhost:9200/_reindex -d '{
"source": {
"index": "samples"
},
"dest": {
"index": "samples_backup"
}
}'

Cómo consultar ElasticSearch usando curl

Cuando te consultas ElasticSearch usando curl, te puedes utilizar parámetros de URL o enviar una solicitud HTTP Obtén con un cuerpo JSON que contenga la consulta. Aquí son ejemplos de ambos enfoques:

Consulta de curl de ElasticSearch usando parámetros de URL

A continuación están un simple curl para Obtén un ejemplo de comando de curl en ElasticSearch, útil para consultas y operaciones básicas. Aquí utilizamos el formato de consulta Lucene para escribir q=school:Harvard.

    curl -X GET http://localhost:9200/samples/_search?q=school:Harvard

Consulta con JSON, también conocida como ElasticSearch Query DSL

te puede consultar usando parámetros en la URL. Pero también te puede utiliza JSON para consultar ElasticSearch usando curl, como se muestra en el siguiente ejemplo. JSON sería más fácil de leer y depurar cuando te una consulta compleja que una cadena enorme de parámetros de URL.

    curl -XGET --header 'Content-Type: application/json' http://localhost:9200/samples/_search -d '{
"query" : {
"match" : { "school": "Harvard" }
}
}'

Consulta ElasticSearch devolviendo solo ciertos campos

Para devolver solo ciertos campos al consultar ElasticSearch usando curl, colócalos en el _source array:

    GET filebeat-7.6.2-2020.05.05-000001/_search
{
"_source": ["suricata.eve.timestamp","source.geo.region_name","event.created"],
"query": {
"match" : { "source.geo.country_iso_code": "GR" }
}
}

Consulta de ElasticSearch por fecha

Cuando el campo están del tipo "fecha", te puede utiliza fechar matemáticas, así:

    GET filebeat-7.6.2-2020.05.05-000001/_search
{
"query": {
"range" : {
"event.created": {
"gte" : "now-7d/d"
}
}
}
}

Comandos Curl put ElasticSearch

Añadir datos

El comando curl que aparece a continuación añade datos a un documento de ElasticSearch:

    curl -XPUT --header 'Content-Type: application/json' http://localhost:9200/samples/_doc/1 -d '{
"school" : "Harvard" 
}'

Actualización del documento

Aquí están cómo añadir campos a un documento existente de ElasticSearch. Primero, Crea un nuevo documento y luego lo actualizamos.

    curl -XPUT --header 'Content-Type: application/json' http://localhost:9200/samples/_doc/2 -d '
{
"school": "Clemson"
}'
curl -XPOST --header 'Content-Type: application/json' http://localhost:9200/samples/_doc/2/_update -d '{
"doc" : {
"students": 50000}
}'

Otros ejemplos útiles de comandos de curl de ElasticSearch

Carga masiva de datos en formato JSON

Así es como cargar datos en formato JSON en un clúster de ElasticSearch:

    export pwd="elastic:"
curl --user $pwd -H 'Content-Type: application/x-ndjson' -XPOST 'https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/0/_bulk?pretty' --data-binary @

Mostrar estado del clúster de ElasticSearch

El comando ElasticSearch curl xget que aparece a continuación utiliza formato JSON para comprobar el estado del clúster de ElasticSearch:

    curl --user $pwd -H 'Content-Type: application/json' -XGET https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/_cluster/health?pretty

Agregación y agregación por cubos

Para un servidor web nginx, este comando de agregación ElasticSearch genera el número de visitas web por ciudad de usuario:

    curl -XGET --user $pwd --header 'Content-Type: application/json' https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/logstash/_search?pretty -d '{
"aggs": {
"cityName": {
"terms": {
"field": "geoip.city_name.keyword",
"size": 50
}
}
}
}
'

Esto amplía eso a un recuento de código de respuesta de producto por ciudad en un registro de un servidor web nginx:

    curl -XGET --user $pwd --header 'Content-Type: application/json' https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/logstash/_search?pretty -d '{
"aggs": {
"city": {
"terms": {
"field": "geoip.city_name.keyword"
},
"aggs": {
"responses": {
"terms": {
"field": "response"
}
}
}
},
"responses": {
"terms": {
"field": "response"
}
}
}
}'

Uso de ElasticSearch con autenticación básica

Si te has activado la seguridad con ElasticSearch, entonces te necesario proporcionar el usuario y la contraseña que se muestra a continuación a cada comando curl:

    curl -X GET 'http://localhost:9200/_cat/indices?v' -u elastic:(password)

ElasticSearch de impresión bonita

Añade ?pretty=true a cualquier búsqueda para imprimir el JSON de forma bonita, así:

    curl -X GET 'http://localhost:9200/(index)/_search'?pretty=true

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de Orquestación

Suscríbete al Informe

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Gracias te

Tú te has suscrito a The Brief
El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.