网络指标
Grafana Beyla 可以配置为提供不同端点之间的网络指标。例如,物理节点、容器、Kubernetes Pod、服务等之间。
入门
要开始使用 Beyla 网络指标,请参阅快速入门设置文档;要进行高级配置,请参阅配置文档。
指标属性
Beyla 提供两类网络指标
- 网络流字节数,即在两个网络端点之间观察到的字节数。
- 如果通过 OpenTelemetry 导出,则为
beyla.network.flow.bytes
。 - 如果由 Prometheus 端点导出,则为
beyla_network_flow_bytes_total
。 - 要启用它,请将
network
选项添加到 BEYLA_OTEL_METRICS_FEATURES 或 BEYLA_PROMETHEUS_FEATURES 配置选项中。
- 如果通过 OpenTelemetry 导出,则为
- 区域间字节数,即在不同云可用区中两个网络端点之间观察到的字节数。
- 如果通过 OpenTelemetry 导出,则为
beyla.network.inter.zone.bytes
。 - 如果由 Prometheus 端点导出,则为
beyla_network_inter_zone_bytes_total
。 - 有关如何启用它的更多信息,请参阅测量云可用区之间的流量文档。
- 如果通过 OpenTelemetry 导出,则为
网络指标可以具有下表中列出的属性。
默认情况下,仅报告以下属性用于网络流字节数:k8s.src.owner.name
、k8s.src.namespace
、k8s.dst.owner.name
、k8s.dst.namespace
和 k8s.cluster.name
。
对于区域间字节指标,默认属性为 k8s.cluster.name
、src.zone
和 dst.zone
。
属性名称 (OpenTelemetry / Prometheus) | 描述 |
---|---|
beyla.ip / beyla_ip | 发出指标的 Beyla 实例的本地 IP 地址 |
传输 | L4 传输协议(例如,TCP 或 UDP ) |
src.address / src_address | 网络流的源 IP 地址 |
dst.address / dst_address | 网络流的目标 IP 地址 |
src.port / src_port | 网络流的源端口 |
dst.port / dst_port | 网络流的目标端口 |
src.name / src_name | 网络流源的名称:Kubernetes 名称、主机名或 IP 地址 |
dst.name / dst_name | 网络流目标的名称:Kubernetes 名称、主机名或 IP 地址 |
src.cidr / src_cidr | 如果设置了cidrs 配置部分,则为与源 IP 地址匹配的 CIDR |
dst.cidr / dst_cidr | 如果设置了cidrs 配置部分,则为与目标 IP 地址匹配的 CIDR |
k8s.src.namespace / k8s_src_namespace | 流源的 Kubernetes 命名空间 |
k8s.dst.namespace / k8s_dst_namespace | 流目标的 Kubernetes 命名空间 |
k8s.src.name / k8s_src_name | 源 Pod、Service 或 Node 的名称 |
k8s.dst.name / k8s_dst_name | 目标 Pod、Service 或 Node 的名称 |
k8s.src.type / k8s_src_type | 源的类型:Pod 、Node 或 Service |
k8s.dst.type / k8s_dst_type | 目标的类型:Pod 、Node 或 Service |
k8s.src.owner.name / k8s_src_owner_name | 源 Pod 所有者的名称。如果没有所有者,则使用 Pod 名称 |
k8s.dst.owner.name / k8s_dst_owner_name | 目标 Pod 所有者的名称。如果没有所有者,则使用 Pod 名称 |
k8s.src.owner.type / k8s_src_owner_type | 源 Pod 所有者的类型:Deployment 、DaemonSet 、ReplicaSet 、StatefulSet 或 Pod (如果没有所有者) |
k8s.dst.owner.type / k8s_dst_owner_type | 目标 Pod 所有者的类型:Deployment 、DaemonSet 、ReplicaSet 、StatefulSet 或 Pod (如果没有所有者) |
k8s.src.node.ip / k8s_src_node_ip | 源 Node 的 IP 地址 |
k8s.dst.node.ip / k8s_dst_node_ip | 目标 Node 的 IP 地址 |
k8s.src.node.name / k8s_src.node_name | 源 Node 的名称 |
k8s.dst.node.name / k8s_dst.node_name | 目标 Node 的名称 |
k8s.cluster.name / k8s_cluster_name | Kubernetes 集群的名称。Beyla 可以在 Google Cloud、Microsoft Azure 和 Amazon Web Services 上自动检测。对于其他提供商,请设置 BEYLA_KUBE_CLUSTER_NAME 属性 |
src.zone / src_zone | 源云可用区的名称 |
dsg.zone / dst_zone | 目标云可用区的名称 |
如何指定报告的属性
如果报告具有所有可能属性的指标,可能会导致基数爆炸,尤其是在 src.address
/dst.address
属性中包含外部流量时。
您可以在 Beyla 配置中指定允许哪些属性,以按这些属性聚合指标。
例如
network:
enable: true
attributes:
kubernetes:
enable: true
select:
beyla_network_flow_bytes:
include:
- k8s.src.owner.name
- k8s.src.namespace
- k8s.dst.owner.name
- k8s.dst.namespace
- k8s.cluster.name
在此示例中,字节指标按源和目标所有者聚合。也就是说,来自特定 Deployment/StatefulSet/ReplicaSet/DaemonSet 的所有 Pod。
有关 attributes.select
部分的更多信息,请查看配置选项。