¿Qué hace elasticsearch-esql?
Ejecuta consultas ES|QL (Elasticsearch Query Language), úsalo cuando el usuario quiera consultar datos de Elasticsearch, analizar logs, agregar métricas, explorar datos o crear gráficos y paneles a partir de resultados ES|QL.
Descripción
Este skill permite al agente interactuar con Elasticsearch utilizando el lenguaje de consulta ES|QL. Está diseñado para facilitar el análisis de datos en tiempo real, la agregación de métricas y la exploración de información almacenada en índices de Elasticsearch.
Plataformas Soportadas
- Claude Code
- Cursor
- Codex
- Cualquier plataforma compatible con skills de IA
Cómo Funciona
- El usuario expresa su intención (por ejemplo, "muéstrame los últimos 10 logs de errores" o "calcula el promedio de latencia por servicio").
- El skill traduce esa intención a una consulta ES|QL.
- La consulta se ejecuta contra el clúster de Elasticsearch configurado.
- Los resultados se devuelven formateados para su análisis o visualización.
Parámetros de Entrada
query(string): Consulta ES|QL a ejecutar. Si no se proporciona, se genera automáticamente a partir del contexto.index(string): Índice o patrón de índice de Elasticsearch sobre el cual ejecutar la consulta.limit(int, opcional): Número máximo de resultados a devolver (por defecto 100).timeRange(string, opcional): Rango de tiempo para filtrar los datos (ej. "last 24h", "2023-01-01 to 2023-01-31").
Ejemplos de Uso
// Consulta simple: obtener los 10 documentos más recientes
FROM my-index
| SORT @timestamp DESC
| LIMIT 10
// Agregación: contar logs por nivel
FROM logs-*
| WHERE @timestamp >= NOW() - 1h
| STATS count = COUNT(*) BY log.level
// Análisis de métricas: promedio de duración por servicio
FROM metrics-*
| WHERE service.name IS NOT NULL
| STATS avg_duration = AVG(duration.ms) BY service.name
Configuración Requerida
El skill requiere acceso a un clúster de Elasticsearch con las siguientes variables de entorno:
ELASTICSEARCH_HOST: URL del clúster (ej.https://localhost:9200)ELASTICSEARCH_API_KEY: Clave de API para autenticación
Opcionalmente:
ELASTICSEARCH_USERNAMEyELASTICSEARCH_PASSWORDpara autenticación básica
Notas Adicionales
- ES|QL es sensible a mayúsculas en nombres de campos y comandos.
- Los resultados se devuelven en formato JSON estructurado para facilitar su procesamiento.
- Para consultas grandes, se recomienda usar
LIMITpara controlar el volumen de datos. - La documentación completa de ES|QL está disponible en elastic.co.
Contribuciones
Este skill es parte del ecosistema de skills de IA para Elasticsearch. Las contribuciones son bienvenidas siguiendo las guías de contribución del repositorio.