选择 Grafana Alloy 组件
组件是 Grafana Alloy 的构建块,数量庞大。数量庞大。您选择和配置的组件取决于您想要收集的遥测信号。
基础设施指标
使用 prometheus.*
组件收集基础设施指标。这能为您带来最佳的 Grafana Infrastructure Observability 体验。
例如,您可以使用 prometheus.exporter.unix
获取 Linux 主机的指标,使用 prometheus.exporter.mongodb
获取 MongoDB 实例的指标。
您也可以使用 prometheus.scrape
抓取任何 Prometheus 端点。使用 discovery.*
组件查找 prometheus.scrape
的目标。
应用程序指标
使用 otelcol.receiver.*
组件收集应用程序指标。这能为您带来最佳的 Grafana Application Observability 体验,该功能是 OpenTelemetry 原生的。
例如,使用 otelcol.receiver.otlp
收集 OpenTelemetry 仪表化应用程序的指标。
如果您的应用程序已经通过 Prometheus 指标进行了仪表化,则无需使用 otelcol.*
组件。请对整个管道使用 prometheus.*
组件,并通过 prometheus.remote_write
发送指标。
基础设施日志
使用 loki.*
组件收集基础设施日志。loki.*
组件会以类似 Prometheus 指标的方式标记您的日志。这使得将 prometheus.*
组件收集的基础设施指标与 loki.*
组件收集的日志相关联变得容易。
例如,prometheus.*
和 loki.*
组件用于 Kubernetes 命名空间的标签都称为 namespace
。另一方面,使用 otelcol.*
组件收集日志可能会使用 OpenTelemetry 语义标签 k8s.namespace.name
,这与 Prometheus 生态系统中常见的 namespace
标签不对应。
应用程序日志
使用 otelcol.receiver.*
组件收集应用程序日志。这会以 OpenTelemetry 原生方式收集应用程序日志,使得将日志与来自应用程序的 OpenTelemetry 指标和追踪关联起来变得更容易。所有应用程序遥测数据必须遵循 OpenTelemetry 语义约定,从而简化这种关联。
例如,如果您的应用程序运行在 Kubernetes 上,每个追踪、日志和指标都可以有一个 k8s.namespace.name
资源属性。
追踪
使用 otelcol.receiver.*
组件收集追踪。
如果您的应用程序尚未进行追踪仪表化,请使用 beyla.ebpf
自动为其生成追踪。
性能画像
使用 pyroscope.*
组件收集性能画像。