菜单
文档breadcrumb arrow Beylabreadcrumb arrow 配置breadcrumb arrow 导出数据
Grafana Cloud

配置 Beyla Prometheus 和 OpenTelemetry 数据导出

Beyla 可以将 OpenTelemetry 指标和链路追踪导出到 OTLP 端点。

要将指标直接发送到 Grafana Cloud OpenTelemetry 端点,请参阅Grafana Cloud OTLP 端点配置

Grafana Cloud OTLP 端点

您可以在顶级 YAML 部分的 grafana 下配置该组件,或者在 otlp 子部分下配置,也可以通过环境变量进行配置。您可以使用自定义变量将 Beyla 配置为向 Grafana Cloud OTEL 端点提交 OpenTelemetry 数据,从而简化端点和身份验证的设置。

例如

yaml
grafana:
  otlp:
    cloud_zone: prod-eu-west-0
    cloud_instance_id: 123456

您还可以使用标准 OpenTelemetry 变量将指标和链路追踪提交到任何标准 OpenTelemetry 端点,包括 Grafana Cloud。

小写 YAML 选项
大写环境变量选项
描述类型默认值
cloud_submit
GRAFANA_CLOUD_SUBMIT
要提交到 OTLP 端点的数据类型列表。接受 metricstraces 作为值。字符串traces
cloud_zone
GRAFANA_CLOUD_ZONE
您的 Grafana 端点云区域,用于组成 Grafana OTLP URL。有关端点覆盖的重要详细信息,请参阅云区域配置字符串
cloud_instance_id
GRAFANA_CLOUD_INSTANCE_ID
您的 Grafana 用户名。通常是数字,但在 YAML 文件中必须设置为字符串。字符串
cloud_api_key
GRAFANA_CLOUD_API_KEY
您的 Grafana Cloud 账户的 API 密钥。字符串

云区域配置

如果定义了 OTEL_EXPORTER_OTLP_ENDPOINTOTEL_EXPORTER_OTLP_METRICS_ENDPOINTOTEL_EXPORTER_OTLP_TRACES_ENDPOINT 变量中的任何一个,它们将覆盖目标端点,并且 Beyla 将忽略 cloud_zone 配置选项。

OpenTelemetry 指标导出组件

通过在配置文件中或通过环境变量设置 endpoint 属性来启用 OpenTelemetry 指标导出组件,请参阅指标导出配置选项

在 YAML 配置文件的 otel_metrics_export 部分下或通过环境变量配置该组件。

除了本文档中记录的配置外,该组件还支持标准 OpenTelemetry 导出器配置中的环境变量。

Beyla 在 YAML 配置中使用小写字段,在环境变量配置中使用大写名称。

小写 YAML 选项
大写环境变量选项
描述类型默认值
endpoint
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT
Beyla 发送指标的端点。URL
OTEL_EXPORTER_OTLP_ENDPOINT用于指标和链路追踪导出器的共享端点。Beyla 在发送指标时,会按照 OpenTelemetry 标准向 URL 添加 /v1/metrics 路径。要阻止此行为,请使用指标专用的设置。URL
protocol
OTEL_EXPORTER_OTLP_METRICS_PROTOCOL
OpenTelemetry 端点的协议传输/编码,请参阅指标导出协议接受的值包括 http/jsonhttp/protobufgrpc字符串从端口使用推断
OTEL_EXPORTER_OTLP_PROTOCOL与共享端点类似,这是指标和链路追踪的协议。字符串从端口使用推断
insecure_skip_verify
BEYLA_OTEL_INSECURE_SKIP_VERIFY
如果设置为 true,Beyla 会跳过验证并接受任何服务器证书。仅在非生产环境中覆盖此设置。布尔值false
interval
BEYLA_METRICS_INTERVAL
导出之间的持续时间。持续时间60s
features
BEYLA_OTEL_METRICS_FEATURES
Beyla 导出数据的指标组列表,请参阅指标导出特性。接受的值有 applicationapplication_spanapplication_service_graphapplication_processnetworknetwork_inter_zone字符串列表["application"]
allow_service_graph_self_references
BEYLA_OTEL_ALLOW_SERVICE_GRAPH_SELF_REFERENCES
控制 Beyla 是否在服务图生成中包含自引用服务,例如调用自身的服务。自引用会降低服务图的实用性并增加数据基数。布尔值false
instrumentations
BEYLA_OTEL_METRICS_INSTRUMENTATIONS
Beyla 收集数据的指标插桩列表,请参阅指标插桩部分。字符串列表["*"]
buckets设置如何覆盖各种直方图的桶边界,请参阅覆盖直方图桶(不适用)对象
histogram_aggregation
OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION
设置 Beyla 用于直方图仪器的默认聚合方式。接受的值有 explicit_bucket_histogrambase2_exponential_bucket_histogram字符串explicit_bucket_histogram

