07.6Alloy导出到Grafana Stack

分类: Grafana Alloy和OpenTelemetry Collector

Alloy 导出到 Grafana Stack

Alloy 原生支持 Grafana Stack 的所有组件。今天我们要学习:导出到 Prometheus、导出到 Loki、导出到 Tempo、以及导出到 Mimir。

导出到 Prometheus

导出到 Prometheus 使用什么方式? 使用 Prometheus Remote Write。这是 Prometheus 的标准写入协议。

配置步骤:

第一步:配置 Prometheus Remote Write。 配置 Prometheus 的写入端点,通常是

http://localhost:9090/api/v1/write
。如果需要认证,可以配置 basic_auth。

第二步:配置 Prometheus Exporter。 使用

otelcol.exporter.prometheus
,通过
forward_to
连接到 Remote Write 的 receiver。

第三步:连接 Processor 和 Exporter。 Processor 的输出(

output.metrics
)指向 Exporter 的输入(
input
)。这样数据流就连接起来了。

导出流程: OTLP Metrics → Processor(批处理)→ Prometheus Exporter → Remote Write → Prometheus。

导出到 Loki

导出到 Loki 使用什么方式? 使用 Loki Write API。这是 Loki 的标准写入接口,通常是

/loki/api/v1/push

配置步骤:

第一步:配置 Loki Write。 配置 Loki 的推送端点,通常是

http://localhost:3100/loki/api/v1/push
。可以配置外部标签(external_labels),这些标签会添加到所有日志流。

第二步:配置 Loki Exporter。 使用

otelcol.exporter.loki
,通过
forward_to
连接到 Loki Write 的 receiver。

第三步:连接 Processor 和 Exporter。 Logs Processor 的输出(

output.logs
)指向 Loki Exporter 的输入(
input
)。

导出流程: OTLP Logs → Processor(批处理)→ Loki Exporter → Loki Write → Loki。

导出到 Tempo

导出到 Tempo 使用什么方式? 使用 Tempo Write API。这是 Tempo 的标准写入接口,通常是

/api/push

配置步骤:

第一步:配置 Tempo Write。 配置 Tempo 的推送端点,通常是

http://localhost:3200/api/push
。可以配置外部标签(external_labels),这些标签会添加到所有追踪数据。

第二步:配置 Tempo Exporter。 使用

otelcol.exporter.tempo
,通过
forward_to
连接到 Tempo Write 的 receiver。

第三步:连接 Processor 和 Exporter。 Traces Processor 的输出(

output.traces
)指向 Tempo Exporter 的输入(
input
)。

导出流程: OTLP Traces → Processor(批处理)→ Tempo Exporter → Tempo Write → Tempo。

导出到 Mimir

导出到 Mimir 使用什么方式? 使用 Prometheus Remote Write(兼容)。Mimir 兼容 Prometheus Remote Write API,所以我们可以使用

prometheus.remote_write
组件。

配置步骤:

第一步:配置 Prometheus Remote Write(指向 Mimir)。 配置 Mimir 的写入端点,通常是

http://mimir:9009/api/v1/push
。Mimir 可能需要租户 ID,在 headers 中配置
X-Scope-OrgID

第二步:配置 Prometheus Exporter。 可以使用两种方式:创建单独的 Exporter 专门导出到 Mimir,或者在现有 Exporter 的

forward_to
中添加 Mimir。

第三步:连接 Processor 和 Exporter。 Processor 的输出可以同时指向多个 Exporter,在

output.metrics
中使用数组。

导出流程: OTLP Metrics → Processor(批处理)→ Prometheus Exporter → Remote Write → Mimir。

导出方式对比

本节小结

在本节中,我们学习了 Alloy 导出到 Grafana Stack:

第一个是导出到 Prometheus。 使用 Prometheus Remote Write。

第二个是导出到 Loki。 使用 Loki Write API。

第三个是导出到 Tempo。 使用 Tempo Write API。

第四个是导出到 Mimir。 使用 Prometheus Remote Write(兼容)。

Grafana Stack 导出总结: Alloy 可以导出到 Prometheus(Remote Write)、Loki(Write API)、Tempo(Write API)、Mimir(Remote Write)。Alloy 原生支持 Grafana Stack 的所有组件。

这就是 Alloy 导出到 Grafana Stack。Alloy 原生支持 Grafana Stack 的所有组件。

在下一节,我们将学习 Alloy 高级配置。学习多租户、采样、批处理优化、错误处理。