Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs/support escalations 11817 #9907

Merged
merged 6 commits into from
Nov 26, 2024
Merged
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 31 additions & 31 deletions docs/sources/mimir/configure/configure-otel-collector.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,103 +13,103 @@ weight: 150
To send OTel data to Grafana Cloud, refer to [Send data using OpenTelemetry Protocol (OTLP)](https://grafana.com/docs/grafana-cloud/send-data/otlp/send-data-otlp/).
{{% /admonition %}}

When using the [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/), you can write metrics into Mimir via two options: `prometheusremotewrite` and `otlphttp`.
When using the [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/), you can write metrics into Mimir using two options: `otlphttp` (preferred) and `prometheusremotewrite`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should say here we recommend the usage of otlphttp.

The reason why we recommend this is because the exporter is maintained by the community and always up to date with the spec. It's the official way of sending OTLP traffic and we want to recommend the more native path.

Prometheus Remote Write is an exporter in the https://github.com/open-telemetry/opentelemetry-collector-contrib repository donated by the community that is in beta stage https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/prometheusremotewriteexporter

We strongly recommend otlphttp. We can leave the example at the bottom of prometheusremotewrite as an experimental section.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll rework the doc a bit to more strongly favor otlphttp over prometheus remote write.


We recommend using each protocol's respective exporter and native Mimir endpoint:
Use each protocol's respective exporter and native Mimir endpoint. For example:

- Prometheus data: `prometheusremotewrite`
- OTel data: `otlphttp`
- Prometheus data: `prometheusremotewrite`

## Prometheus Remote Write

For the Remote Write, use the [`prometheusremotewrite`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/prometheusremotewriteexporter) exporter in the Collector:
## OTLP

In the `exporters` section add:
Mimir supports native OTLP over HTTP. When possible, use this protocol to send OTLP data. To configure the collector to use the OTLP interface, use the [`otlphttp`](https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/otlphttpexporter) exporter:

```yaml
exporters:
prometheusremotewrite:
endpoint: http://<mimir-endpoint>/api/v1/push
otlphttp:
endpoint: http://<mimir-endpoint>/otlp
```

And enable it in the `service.pipelines`:
Then, enable it in `service.pipelines`:

```yaml
service:
pipelines:
metrics:
receivers: [...]
processors: [...]
exporters: [..., prometheusremotewrite]
exporters: [..., otlphttp]
```

If you want to authenticate using basic auth, we recommend the [`basicauth`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/basicauthextension) extension:
If you want to authenticate using basic auth, use the [`basicauth`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/basicauthextension) extension:

```yaml
extensions:
basicauth/prw:
basicauth/otlp:
client_auth:
username: username
password: password

exporters:
prometheusremotewrite:
otlphttp:
auth:
authenticator: basicauth/prw
endpoint: http://<mimir-endpoint>/api/v1/push
authenticator: basicauth/otlp
endpoint: http://<mimir-endpoint>/otlp

service:
extensions: [basicauth/prw]
extensions: [basicauth/otlp]
pipelines:
metrics:
receivers: [...]
processors: [...]
exporters: [..., prometheusremotewrite]
exporters: [..., otlphttp]
```

## OTLP
## Prometheus remote write

For remote write, use the [`prometheusremotewrite`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/prometheusremotewriteexporter) exporter in the Collector.

Mimir supports native OTLP over HTTP. To configure the collector to use the OTLP interface, you use the [`otlphttp`](https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/otlphttpexporter) exporter:
In the `exporters` section, add:

```yaml
exporters:
otlphttp:
endpoint: http://<mimir-endpoint>/otlp
prometheusremotewrite:
endpoint: http://<mimir-endpoint>/api/v1/push
```

And enable it in `service.pipelines`:
Then, enable it in the `service.pipelines` block:

```yaml
service:
pipelines:
metrics:
receivers: [...]
processors: [...]
exporters: [..., otlphttp]
exporters: [..., prometheusremotewrite]
```

If you want to authenticate using basic auth, we recommend the [`basicauth`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/basicauthextension) extension:
If you want to authenticate using basic auth, use the [`basicauth`](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/basicauthextension) extension:

```yaml
extensions:
basicauth/otlp:
basicauth/prw:
client_auth:
username: username
password: password

exporters:
otlphttp:
prometheusremotewrite:
auth:
authenticator: basicauth/otlp
endpoint: http://<mimir-endpoint>/otlp
authenticator: basicauth/prw
endpoint: http://<mimir-endpoint>/api/v1/push

service:
extensions: [basicauth/otlp]
extensions: [basicauth/prw]
pipelines:
metrics:
receivers: [...]
processors: [...]
exporters: [..., otlphttp]
exporters: [..., prometheusremotewrite]
```

## Format considerations
Expand Down
Loading