指标导出协议

如果您未设置协议,Beyla 将按如下方式设置协议

  • grpc:如果端口以 4317 结尾,例如 43171431724317
  • http/protobuf:如果端口以 4318 结尾,例如 43181431824318

指标导出特性

Beyla 指标导出器可以为与指标发现配置中的条目匹配的进程导出以下指标数据组。

  • application:应用级别指标
  • application_span 应用级别链路追踪 Span 指标
  • application_service_graph:应用级别服务图指标。建议使用 DNS 进行服务发现,并确保 DNS 名称与 Beyla 使用的 OpenTelemetry 服务名称匹配。在 Kubernetes 环境中,服务名称发现设置的 OpenTelemetry 服务名称是服务图指标的最佳选择。
  • application_process:关于运行被插桩应用的进程的指标
  • network:网络级别指标,请参阅网络指标配置文档了解更多信息
  • network_inter_zone:网络区域间指标,请参阅网络指标配置文档了解更多信息

指标插桩

Beyla 可以收集数据的插桩区域列表

  • *:所有插桩,如果存在 *,Beyla 将忽略其他值
  • http:HTTP/HTTPS/HTTP2 应用指标
  • grpc:gRPC 应用指标
  • sql:SQL 数据库客户端调用指标
  • redis:Redis 客户端/服务器数据库指标
  • kafka:Kafka 客户端/服务器消息队列指标

例如,将 instrumentations 选项设置为 http,grpc 将启用 HTTP/HTTPS/HTTP2gRPC 应用指标的收集,并禁用其他插桩。

OpenTelemetry 链路追踪导出组件

您可以在 YAML 配置文件的 otel_traces_export 部分下或通过环境变量配置该组件。

除了本文档中记录的配置外,该组件还支持标准 OpenTelemetry 导出器配置中的环境变量。

小写 YAML 选项
大写环境变量选项
描述类型默认值
endpoint
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
OTEL_EXPORTER_OTLP_ENDPOINT
Beyla 发送链路追踪的端点。当使用 OTEL_EXPORTER_OTLP_ENDPOINT 时,Beyla 会遵循 OpenTelemetry 标准,自动向 URL 添加 /v1/traces 路径。如果您不希望发生这种情况,请使用链路追踪专用的设置。URL
protocol
OTEL_EXPORTER_OTLP_TRACES_PROTOCOL
OTEL_EXPORTER_OTLP_PROTOCOL
OpenTelemetry 端点的协议传输/编码,请参阅链路追踪导出协议接受的值包括 http/jsonhttp/protobufgrpc字符串从端口使用推断
insecure_skip_verify
BEYLA_OTEL_INSECURE_SKIP_VERIFY
如果设置为 true,Beyla 会跳过验证并接受任何服务器证书。仅在非生产环境中覆盖此设置。布尔值false
instrumentations
BEYLA_OTEL_TRACES_INSTRUMENTATIONS
Beyla 收集数据的插桩列表,请参阅链路追踪插桩部分。字符串列表["*"]

链路追踪导出协议

如果您未设置协议,Beyla 将按如下方式设置协议

  • grpc:如果端口以 4317 结尾,例如 43171431724317
  • http/protobuf:如果端口以 4318 结尾,例如 43181431824318

链路追踪插桩

Beyla 可以收集数据的插桩区域列表

  • *:所有插桩,如果存在 *,Beyla 将忽略其他值
  • http:HTTP/HTTPS/HTTP2 应用链路追踪
  • grpc:gRPC 应用链路追踪
  • sql:SQL 数据库客户端调用链路追踪
  • redis:Redis 客户端/服务器数据库链路追踪
  • kafka:Kafka 客户端/服务器消息队列链路追踪

