Manage export configurations
You can export universe metrics and logs to third-party tools for analysis and customization.
To export either metrics or logs from a universe:
-
Create an export configuration for the integration you want to use. A configuration defines the sign in credentials and settings for the tool that you want to export to.
-
Using the configuration you created, connect your cluster.
While the connection is active, metrics or logs are automatically streamed to the tool.
To be able to export logs from Kubernetes universes, ensure the OpenTelemetry Operator is installed. Refer to OpenTelemetry Operator for Kubernetes in the OpenTelemetry documentation. Metrics export is not supported on Kubernetes.
Available integrations
Currently, you can export data to the following tools:
| Integration | Log export | Metric export |
|---|---|---|
| Datadog | Database audit logs | Yes |
| Splunk | Database audit logs | |
| AWS CloudWatch | Database audit logs | |
| Google Cloud Logging | Database audit logs | |
| Dynatrace | Yes | |
| Loki | Database audit logs | |
| OTLP | Database audit logs | Yes |
Best practices
To limit performance impact and control costs, locate export configurations in a region close to your universe(s).
Manage integrations
Create and manage export configurations on the Integrations > Log & Metrics Export page.
The page lists the configured third-party integrations.
To view details for a configuration, select it in the list.
To delete a configuration, click the three dots, and choose Delete configuration. You can't delete a configuration that is assigned to a universe.
Note that you can't modify an existing configuration. If you need to change an configuration (for example, to replace or update an API key) for a particular tool, do the following:
- Create a new configuration for the integration with the updated information.
- Assign the new configuration to your universes.
- Unassign the old configuration from universes.
- Delete the old configuration.
Configure integrations
You can add and delete export configurations for the following tools. You can't delete a configuration that is in use by a universe.
Datadog
The Datadog export configuration requires the following:
- Datadog account
- Datadog API key
To create an export configuration, do the following:
- On the Integrations page, on the Log & Metrics Export tab, click Add Configuration.
- Enter a name for the configuration.
- Choose Datadog.
- Enter your Datadog API key.
- Choose the Datadog site to connect to, or choose Self-hosted and enter your URL.
- Click Create Configuration.
Splunk
The Splunk export configuration requires the following:
- Splunk access token
- Endpoint URL
To create an export configuration, do the following:
- On the Integrations page, on the Log & Metrics Export tab, click Add Configuration.
- Enter a name for the configuration.
- Choose Splunk.
- Enter your Splunk Access token.
- Enter the Endpoint URL.
- Optionally, enter the Source, Source Type, and Index.
- Click Validate and Create Configuration.
AWS
The AWS CloudWatch export configuration requires the following:
- Access Key ID and Secret Access Key for the AWS Service Account
- The log group and log stream
- The AWS region where the stream is located
To create an export configuration, do the following:
- On the Integrations page, on the Log & Metrics Export tab, click Add Configuration.
- Enter a name for the configuration.
- Choose AWS CloudWatch.
- Enter your access key and secret access key.
- Enter the Log group and Log stream.
- Enter the region.
- Optionally, provide the ARN for the role.
- Optionally, provide an endpoint URL.
- Click Validate and Create Configuration.
Google Cloud Logging
The Google Cloud Logging export configuration requires the following:
- Google Service Account with the
roles/logging.logWriterrole. - The Service Account credentials JSON key. The credentials should be scoped to the project where the log group is located.
To create an export configuration, do the following:
- On the Integrations page, on the Log & Metrics Export tab, click Add Configuration.
- Enter a name for the configuration.
- Choose GCP Cloud Logging.
- Optionally, provide the project name.
- Upload the JSON file containing your Google Cloud credentials.
- Click Validate and Create Configuration.
Dynatrace
The Dynatrace integration requires the following:
-
Publically-accessible OTLP endpoint URL of your Dynatrace instance. The endpoint URL is the URL of your Dynatrace instance. For example:
https://{your-environment-id}.live.dynatrace.com/api/v2/otlpNote that if you copy your Dynatrace environment ID from the browser address bar, make sure to remove
.apps. -
Dynatrace Access Token. The access token needs to have ingest metrics, ingest logs, ingest OpenTelemetry traces, and read API tokens scope.
To create an export configuration, do the following:
- On the Integrations page, on the Log & Metrics Export tab, click Add Configuration.
- Enter a name for the configuration.
- Choose Dynatrace.
- Enter the Dynatrace Endpoint URL.
- Enter your Dynatrace Access Token.
- Click Validate and Create Configuration.
Loki
Grafana Loki is a log aggregation system designed to store and query logs. YugabyteDB Anywhere can export database audit logs to a Loki-compatible endpoint (including self-hosted Loki and Grafana Cloud).
Prerequisites
-
Enable the Loki sink by setting the Allow Loki Exporter in Telemetry Provider Global Configuration option (config key
yb.telemetry.allow_loki) totrue.Refer to Manage runtime configuration settings.
The flag is enforced when you create or delete a Loki telemetry provider.
-
A reachable Loki endpoint.
Create a Loki export configuration
To create an export configuration, do the following:
- On the Integrations page, on the Log & Metrics Export tab, click Add Configuration.
- Enter a name for the configuration.
- Choose Loki.
- Fill in the Loki-specific fields:
- Enter the Loki endpoint URL. For example,
http://<loki-url>:<loki-port>. - Organization / Tenant ID (optional). Organization ID is required when multi-tenancy is set up in Loki. Optional for Grafana Cloud, as the authentication reroutes requests according to scope.
- Authentication Type: Basic Auth or No Auth. If you choose Basic Auth, enter a Username and Password.
- Enter the Loki endpoint URL. For example,
- Click Validate and Create Configuration.
Loki configurations are immutable
After you create a configuration, you cannot edit it. To change settings, create a new configuration, reassign universes, and delete the old configuration.OTLP
YugabyteDB Anywhere supports OTLP (OpenTelemetry Protocol) as a generic telemetry provider sink. An OTLP telemetry provider lets a universe stream database audit logs, and database metrics to any OTLP-compatible receiver using the standard OpenTelemetry wire format.
The OTLP sink is vendor-agnostic and works with any backend that speaks OTLP, including (but not limited to) Cribl, Grafana Cloud, New Relic, Prometheus (3.0+), VictoriaMetrics, and Sumo Logic.
You can reuse the same OTLP telemetry provider for database audit logging, database metrics export, or both. OTLP uses the same OpenTelemetry Collector and universe export workflows as other telemetry providers.
Prerequisites
-
Enable the OTLP integration by setting the OTLP Exporter for Telemetry Provider Global Configuration option (config key
yb.telemetry.allow_otlp) totrue. Refer to Manage runtime configuration settings.If the flag is false, any REST API create and delete requests for OTLP telemetry providers return HTTP 400 with:
OTLP Exporter for Telemetry Provider is not enabled. Please set the runtime flag 'yb.telemetry.allow_otlp' to true. -
A reachable OTLP-compatible receiver and credentials if required (Basic Auth username and password, or a bearer token).
Create an OTLP export configuration
To create an export configuration, do the following:
- On the Integrations page, on the Log & Metrics Export tab, click Add Configuration.
- Enter a name for the configuration.
- Choose OTLP.
- Fill in the OTLP-specific fields:
- Enter the OTLP receiver Endpoint URL.
- Protocol: gRPC (default) or HTTP.
- Authentication Type:
- No Auth (default): no credentials.
- Basic Auth: username and password.
- Bearer Token
- Logs Endpoint (HTTP only, optional): override URL for logs (for example,
https://example.com:4318/v1/logs). - Metrics Endpoint (HTTP only, optional): override URL for metrics (for example,
https://example.com:4318/v1/metrics). - Timeout (seconds): default is
5.
- Click Validate and Create Configuration.
OTLP configurations are immutable
After you create a configuration, you cannot edit it. To change settings, create a new configuration, reassign universes, and delete the old configuration.Concrete endpoint URLs and auth schemes vary by OTLP backend; consult your receiver vendor's documentation or Integrations in YugabyteDB Aeon for the correct OTLP address.
Unsupported scenarios
- Per-signal endpoint overrides (
logsEndpoint,metricsEndpoint) are allowed only when Protocol is HTTP. A gRPC provider that sets either field is rejected. - For the HTTP protocol, when log export is enabled the OpenTelemetry Collector appends
/v1/logsto the configured endpoint. Configure the endpoint without that suffix unless you use the explicit Logs Endpoint override. - Kubernetes support follows the same rules as the rest of YugabyteDB Anywhere OpenTelemetry export: metrics export is not supported on Kubernetes; log export on Kubernetes requires the OpenTelemetry Operator on the cluster.
REST API configuration
The full OTLP request body for the REST API is documented in the YugabyteDB Anywhere OpenAPI specification under the TelemetryProvider model and the OTLPConfig schema (POST /api/v1/customers/{cUUID}/telemetry_provider with config.type = "OTLP"). Refer to the YugabyteDB Anywhere REST API.
Be careful when using collection_level=ALL in the API, as it can lead to performance overhead on the database nodes.
The following OTLPConfig fields are accepted by the REST API but are not exposed in the UI:
| Field | Description |
|---|---|
headers |
Map of extra HTTP headers attached to every export request. |
compression |
Exporter compression (gzip, none, snappy, zstd). UI create requests always send gzip. |
retryOnFailure |
Retry settings: { "initial_interval": "...", "max_interval": "...", "max_elapsed_time": "..." } with duration strings such as 30s, 1m, 60m. |
Additional configuration
| Runtime flag | Scope | Description |
|---|---|---|
yb.telemetry.skip_connectivity_validations |
Global | Skips connectivity and permission validations on create if your receiver is not reachable from YugabyteDB Anywhere at configuration time. |
yb.universe.otel_collector_max_memory |
Universe | Hard memory limit on the OpenTelemetry Collector process (kills the process if exceeded). To apply a change on an existing universe, re-run any OpenTelemetry configure API (configure metrics export, modify audit logging, or modify query logging). |