@@ -24,8 +24,10 @@ This topic describes how to:
2424* [ ` otelcol.auth.basic ` ] [ otelcol.auth.basic ]
2525* [ ` otelcol.exporter.loki ` ] [ otelcol.exporter.loki ]
2626* [ ` otelcol.exporter.otlp ` ] [ otelcol.exporter.otlp ]
27+ * [ ` otelcol.exporter.otlphttp ` ] [ otelcol.exporter.otlphttp ]
2728* [ ` otelcol.exporter.prometheus ` ] [ otelcol.exporter.prometheus ]
2829* [ ` otelcol.processor.batch ` ] [ otelcol.processor.batch ]
30+ * [ ` otelcol.processor.memory_limiter ` ] [ otelcol.processor.memory_limiter ]
2931* [ ` otelcol.receiver.otlp ` ] [ otelcol.receiver.otlp ]
3032* [ ` prometheus.remote_write ` ] [ prometheus.remote_write ]
3133
@@ -76,7 +78,7 @@ otelcol.exporter.otlp "default" {
7678The pipeline looks like this:
7779
7880``` plaintext
79- Metrics, Logs, Traces: OTLP Receiver → batch processor → OTLP Exporter
81+ Metrics, Logs, Traces: OTLP Receiver → Batch Processor → OTLP HTTP Exporter
8082```
8183
8284## Grafana Cloud
@@ -109,14 +111,19 @@ Replace the following:
109111
110112This configuration uses the credentials stored in ` otelcol.auth.basic "default" ` to authenticate against the Grafana Cloud OTLP endpoints, and you should start to see your data arrive.
111113
112- ## Other platforms (Grafana Enterprise, Grafana Open Source)
114+ {{< admonition type="note" >}}
115+ For Grafana Cloud, use ` otelcol.exporter.otlphttp ` which sends data over HTTP/HTTPS.
116+ Use ` otelcol.exporter.otlp ` for gRPC endpoints when working with other platforms.
117+ {{< /admonition >}}
118+
119+ ## Other platforms: Grafana Enterprise and Grafana Open Source
113120
114121You can implement the following pipelines to send your data to Loki, Tempo, and Mimir or Prometheus.
115122
116123``` plaintext
117- Metrics: OTel → batch processor → Mimir or Prometheus remote write
118- Logs: OTel → batch processor → Loki exporter
119- Traces: OTel → batch processor → OTel exporter
124+ Metrics: OTLP Receiver → Batch Processor → Prometheus Exporter → Prometheus Remote Write
125+ Logs: OTLP Receiver → Batch Processor → Loki Exporter → Loki Write
126+ Traces: OTLP Receiver → Batch Processor → OTLP Exporter (gRPC/HTTP)
120127```
121128
122129### Grafana Loki
@@ -136,7 +143,7 @@ loki.write "default" {
136143}
137144```
138145
139- To use Loki with basic-auth, which is required with Grafana Cloud Logs, you must configure the [ ` loki.write ` ] [ loki.write ] component.
146+ To use Loki with basic-auth, which Grafana Cloud Logs requires , you must configure the [ ` loki.write ` ] [ loki.write ] component.
140147You can get the Loki configuration from the Loki ** Details** page in the [ Grafana Cloud Portal] [ ] .
141148
142149``` alloy
@@ -158,7 +165,7 @@ loki.write "grafana_cloud_logs" {
158165
159166### Grafana Tempo
160167
161- [ Grafana Tempo] [ ] is an open source, easy-to-use, scalable distributed tracing backend.
168+ [ Grafana Tempo] [ ] is an open source, scalable distributed tracing backend.
162169Tempo can ingest OTLP directly, and you can use the OTLP exporter to send the traces to Tempo.
163170
164171``` alloy
@@ -169,13 +176,13 @@ otelcol.exporter.otlp "default" {
169176}
170177```
171178
172- To use Tempo with basic-auth, which is required with Grafana Cloud Traces, you must use the [ otelcol.auth.basic] [ ] component.
179+ To use Tempo with basic-auth, which Grafana Cloud Traces requires , you must use the [ otelcol.auth.basic] [ ] component.
173180You can get the Tempo configuration from the Tempo ** Details** page in the [ Grafana Cloud Portal] [ ] .
174181
175182``` alloy
176- otelcol.exporter.otlp "grafana_cloud_traces" {
183+ otelcol.exporter.otlphttp "grafana_cloud_traces" {
177184 client {
178- endpoint = "tempo-us-central1.grafana.net:443"
185+ endpoint = "https:// tempo-us-central1.grafana.net:443"
179186 auth = otelcol.auth.basic.grafana_cloud_traces.handler
180187 }
181188}
@@ -204,7 +211,7 @@ prometheus.remote_write "default" {
204211}
205212```
206213
207- To use Prometheus with basic-auth, which is required with Grafana Cloud Metrics, you must configure the [ ` prometheus.remote_write ` ] [ prometheus.remote_write ] component.
214+ To use Prometheus with basic-auth, which Grafana Cloud Metrics requires , you must configure the [ ` prometheus.remote_write ` ] [ prometheus.remote_write ] component.
208215You can get the Prometheus configuration from the Prometheus ** Details** page in the [ Grafana Cloud Portal] [ ] .
209216
210217``` alloy
@@ -227,6 +234,7 @@ prometheus.remote_write "grafana_cloud_metrics" {
227234### Put it all together
228235
229236Instead of referencing ` otelcol.exporter.otlp.default.input ` in the output of ` otelcol.processor.batch ` , you need to reference the three exporters you set up.
237+ For Grafana Cloud, use ` otelcol.exporter.otlphttp ` for traces to send data over HTTPS.
230238The final configuration becomes:
231239
232240``` alloy
@@ -250,13 +258,13 @@ otelcol.processor.batch "example" {
250258 output {
251259 metrics = [otelcol.exporter.prometheus.grafana_cloud_metrics.input]
252260 logs = [otelcol.exporter.loki.grafana_cloud_logs.input]
253- traces = [otelcol.exporter.otlp .grafana_cloud_traces.input]
261+ traces = [otelcol.exporter.otlphttp .grafana_cloud_traces.input]
254262 }
255263}
256264
257- otelcol.exporter.otlp "grafana_cloud_traces" {
265+ otelcol.exporter.otlphttp "grafana_cloud_traces" {
258266 client {
259- endpoint = "tempo-us-central1.grafana.net:443"
267+ endpoint = "https:// tempo-us-central1.grafana.net:443"
260268 auth = otelcol.auth.basic.grafana_cloud_traces.handler
261269 }
262270}
@@ -316,7 +324,7 @@ ts=2023-05-09T09:37:15.303522Z level=info trace_id=6466516c9e1a556422df7a84c0ade
316324ts=2023-05-09T09:37:15.303557Z level=info trace_id=6466516c9e1a556422df7a84c0ade6b0 msg="finished node evaluation" node_id=otelcol.exporter.prometheus.grafana_cloud_metrics duration=30.083µs
317325ts=2023-05-09T09:37:15.303611Z component=prometheus.remote_write.grafana_cloud_metrics subcomponent=rw level=info remote_name=7f623a url=https://prometheus-us-central1.grafana.net/api/prom/push msg="Replaying WAL" queue=7f623a
318326ts=2023-05-09T09:37:15.303618Z level=info trace_id=6466516c9e1a556422df7a84c0ade6b0 msg="finished node evaluation" node_id=otelcol.auth.basic.grafana_cloud_traces duration=52.5µs
319- ts=2023-05-09T09:37:15.303694Z level=info trace_id=6466516c9e1a556422df7a84c0ade6b0 msg="finished node evaluation" node_id=otelcol.exporter.otlp .grafana_cloud_traces duration=70.375µs
327+ ts=2023-05-09T09:37:15.303694Z level=info trace_id=6466516c9e1a556422df7a84c0ade6b0 msg="finished node evaluation" node_id=otelcol.exporter.otlphttp .grafana_cloud_traces duration=70.375µs
320328ts=2023-05-09T09:37:15.303782Z component=otelcol.processor.memory_limiter.default level=info msg="Memory limiter configured" limit_mib=150 spike_limit_mib=30 check_interval=1s
321329ts=2023-05-09T09:37:15.303802Z level=info trace_id=6466516c9e1a556422df7a84c0ade6b0 msg="finished node evaluation" node_id=otelcol.processor.memory_limiter.default duration=100.334µs
322330ts=2023-05-09T09:37:15.303853Z level=info trace_id=6466516c9e1a556422df7a84c0ade6b0 msg="finished node evaluation" node_id=otelcol.processor.batch.default duration=44.75µs
@@ -345,7 +353,9 @@ You can check the pipeline graphically by visiting <http://localhost:12345/graph
345353[ otelcol.auth.basic ] : ../../reference/components/otelcol/otelcol.auth.basic/
346354[ otelcol.exporter.loki ] : ../../reference/components/otelcol/otelcol.exporter.loki/
347355[ otelcol.exporter.otlp ] : ../../reference/components/otelcol/otelcol.exporter.otlp/
356+ [ otelcol.exporter.otlphttp ] : ../../reference/components/otelcol/otelcol.exporter.otlphttp/
348357[ otelcol.exporter.prometheus ] : ../../reference/components/otelcol/otelcol.exporter.prometheus/
349358[ otelcol.processor.batch ] : ../../reference/components/otelcol/otelcol.processor.batch/
359+ [ otelcol.processor.memory_limiter ] : ../../reference/components/otelcol/otelcol.processor.memory_limiter/
350360[ otelcol.receiver.otlp ] : ../../reference/components/otelcol/otelcol.receiver.otlp/
351361[ prometheus.remote_write ] : ../../reference/components/prometheus/prometheus.remote_write/
0 commit comments