Ship logs to Elasticsearch

This task is designed to send logs from kestra to an Elasticsearch database.

yaml
type: "io.kestra.plugin.ee.elasticsearch.LogExporter"

Ship logs to Elasticsearch

yaml
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

The connection properties.

Validation RegExp ^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length 1

The name of the index to send logs to

Default 1000

The chunk size for every bulk request.

Basic auth password.

Basic auth username.

SubType string
Min items 1

List of HTTP ElasticSearch servers.

Must be an URI like https://elasticsearch.com: 9200 with scheme and port.

Basic auth configuration.

SubType string

List of HTTP headers to be send on every request.

Must be a string with key value separated with : , ex: Authorization: Token XYZ.

Sets the path's prefix for every request used by the HTTP client.

For example, if this is set to /my/path, then any client request will become /my/path/ + endpoint. In essence, every request's endpoint is prefixed by this pathPrefix. The path prefix is useful for when ElasticSearch is behind a proxy that provides a base path or a proxy that requires all paths to start with '/'; it is not intended for other purposes and it should not be supplied in other scenarios.

Whether the REST client should return any response containing at least one warning header as a failure.

Trust all SSL CA certificates.

Use this if the server is using a self signed SSL certificate.