yaml
type: "io.kestra.plugin.ee.core.log.LogShipper"
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
Min items1
Definitions
id*Requiredstring
Validation RegExp^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length1
type*Requiredobject
formatstring
DefaultION
Possible Values
IONJSON
logFilePrefixstring
Defaultkestra-log-file
maxLinesPerFileintegerstring
host*Requiredstring
id*Requiredstring
Validation RegExp^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length1
token*Requiredstring
type*Requiredobject
chunkintegerstring
Default1000
options
allowFailedbooleanstring
Defaultfalse
allowedResponseCodesarray
SubTypeinteger
auth
type*Requiredobject
passwordstring
usernamestring
type*Requiredobject
tokenstring
basicAuthPasswordDeprecatedstring
basicAuthUserDeprecatedstring
connectTimeoutDeprecatedstring
Formatduration
connectionPoolIdleTimeoutDeprecatedstring
Formatduration
defaultCharsetstring
DefaultUTF-8
followRedirectsbooleanstring
Defaulttrue
logLevelDeprecatedstring
Possible Values
ALLTRACEDEBUGINFOWARNERROROFFNOT_SPECIFIED
logsarray
SubTypestring
Possible Values
REQUEST_HEADERSREQUEST_BODYRESPONSE_HEADERSRESPONSE_BODY
maxContentLengthDeprecatedinteger
proxy
addressstring
passwordstring
portintegerstring
typestring
DefaultDIRECT
Possible Values
DIRECTHTTPSOCKS
usernamestring
proxyAddressDeprecatedstring
proxyPasswordDeprecatedstring
proxyPortDeprecatedinteger
proxyTypeDeprecatedstring
Possible Values
DIRECTHTTPSOCKS
proxyUsernameDeprecatedstring
readIdleTimeoutDeprecatedstring
Formatduration
readTimeoutDeprecatedstring
Formatduration
ssl
insecureTrustAllCertificatesbooleanstring
timeout
connectTimeoutstring
Formatduration
readIdleTimeoutstring
DefaultPT5M
Formatduration
sourcestring
DefaultKestra
bucket*Requiredstring
id*Requiredstring
Validation RegExp^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length1
type*Requiredobject
chunkintegerstring
Default1000
formatstring
DefaultJSON
Possible Values
IONJSON
impersonatedServiceAccountstring
logFilePrefixstring
Defaultkestra-log-file
maxLinesPerFileintegerstring
Default100000
projectIdstring
scopesarray
SubTypestring
Default["https://www.googleapis.com/auth/cloud-platform"]
serviceAccountstring
id*Requiredstring
Validation RegExp^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length1
type*Requiredobject
chunkintegerstring
Default1000
impersonatedServiceAccountstring
projectIdstring
scopesarray
SubTypestring
Default["https://www.googleapis.com/auth/cloud-platform"]
serviceAccountstring
apiKey*Requiredstring
basePath*Requiredstring
id*Requiredstring
Validation RegExp^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length1
type*Requiredobject
chunkintegerstring
Default1000
options
allowFailedbooleanstring
Defaultfalse
allowedResponseCodesarray
SubTypeinteger
auth
type*Requiredobject
passwordstring
usernamestring
type*Requiredobject
tokenstring
basicAuthPasswordDeprecatedstring
basicAuthUserDeprecatedstring
connectTimeoutDeprecatedstring
Formatduration
connectionPoolIdleTimeoutDeprecatedstring
Formatduration
defaultCharsetstring
DefaultUTF-8
followRedirectsbooleanstring
Defaulttrue
logLevelDeprecatedstring
Possible Values
ALLTRACEDEBUGINFOWARNERROROFFNOT_SPECIFIED
logsarray
SubTypestring
Possible Values
REQUEST_HEADERSREQUEST_BODYRESPONSE_HEADERSRESPONSE_BODY
maxContentLengthDeprecatedinteger
proxy
addressstring
passwordstring
portintegerstring
typestring
DefaultDIRECT
Possible Values
DIRECTHTTPSOCKS
usernamestring
proxyAddressDeprecatedstring
proxyPasswordDeprecatedstring
proxyPortDeprecatedinteger
proxyTypeDeprecatedstring
Possible Values
DIRECTHTTPSOCKS
proxyUsernameDeprecatedstring
readIdleTimeoutDeprecatedstring
Formatduration
readTimeoutDeprecatedstring
Formatduration
ssl
insecureTrustAllCertificatesbooleanstring
timeout
connectTimeoutstring
Formatduration
readIdleTimeoutstring
DefaultPT5M
Formatduration
servicestring
DefaultLogExporter
sourcestring
DefaultKestra
connection*Required
hosts*Requiredarray
SubTypestring
basicAuth
passwordstring
usernamestring
headersarray
SubTypestring
pathPrefixstring
strictDeprecationModebooleanstring
trustAllSslbooleanstring
id*Requiredstring
Validation RegExp^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length1
indexName*Requiredstring
type*Requiredobject
chunkintegerstring
Default1000
endpoint*Requiredstring
id*Requiredstring
Validation RegExp^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length1
ruleId*Requiredstring
streamName*Requiredstring
type*Requiredobject
chunkintegerstring
Default1000
clientIdstring
clientSecretstring
pemCertificatestring
tenantIdstring
containerName*Requiredstring
endpoint*Requiredstring
id*Requiredstring
Validation RegExp^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length1
type*Requiredobject
chunkintegerstring
Default1000
clientIdstring
clientSecretstring
connectionStringstring
formatstring
DefaultJSON
Possible Values
IONJSON
logFilePrefixstring
Defaultkestra-log-file
maxLinesPerFileintegerstring
Default100000
pemCertificatestring
sasTokenstring
sharedKeyAccountAccessKeystring
sharedKeyAccountNamestring
tenantIdstring
connection*Required
hosts*Requiredarray
SubTypestring
Min items1
basicAuth
passwordstring
usernamestring
headersarray
SubTypestring
pathPrefixstring
strictDeprecationModebooleanstring
trustAllSslbooleanstring
id*Requiredstring
Validation RegExp^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length1
indexName*Requiredstring
type*Requiredobject
chunkintegerstring
Default1000
id*Requiredstring
Validation RegExp^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length1
otlpEndpoint*Requiredstring
type*Requiredobject
authorizationHeaderNamestring
authorizationHeaderValuestring
chunkintegerstring
Default1000
apiKey*Requiredstring
basePath*Requiredstring
id*Requiredstring
Validation RegExp^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length1
type*Requiredobject
chunkintegerstring
Default1000
options
allowFailedbooleanstring
Defaultfalse
allowedResponseCodesarray
SubTypeinteger
auth
type*Requiredobject
passwordstring
usernamestring
type*Requiredobject
tokenstring
basicAuthPasswordDeprecatedstring
basicAuthUserDeprecatedstring
connectTimeoutDeprecatedstring
Formatduration
connectionPoolIdleTimeoutDeprecatedstring
Formatduration
defaultCharsetstring
DefaultUTF-8
followRedirectsbooleanstring
Defaulttrue
logLevelDeprecatedstring
Possible Values
ALLTRACEDEBUGINFOWARNERROROFFNOT_SPECIFIED
logsarray
SubTypestring
Possible Values
REQUEST_HEADERSREQUEST_BODYRESPONSE_HEADERSRESPONSE_BODY
maxContentLengthDeprecatedinteger
proxy
addressstring
passwordstring
portintegerstring
typestring
DefaultDIRECT
Possible Values
DIRECTHTTPSOCKS
usernamestring
proxyAddressDeprecatedstring
proxyPasswordDeprecatedstring
proxyPortDeprecatedinteger
proxyTypeDeprecatedstring
Possible Values
DIRECTHTTPSOCKS
proxyUsernameDeprecatedstring
readIdleTimeoutDeprecatedstring
Formatduration
readTimeoutDeprecatedstring
Formatduration
ssl
insecureTrustAllCertificatesbooleanstring
timeout
connectTimeoutstring
Formatduration
readIdleTimeoutstring
DefaultPT5M
Formatduration
id*Requiredstring
Validation RegExp^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length1
logGroupName*Requiredstring
logStreamName*Requiredstring
region*Requiredstring
type*Requiredobject
accessKeyIdstring
chunkintegerstring
Default1000
endpointOverridestring
secretKeyIdstring
sessionTokenstring
stsEndpointOverridestring
stsRoleArnstring
stsRoleExternalIdstring
stsRoleSessionDurationstring
DefaultPT15M
Formatduration
stsRoleSessionNamestring
bucket*Requiredstring
id*Requiredstring
Validation RegExp^[a-zA-Z0-9][a-zA-Z0-9_-]*
Min length1
region*Requiredstring
type*Requiredobject
accessKeyIdstring
chunkintegerstring
Default1000
endpointOverridestring
formatstring
DefaultJSON
Possible Values
IONJSON
logFilePrefixstring
Defaultkestra-log-file
maxLinesPerFileintegerstring
Default100000
secretKeyIdstring
sessionTokenstring
stsEndpointOverridestring
stsRoleArnstring
stsRoleExternalIdstring
stsRoleSessionDurationstring
DefaultPT15M
Formatduration
stsRoleSessionNamestring
DefaultINFO
DefaultP1D
Formatduration
Formatdate-time
Definitions