yaml
type: "io.kestra.plugin.ee.core.log.logshipper"
Examples
yaml
id: logShipper
namespace: system
tasks:
- id: shipLogs
type: io.kestra.plugin.ee.core.log.LogShipper
logLevelFilter: INFO
lookbackPeriod: P1D
offsetKey: logShipperOffset
delete: false
logExporters:
- id: file
type: io.kestra.plugin.ee.core.log.FileLogExporter
- id: awsCloudWatch
type: io.kestra.plugin.ee.aws.cloudwatch.LogExporter
accessKeyId: "{{ secret('AWS_ACCESS_KEY_ID') }}"
secretKeyId: "{{ secret('AWS_SECRET_KEY_ID') }}"
region: us-east-1
logGroupName: kestra
logStreamName: production
- id: S3LogExporter
type: io.kestra.plugin.ee.aws.s3.LogExporter
accessKeyId: "{{ secret('AWS_ACCESS_KEY_ID') }}"
secretKeyId: "{{ secret('AWS_SECRET_KEY_ID') }}"
region: "{{ vars.region }}"
format: JSON
bucket: logbucket
logFilePrefix: kestra-log-file
maxLinesPerFile: 1000000
- id: googleOperationalSuite
type: io.kestra.plugin.ee.gcp.operationalsuite.LogExporter
projectId: my-gcp-project
- id: gcs
type: io.kestra.plugin.ee.gcp.gcs.LogExporter
projectId: myProjectId
format: JSON
maxLinesPerFile: 10000
bucket: my-bucket
logFilePrefix: kestra-log-file
chunk: 1000
- id: azureMonitor
type: io.kestra.plugin.ee.azure.monitor.LogExporter
endpoint: https://endpoint-host.ingest.monitor.azure.com
tenantId: "{{ secret('AZURE_TENANT_ID') }}"
clientId: "{{ secret('AZURE_CLIENT_ID') }}"
clientSecret: "{{ secret('AZURE_CLIENT_SECRET') }}"
ruleId: dcr-69f0b123041d4d6e9f2bf72aad0b62cf
streamName: kestraLogs
- id: azureBlobStorage
type: io.kestra.plugin.ee.azure.storage.LogExporter
endpoint: https://myblob.blob.core.windows.net/
tenantId: "{{ secret('AZURE_TENANT_ID') }}"
clientId: "{{ secret('AZURE_CLIENT_ID') }}"
clientSecret: "{{ secret('AZURE_CLIENT_SECRET') }}"
containerName: logs
format: JSON
logFilePrefix: kestra-log-file
maxLinesPerFile: 1000000
chunk: 1000
- id: datadog
type: io.kestra.plugin.ee.datadog.LogExporter
basePath: https://http-intake.logs.datadoghq.eu
apiKey: "{{ secret('DATADOG_API_KEY') }}"
- id: elasticsearch
type: io.kestra.plugin.ee.elasticsearch.LogExporter
indexName: kestra-logs
connection:
basicAuth:
password: "{{ secret('ES_PASSWORD') }}"
username: kestra_user
hosts:
- https://elastic.example.com:9200
- id: opensearch
type: io.kestra.plugin.ee.opensearch.LogExporter
indexName: kestra-logs
connection:
basicAuth:
password: "{{ secret('ES_PASSWORD') }}"
username: kestra_user
hosts:
- https://elastic.example.com:9200
- id: newRelic
type: io.kestra.plugin.ee.newrelic.LogExporter
basePath: https://log-api.newrelic.com
apiKey: "{{ secret('NEWRELIC_API_KEY') }}"
- id: openTelemetry
type: io.kestra.plugin.ee.opentelemetry.LogExporter
otlpEndpoint: http://otel-collector:4318/v1/logs
authorizationHeaderName: Authorization
authorizationHeaderValue: "Bearer {{ secret('OTEL_TOKEN') }}"
triggers:
- id: dailySchedule
type: io.kestra.plugin.core.trigger.Schedule
cron: "0 0 * * *"
disabled: true
Properties
logExporters *RequiredNon-dynamicFileLogExporterLogExporterLogExporterLogExporterLogExporterLogExporterLogExporterLogExporterLogExporterLogExporterLogExporterLogExporterLogExporter
Min items
1
delete booleanstring
executionId string
flowId string
logLevelFilter string
Default
INFO
lookbackPeriod string
Default
P1D
Format
duration
namespace string
offsetKey string
Definitions
io.kestra.core.http.client.configurations.TimeoutConfiguration
connectTimeout string
Format
duration
readIdleTimeout string
Default
PT5M
Format
duration
Ship logs to Elasticsearch
connection *RequiredElasticsearchConnection
id *Requiredstring
Validation RegExp
^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length
1
indexName *Requiredstring
type *Requiredobject
chunk integerstring
Default
1000
io.kestra.core.http.client.configurations.ProxyConfiguration
address string
password string
port integerstring
type string
Default
DIRECT
Possible Values
DIRECT
HTTP
SOCKS
username string
io.kestra.plugin.ee.opensearch.OpensearchConnection
hosts *Requiredarray
SubType string
basicAuth OpensearchConnection-BasicAuth
headers array
SubType string
pathPrefix string
strictDeprecationMode booleanstring
trustAllSsl booleanstring
Export logs to S3
bucket *Requiredstring
id *Requiredstring
Validation RegExp
^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length
1
region *Requiredstring
type *Requiredobject
accessKeyId string
chunk integerstring
Default
1000
endpointOverride string
format string
Default
JSON
Possible Values
ION
JSON
logFilePrefix string
Default
kestra-log-file
maxLinesPerFile integerstring
Default
100000
secretKeyId string
sessionToken string
stsEndpointOverride string
stsRoleArn string
stsRoleExternalId string
stsRoleSessionDuration string
Default
PT15M
Format
duration
stsRoleSessionName string
Export logs to Azure Monitor
endpoint *Requiredstring
id *Requiredstring
Validation RegExp
^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length
1
ruleId *Requiredstring
streamName *Requiredstring
type *Requiredobject
chunk integerstring
Default
1000
clientId string
clientSecret string
pemCertificate string
tenantId string
java.nio.charset.Charset
io.kestra.core.http.client.configurations.HttpConfiguration
allowFailed booleanstring
Default
false
allowedResponseCodes array
SubType integer
defaultCharset Charsetstring
Default
UTF-8
followRedirects booleanstring
Default
true
logs array
SubType string
Possible Values
REQUEST_HEADERS
REQUEST_BODY
RESPONSE_HEADERS
RESPONSE_BODY
proxy ProxyConfiguration
ssl SslOptions
timeout TimeoutConfiguration
io.kestra.core.models.tasks.Output
Export logs to AWS CloudWatch
id *Requiredstring
Validation RegExp
^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length
1
logGroupName *Requiredstring
logStreamName *Requiredstring
region *Requiredstring
type *Requiredobject
accessKeyId string
chunk integerstring
Default
1000
endpointOverride string
secretKeyId string
sessionToken string
stsEndpointOverride string
stsRoleArn string
stsRoleExternalId string
stsRoleSessionDuration string
Default
PT15M
Format
duration
stsRoleSessionName string
io.kestra.plugin.ee.elasticsearch.ElasticsearchConnection
hosts *Requiredarray
SubType string
Min items
1
basicAuth ElasticsearchConnection-BasicAuth
headers array
SubType string
pathPrefix string
strictDeprecationMode booleanstring
trustAllSsl booleanstring
io.kestra.core.http.client.configurations.BearerAuthConfiguration
type *Requiredobject
token string
Export logs to Splunk
host *Requiredstring
id *Requiredstring
Validation RegExp
^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length
1
token *Requiredstring
type *Requiredobject
chunk integerstring
Default
1000
options HttpConfiguration
source string
Default
Kestra
Export logs to a Google Cloud Storage
bucket *Requiredstring
id *Requiredstring
Validation RegExp
^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length
1
type *Requiredobject
chunk integerstring
Default
1000
format string
Default
JSON
Possible Values
ION
JSON
logFilePrefix string
Default
kestra-log-file
maxLinesPerFile integerstring
Default
100000
projectId string
scopes array
SubType string
Default
["https://www.googleapis.com/auth/cloud-platform"]
serviceAccount string
io.kestra.core.http.client.configurations.BasicAuthConfiguration
type *Requiredobject
password string
username string
Export logs to an Opentelemetry collector
id *Requiredstring
Validation RegExp
^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length
1
otlpEndpoint *Requiredstring
type *Requiredobject
chunk integerstring
Default
1000
Export logs to a Google Operational Suite
id *Requiredstring
Validation RegExp
^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length
1
type *Requiredobject
chunk integerstring
Default
1000
projectId string
scopes array
SubType string
Default
["https://www.googleapis.com/auth/cloud-platform"]
serviceAccount string
io.kestra.core.http.client.configurations.SslOptions
insecureTrustAllCertificates booleanstring
Ship logs to a file inside Kestra's internal storage.
id *Requiredstring
Validation RegExp
^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length
1
type *Requiredobject
format string
Default
ION
Possible Values
ION
JSON
logFilePrefix string
Default
kestra-log-file
maxLinesPerFile integerstring
Ship logs to a Datadog instance.
apiKey *Requiredstring
basePath *Requiredstring
id *Requiredstring
Validation RegExp
^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length
1
type *Requiredobject
chunk integerstring
Default
1000
options HttpConfiguration
service string
Default
LogExporter
source string
Default
Kestra
io.kestra.plugin.ee.elasticsearch.ElasticsearchConnection-BasicAuth
password string
username string
io.kestra.plugin.ee.opensearch.OpensearchConnection-BasicAuth
password string
username string
Ship logs to New Relic
apiKey *Requiredstring
basePath *Requiredstring
id *Requiredstring
Validation RegExp
^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length
1
type *Requiredobject
chunk integerstring
Default
1000
options HttpConfiguration
Export logs to Azure Blob Storage
containerName *Requiredstring
endpoint *Requiredstring
id *Requiredstring
Validation RegExp
^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length
1
type *Requiredobject
chunk integerstring
Default
1000
clientId string
clientSecret string
connectionString string
format string
Default
JSON
Possible Values
ION
JSON
logFilePrefix string
Default
kestra-log-file
maxLinesPerFile integerstring
Default
100000
pemCertificate string
sasToken string
tenantId string
Ship logs to Opensearch
connection *RequiredOpensearchConnection
id *Requiredstring
Validation RegExp
^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length
1
indexName *Requiredstring
type *Requiredobject
chunk integerstring
Default
1000