When unable to install OneAgent, use the Log Ingestion API. For example, in serverless environments like AWS Fargate, where logging relies on a built-in log router such as Fluent Bit, which can be easily integrated with the Dynatrace Log Ingestion API. The Log ingest API allows you to stream log records to the Grail data lakehouse, and have Dynatrace transform the stream into meaningful log messages. You can configure Log ingest API integration for the vast variety of use cases, and you can include custom integrations. You can use our supported integrations for clouds or log shippers and for your custom use cases.
You can configure Log Ingestion API integration for the following log shippers: OpenTelemetry Collector, Fluentbit, Fluentd, Logstash, and any other solution that integrates with REST API.
Dynatrace automatically collects log and event data from a vast array of technologies. With the Log ingestion API, you can stream log records to a system and have Dynatrace transform the stream into meaningful log messages.
The Log ingestion API allows you to stream log records to the system. It is available via Log Monitoring API - POST ingest logs for JSON and text format or the OTLP endpoint for OTLP binary protobuf format.
For Dynatrace SaaS, the logs ingestion endpoint is available in your environment.
If the Environment ActiveGate is your choice for an endpoint in your local environment, install an ActiveGate instance: In Dynatrace Hub, select ActiveGate > Set up. The Log ingestion API v2 is automatically enabled on ActiveGate.
The endpoint is enabled by default on all of your ActiveGates.
ActiveGate is responsible for serving the endpoint, collecting the data, and forwarding it to Dynatrace in batches.
Saas endpoints:
https://{your-environment-id}.live.dynatrace.com/api/v2/logs/ingest
https://{your-environment-id}.live.dynatrace.com/api/v2/otlp/v1/logs
Environment ActiveGate endpoints:
https://{your-activegate-domain}:9999/e/{your-environment-id}/api/v2/logs/ingest
https://{your-activegate-domain}:9999/e/{your-environment-id}/api/v2/otlp/v1/logs
For Kubernetes environments, you can use Fluentd or Fluent Bit to forward logs to Dynatrace.
ActiveGate will collect and attempt to automatically transform any log data containing the following JSON elements:
When using log processing with the custom processing pipeline (OpenPipeline), ingest supports all JSON data types for attribute values. This requires SaaS version 1.295+ when using the SaaS API endpoint or ActiveGate version 1.295+ when using the ActiveGate API endpoint. In all other cases, all ingested values are converted to the string type.
To view all predefined key-value attributes, such as the supported semantic attribute keys, check Log Monitoring API - POST ingest logs.
API clients have to retry executing log ingestion requests that failed on retryable errors.
Each API endpoint documentation specifies which codes are retryable. When retrying, the client implements an exponential backoff strategy.
You can customize the log data queue properties by editing the custom.properties
file (see Configuration properties and parameters of ActiveGate) on your ActiveGate to set the following values:
[generic_ingest]#disk_queue_path=<custom_path> # defaults to temp folder#disk_queue_max_size_mb=<limit> # defaults to 300 MB
The log data ingestion API returns a 503 Usable space limit reached
error when the ingested log data exceeds the configured queue size. Typically, this is a temporary situation that occurs only during spikes. If this error persists, increase the value of disk_queue_max_size_mb
in custom.properties
to allow log ingestion spikes to be queued.
In this example, the API request ingests log data that will create a log event with defined log attributes content
, status
, service.name
, and service.namespace
.
The API token is passed in the Authorization header.
The response contains response code 204
.
curl -X POST \https://environment.activegate.domain.com:9999/e/abc123a/api/v2/logs/ingest \-H 'Content-Type: application/json; charset=utf-8' \-H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \-d '[{"content": "Exception: Custom error log sent via Log ingestion API","status": "error","service.name": "log-monitoring-tenant","service.namespace": "dev-stage-cluster"}]'
https://environment.activegate.domain.com:9999/e/abc123a/api/v2/logs/ingest
Success
204