
Elasticsearch LogExporter
CertifiedEnterprise EditionBulk export logs to Elasticsearch
Elasticsearch LogExporter
Bulk export logs to Elasticsearch
Streams execution logs to an Elasticsearch index via the Bulk API. Uses rendered indexName and chunk for batching (default 1000 records per bulk request); document IDs are derived from log timestamps, so ensure index mappings accept the task log schema.
type: io.kestra.plugin.ee.elasticsearch.LogExporterExamples
Ship logs to Elasticsearch
id: log_shipper
namespace: company.team
triggers:
- id: daily
type: io.kestra.plugin.core.trigger.Schedule
cron: "@daily"
tasks:
- id: logSync
type: io.kestra.plugin.ee.core.log.LogShipper
logLevelFilter: INFO
batchSize: 1000
lookbackPeriod: P1D
logExporters:
- id: ElasticsearchLogExporter
type: io.kestra.plugin.ee.elasticsearch.LogExporter
connection:
hosts:
- "http://localhost:9200/"
indexName: "logs"
Properties
connection *RequiredNon-dynamic
Elasticsearch connection settings
Hosts, authentication, headers, and TLS options reused for all requests.
io.kestra.plugin.ee.elasticsearch.ElasticsearchConnection
1Elasticsearch hosts
HTTP/HTTPS endpoints with scheme and port, e.g. https://elasticsearch.com: 9200
Basic auth configuration
io.kestra.plugin.ee.elasticsearch.ElasticsearchConnection-BasicAuth
Basic auth password
Basic auth username
Extra HTTP headers
Rendered Name: Value pairs sent on every request, e.g. Authorization: Token XYZ
Request path prefix
Prefixes every endpoint (e.g. /my/base) for clusters behind a proxy that requires a base path
Fail on deprecation warnings
If true, any response with Elasticsearch warning headers is treated as an error
8Target Elasticsearch server major version
Major version used for compatibility headers (Accept and Content-Type). Set to 8 for Elasticsearch 8 clusters or 9 for Elasticsearch 9 clusters.
Trust all SSL certificates
WARNING — SECURITY RISK: When enabled, disables BOTH TLS certificate validation (TrustAllStrategy) AND hostname verification (NoopHostnameVerifier). This makes the connection vulnerable to man-in-the-middle attacks and must never be used in production. Prefer configuring a proper truststore for self-signed certificates instead.
id *RequiredNon-dynamicstring
^[a-zA-Z0-9][a-zA-Z0-9_-]*1indexName *Requiredstring
Target index name
Rendered per execution; index must accept the task log schema.
chunk integerstring
1000Bulk chunk size
Number of log documents per bulk request (default 1000); tune for throughput versus memory.
Metrics
records counter
The number of records sent to Elasticsearch
requests.count counter
The number of requests sent to Elasticsearch
requests.duration timer
The duration of the requests sent to Elasticsearch