# Dynatrace

Stream logs to [Dynatrace](https://www.dynatrace.com) by utilizing the **http** plugin to send data to the [Dynatrace generic log ingest API](https://docs.dynatrace.com/docs/shortlink/lma-generic-log-ingestion).

## Configuration parameters

| Key                        | Description                                                                                                                | Default                                        |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- |
| `header`                   | The specific header for content-type.                                                                                      | `Content-Type application/json; charset=utf-8` |
| `header`                   | The specific header for authorization token, where {your-API-token-here} is the Dynatrace API token with log ingest scope. | Authorization Api-Token {your-API-token-here}  |
| `allow_duplicated_headers` | Specifies duplicated header use.                                                                                           | `false`                                        |
| `host`                     | Your Dynatrace environment hostname where {your-environment-id} is your environment ID.                                    | `{your-environment-id}.live.dynatrace.com`     |
| `port`                     | TCP port of your Dynatrace host.                                                                                           | `443`                                          |
| `uri`                      | Specify the HTTP URI for Dynatrace log ingest API.                                                                         | `/api/v2/logs/ingest`                          |
| `format`                   | The data format to be used in the HTTP request body.                                                                       | `json`                                         |
| `json_date_format`         | Date format standard for JSON.                                                                                             | `iso8601`                                      |
| `json_date_key`            | Fieldname specifying message timestamp.                                                                                    | `timestamp`                                    |
| `tls`                      | Specify to use TLS.                                                                                                        | `on`                                           |
| `tls.verify`               | TLS verification.                                                                                                          | `on`                                           |

## Getting started

To get started with sending logs to Dynatrace:

1. Get a [Dynatrace API](https://docs.dynatrace.com/docs/shortlink/api-authentication) token with the `logs.ingest` (Ingest Logs) scope.
2. Determine your Dynatrace [environment ID](https://docs.dynatrace.com/docs/shortlink/monitoring-environment#environment-id).
3. In your main Fluent Bit configuration file, append the following `Output` section:

   ```
   [OUTPUT]
       name         http
       match        *
       header       Content-Type application/json; charset=utf-8
       header       Authorization Api-Token {your-API-token-here}
       allow_duplicated_headers false
       host         {your-environment-id}.live.dynatrace.com
       Port         443
       URI          /api/v2/logs/ingest
       Format       json
       json_date_format iso8601
       json_date_key timestamp
       tls          On
       tls.verify   On
   ```

## References

* [Dynatrace Fluent Bit documentation](https://docs.dynatrace.com/docs/shortlink/lma-stream-logs-with-fluent-bit)
* [Fluent Bit integration in Dynatrace Hub](https://www.dynatrace.com/hub/detail/fluent-bit/?filter=log-management-and-analytics)
* [Video: Stream a Log File to Dynatrace using Fluent Bit](https://www.youtube.com/watch?v=JJJNxhtJ6R0)
* [Blog: Easily stream logs from Fluent Bit to Dynatrace](https://www.dynatrace.com/news/blog/easily-stream-logs-with-fluent-bit-to-dynatrace/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fluentbit.io/manual/3.2/pipeline/outputs/dynatrace.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
