菜单
开源

选择 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.* 组件收集性能画像。