例如,将 instrumentations 选项设置为 http,grpc 将启用 HTTP/HTTPS/HTTP2gRPC 应用链路追踪的收集,并禁用其他插桩。

Prometheus 导出组件

您可以在 YAML 配置文件的 prometheus_export 部分下或通过环境变量配置该组件。此组件在自动插桩工具中打开一个 HTTP 端点,允许任何外部抓取器以 Prometheus 格式拉取指标。如果设置了 port 属性,则此组件会被启用。

注意

Prometheus 抓取器可能会覆盖 instancejob 标签的值。要保留 Beyla 设置的原始值,请参阅Grafana Alloy Prometheus 抓取组件文档

小写 YAML 选项
大写环境变量选项
描述类型默认值
port
BEYLA_PROMETHEUS_PORT
Prometheus 抓取端点的 HTTP 端口。如果未设置或设置为 0,则不打开 Prometheus 端点。整型
path
BEYLA_PROMETHEUS_PATH
用于获取 Prometheus 指标列表的 HTTP 查询路径。字符串/metrics
extra_resource_attributes
BEYLA_PROMETHEUS_EXTRA_RESOURCE_ATTRIBUTES
要添加到报告的 target_info 指标中的附加资源属性列表。有关运行时发现的属性的重要详细信息,请参阅额外资源属性字符串列表
ttl
BEYLA_PROMETHEUS_TTL
指标实例在未更新后不再报告的持续时间。用于避免无限期地报告已完成的应用实例。持续时间5m
buckets设置如何覆盖各种直方图的桶边界,请参阅覆盖直方图桶对象
features
BEYLA_PROMETHEUS_FEATURES
Beyla 导出数据的指标组列表,请参阅Prometheus 导出特性字符串列表["application"]
allow_service_graph_self_references
BEYLA_PROMETHEUS_ALLOW_SERVICE_GRAPH_SELF_REFERENCES
Beyla 是否在服务图生成中包含自引用服务。自引用对服务图没有用处,并会增加数据基数。布尔值false
instrumentations
BEYLA_PROMETHEUS_INSTRUMENTATIONS
Beyla 收集数据的插桩列表,请参阅Prometheus 插桩部分。字符串列表["*"]

Prometheus 额外资源属性

由于 Prometheus API 客户端的内部限制,Beyla 需要提前知道每个指标会暴露哪些属性。这会导致在插桩过程中运行时发现的一些属性默认不可见。例如,通过 Kubernetes 注解或在目标应用的 OTEL_RESOURCE_ATTRIBUTES 环境变量中定义的属性。

例如,一个应用将 OTEL_RESOURCE_ATTRIBUTES=deployment.environment=production 定义为环境变量,如果通过 OpenTelemetry 导出指标,则 target_info{deployment.environment="production"} 属性默认可见,但如果通过 Prometheus 导出,则不可见。

要使 deployment_environment 在 Prometheus 中可见,您需要将其添加到 extra_resource_attributes 列表中。

Prometheus 导出特性

Prometheus 指标导出器可以导出以下指标数据组

  • application:应用级别指标
  • application_span:应用级别链路追踪 Span 指标
  • application_service_graph:应用级别服务图指标。建议使用 DNS 进行服务发现,并确保 DNS 名称与 Beyla 使用的 OpenTelemetry 服务名称匹配。在 Kubernetes 环境中,服务名称发现设置的 OpenTelemetry 服务名称是服务图指标的最佳选择。
  • application_process:关于运行被插桩应用的进程的指标
  • network:网络级别指标,请参阅网络指标配置文档了解更多信息
  • network_inter_zone:网络区域间指标,请参阅网络指标配置文档了解更多信息

Prometheus 插桩

Beyla 可以收集数据的插桩区域列表

  • *:所有插桩,如果存在 *,Beyla 将忽略其他值
  • http:HTTP/HTTPS/HTTP2 应用指标
  • grpc:gRPC 应用指标
  • sql:SQL 数据库客户端调用指标
  • redis:Redis 客户端/服务器数据库指标
  • kafka:Kafka 客户端/服务器消息队列指标

例如,将 instrumentations 选项设置为 http,grpc 将启用 HTTP/HTTPS/HTTP2gRPC 应用指标的收集,并禁用其他插桩。