菜单
文档breadcrumb arrow Beylabreadcrumb arrow 网络breadcrumb arrow 测量 Cloud 可用区之间的流量
Grafana Cloud

测量 Cloud 可用区之间的流量

注意

此功能目前仅在 Kubernetes 集群中可用。

Cloud 可用区之间的流量可能会产生额外费用。Beyla 可以通过将 src.zonedst.zone 属性添加到常规网络指标中来测量它,或者通过提供一个单独的 beyla.network.inter.zone.bytes (OTEL) / beyla_network_inter_zone_bytes_total (Prometheus) 指标来测量。

src.zonedst.zone 属性添加到常规网络指标中

源和目的地可用区属性在 Beyla 中默认是禁用的。要启用它,请在 Beyla YAML 配置中明确将其添加到包含的网络属性列表中

attributes:
  select:
    beyla_network_flow_bytes:
      include:
        - k8s.src.owner.name
        - k8s.src.namespace
        - k8s.dst.owner.name
        - k8s.dst.namespace
        - k8s.cluster.name
        - src.zone
        - dst.zone

此配置使每个 beyla_network_flow_bytes_total 指标都具有不同的 src_zonedst_zone 属性,从而使区内流量可见。

如果您需要对区内流量测量进行更精细的控制(例如,源/目的地 Pod 或节点),添加区域属性会影响指标的基数,即使对于同一可用区内的流量也是如此。

使用 beyla.network.inter.zone 指标

使用单独的区内流量指标可以减少收集此数据对指标基数的影响,因为 src.zonedst.zone 属性不会添加到常规网络指标中。

要启用 beyla.network.inter.zone 指标,请将 network_inter_zone 选项添加到 BEYLA_OTEL_METRICS_FEATURES 或 BEYLA_PROMETHEUS_FEATURES 配置选项,或其等效的 YAML 选项中。例如,如果 Beyla 配置为通过 OpenTelemetry 导出指标

yaml
otel_metrics_export:
  features:
    - network
    - network_inter_zone

用于测量区内流量的 PromQL 查询

假设 networknetwork_inter_zone 这两个指标族都已启用,您可以使用以下 PromQL 查询来测量区内流量

总区内流量吞吐量

sum(rate(beyla_network_inter_zone_bytes_total[$__rate_interval]))

按源和目的地可用区汇总的区内流量吞吐量

sum(rate(beyla_network_inter_zone_bytes_total[$__rate_interval])) by(src_zone,dst_zone)

总同可用区流量吞吐量

sum(rate(beyla_network_flow_bytes_total[$__rate_interval]))
  - sum(rate(beyla_network_inter_zone_bytes_total[$__rate_interval]))

区内流量占总流量的百分比

100 * sum(rate(beyla_network_inter_zone_bytes_total[$__rate_interval]))
  / sum(rate(beyla_network_flow_bytes_total[$__rate_interval]))