Skip to content

Commit 6df9f50

Browse files
pirgeophilwebb
authored andcommitted
Update Dynatrace documentation for Micrometer 1.9.0
Update the actuator documentation for Dynatrace to reflect the updates and improvements that were made in Micrometer 1.9.0. See gh-31132
1 parent 7f584a9 commit 6df9f50

File tree

1 file changed

+26
-11
lines changed
  • spring-boot-project/spring-boot-docs/src/docs/asciidoc/actuator

1 file changed

+26
-11
lines changed

spring-boot-project/spring-boot-docs/src/docs/asciidoc/actuator/metrics.adoc

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -166,24 +166,37 @@ You can also change the interval at which metrics are sent to Datadog:
166166

167167
[[actuator.metrics.export.dynatrace]]
168168
==== Dynatrace
169+
169170
Dynatrace offers two metrics ingest APIs, both of which are implemented for {micrometer-registry-docs}/dynatrace[Micrometer].
171+
You can find the Dynatrace documentation on Micrometer metrics ingest {dynatrace-help}/how-to-use-dynatrace/metrics/metric-ingestion/ingestion-methods/micrometer[here].
170172
Configuration properties in the `v1` namespace apply only when exporting to the {dynatrace-help}/dynatrace-api/environment-api/metric-v1/[Timeseries v1 API].
171173
Configuration properties in the `v2` namespace apply only when exporting to the {dynatrace-help}/dynatrace-api/environment-api/metric-v2/post-ingest-metrics/[Metrics v2 API].
172-
Note that this integration can export only to either the `v1` or `v2` version of the API at a time.
174+
Note that this integration can export only to either the `v1` or `v2` version of the API at a time, with `v2` being the preferred one.
173175
If the `device-id` (required for v1 but not used in v2) is set in the `v1` namespace, metrics are exported to the `v1` endpoint.
174176
Otherwise, `v2` is assumed.
175177

176-
177-
178178
[[actuator.metrics.export.dynatrace.v2-api]]
179179
===== v2 API
180+
180181
You can use the v2 API in two ways.
181182

182-
If a local OneAgent is running on the host, metrics are automatically exported to the {dynatrace-help}/how-to-use-dynatrace/metrics/metric-ingestion/ingestion-methods/local-api/[local OneAgent ingest endpoint].
183+
[[actuator.metrics.export.dynatrace.v2-api.auto-config]]
184+
====== Auto-configuration
185+
186+
Dynatrace auto-configuration is available for hosts that are monitored by the OneAgent or by the Dynatrace Operator for Kubernetes.
187+
188+
**Local OneAgent:** If a OneAgent is running on the host, metrics are automatically exported to the {dynatrace-help}/how-to-use-dynatrace/metrics/metric-ingestion/ingestion-methods/local-api/[local OneAgent ingest endpoint].
183189
The ingest endpoint forwards the metrics to the Dynatrace backend.
190+
191+
**Dynatrace Kubernetes Operator:** When running in Kubernetes with the Dynatrace Operator installed, the registry will automatically pick up your endpoint URI and API token from the operator instead.
192+
Dynatrace Operator-based auto-configuration is available from Micrometer version `1.9.0`, which is distributed with Spring Boot since version `2.7.0`.
193+
184194
This is the default behavior and requires no special setup beyond a dependency on `io.micrometer:micrometer-registry-dynatrace`.
185195

186-
If no local OneAgent is running, the endpoint of the {dynatrace-help}/dynatrace-api/environment-api/metric-v2/post-ingest-metrics/[Metrics v2 API] and an API token are required.
196+
[[actuator.metrics.export.dynatrace.v2-api.manual-config]]
197+
====== Manual configuration
198+
199+
If no auto-configuration is available, the endpoint of the {dynatrace-help}/dynatrace-api/environment-api/metric-v2/post-ingest-metrics/[Metrics v2 API] and an API token are required.
187200
The {dynatrace-help}/dynatrace-api/basics/dynatrace-api-authentication/[API token] must have the "`Ingest metrics`" (`metrics.ingest`) permission set.
188201
We recommend limiting the scope of the token to this one permission.
189202
You must ensure that the endpoint URI contains the path (for example, `/api/v2/metrics/ingest`):
@@ -205,15 +218,16 @@ The example below configures metrics export using the `example` environment id:
205218
api-token: "YOUR_TOKEN"
206219
----
207220

