New to Kestra?
Use blueprints to kickstart your first workflows.
Ship Kestra workflow and execution logs to Datadog on a daily schedule using LogShipper. Centralize observability, monitoring, dashboards, and alerting.
id: datadog-log-shipper
namespace: company.team
tasks:
- id: log_export
type: io.kestra.plugin.ee.core.log.LogShipper
logLevelFilter: INFO
batchSize: 1000
lookbackPeriod: P1D
logExporters:
- id: datadog
type: io.kestra.plugin.ee.datadog.LogExporter
basePath: https://http-intake.logs.datadoghq.eu
apiKey: "{{ secret('DATADOG_API_KEY') }}"
triggers:
- id: daily
type: io.kestra.plugin.core.trigger.Schedule
cron: "0 7 * * *" # everyday at 7am
Ship Kestra execution logs to Datadog so workflow and task output lands in the same observability platform your teams already use for metrics, traces, and alerts. This blueprint sends batched Kestra logs to the Datadog HTTP log intake API on a daily schedule, replacing scattered local logs and manual exports with a centralized, searchable log stream you can correlate with infrastructure health and incident timelines.
A single io.kestra.plugin.ee.core.log.LogShipper task named log_export collects logs and forwards them to Datadog. It filters by severity with logLevelFilter: INFO, groups entries with batchSize: 1000 for efficient transmission, and replays recent history with lookbackPeriod: P1D (the previous day). The shipper defines one exporter, io.kestra.plugin.ee.datadog.LogExporter, pointed at the EU intake endpoint basePath: https://http-intake.logs.datadoghq.eu and authenticated with apiKey. A io.kestra.plugin.core.trigger.Schedule trigger named daily runs the flow on the cron 0 7 * * *, every morning at 7am.
Datadog ingests logs but does not pull them out of Kestra on its own. Kestra closes that gap declaratively: the entire pipeline is defined in version-controlled YAML, the Schedule trigger drives delivery on an event-based cadence instead of an external cron you have to babysit, and built-in retries plus full execution lineage mean a failed shipment is visible, retryable, and auditable. You manage one source of truth rather than wiring brittle log-forwarding scripts.
DATADOG_API_KEY: your Datadog API key used to authenticate log intakeDATADOG_API_KEY secret to your Kestra instance.basePath matches your Datadog site (the default targets the EU site).daily schedule enabled to keep logs flowing every morning.logLevelFilter to WARN or ERROR to reduce volume, or DEBUG for deep troubleshooting.batchSize and lookbackPeriod to match your log throughput and run cadence.Schedule cron to ship more frequently, for example hourly.logExporters to fan logs out to other destinations alongside Datadog.