208-
When using the Dynatrace v2 API, the following optional features are available:
221+
When using the Dynatrace v2 API, the following optional features are available (more details can be found in the {dynatrace-help}/how-to-use-dynatrace/metrics/metric-ingestion/ingestion-methods/micrometer#dt-configuration-properties[Dynatrace documentation]):
209222

210223
* Metric key prefix: Sets a prefix that is prepended to all exported metric keys.
211224
* Enrich with Dynatrace metadata: If a OneAgent or Dynatrace operator is running, enrich metrics with additional metadata (for example, about the host, process, or pod).
212225
* Default dimensions: Specify key-value pairs that are added to all exported metrics.
213-
If tags with the same key are specified with Micrometer, they overwrite the default dimensions.
226+
If tags with the same key are specified with Micrometer, they overwrite the default dimensions.
227+
* Use Dynatrace Summary instruments: In some cases the Micrometer Dynatrace registry created metrics that were rejected. In Micrometer 1.9.x, this was fixed by introducing Dynatrace-specific summary instruments. Setting this toggle to false forces Micrometer to fall back to the behavior that was the default before 1.9.x. It should only be used when encountering problems while migrating from 1.8.x to 1.9.x.
214228

215229
It is possible to not specify a URI and API token, as shown in the following example.
216-
In this scenario, the local OneAgent endpoint is used:
230+
In this scenario, the automatically configured endpoint is used:
217231

218232
[source,yaml,indent=0,subs="verbatim",configprops,configblocks]
219233
----
@@ -228,12 +242,12 @@ In this scenario, the local OneAgent endpoint is used:
228242
default-dimensions:
229243
key1: "value1"
230244
key2: "value2"
245+
use-dynatrace-summary-instruments: true # (default: true)
231246
----
232247

233-
234-
235248
[[actuator.metrics.export.dynatrace.v1-api]]
236249
===== v1 API (Legacy)
250+
237251
The Dynatrace v1 API metrics registry pushes metrics to the configured URI periodically by using the {dynatrace-help}/dynatrace-api/environment-api/metric-v1/[Timeseries v1 API].
238252
For backwards-compatibility with existing setups, when `device-id` is set (required for v1, but not used in v2), metrics are exported to the Timeseries v1 endpoint.
239253
To export metrics to {micrometer-registry-docs}/dynatrace[Dynatrace], your API token, device ID, and URI must be provided:
@@ -256,6 +270,7 @@ For the v1 API, you must specify the base environment URI without a path, as the
256270

257271
[[actuator.metrics.export.dynatrace.version-independent-settings]]
258272
===== Version-independent Settings
273+
259274
In addition to the API endpoint and token, you can also change the interval at which metrics are sent to Dynatrace.
260275
The default export interval is `60s`.
261276
The following example sets the export interval to 30 seconds:
@@ -269,7 +284,7 @@ The following example sets the export interval to 30 seconds:
269284
step: "30s"
270285
----
271286

272-
You can find more information on how to set up the Dynatrace exporter for Micrometer in {micrometer-registry-docs}/dynatrace[the Micrometer documentation].
287+
You can find more information on how to set up the Dynatrace exporter for Micrometer in the {micrometer-registry-docs}/dynatrace[Micrometer documentation] and the {dynatrace-help}/how-to-use-dynatrace/metrics/metric-ingestion/ingestion-methods/micrometer[Dynatrace documentation].
273288

274289

275290

0 commit comments

Comments
 (0)