×

FlowMetric [flows.netobserv.io/v1alpha1]

描述

FlowMetric 是允许根据收集到的流量日志创建自定义指标的 API。

类型

对象

属性 类型 描述

apiVersion

字符串

APIVersion 定义此对象的表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可能会根据客户端提交请求的端点推断这一点。不能更新。使用驼峰命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

对象

标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

对象

FlowMetricSpec 定义 FlowMetric 的期望状态。提供的 API 允许您根据需要自定义这些指标。

添加新指标或修改现有标签时,必须仔细监控 Prometheus 工作负载的内存使用情况,因为这可能会产生很大的影响。参见 https://rhobs-handbook.netlify.app/products/openshiftmonitoring/telemetry.md/#what-is-the-cardinality-of-a-metric

要检查所有网络可观测性指标的基数,请运行以下命令:promql: count({name=~"netobserv.*"}) by (name)

.元数据

描述
类型

对象

.规范

描述

FlowMetricSpec 定义 FlowMetric 的期望状态。提供的 API 允许您根据需要自定义这些指标。

添加新指标或修改现有标签时,必须仔细监控 Prometheus 工作负载的内存使用情况,因为这可能会产生很大的影响。参见 https://rhobs-handbook.netlify.app/products/openshiftmonitoring/telemetry.md/#what-is-the-cardinality-of-a-metric

要检查所有网络可观测性指标的基数,请运行以下命令:promql: count({name=~"netobserv.*"}) by (name)

类型

对象

必需
  • metricName

  • 类型

属性 类型 描述

buckets

数组 (字符串)

type 为 "Histogram" 时使用的桶列表。该列表必须可解析为浮点数。未设置时,使用 Prometheus 默认桶。

charts

数组

图表配置,用于管理员视图中 OpenShift Container Platform 控制台的“仪表盘”菜单。

direction

字符串

用于入口、出口或任何方向流量的过滤器。设置为Ingress 时,相当于在FlowDirection 上添加正则表达式过滤器:0|2。设置为Egress 时,相当于在FlowDirection 上添加正则表达式过滤器:1|2

divider

字符串

非零时,值的比例因子(除数)。指标值 = 流值 / 除数。

filters

数组

filters 是用于限制考虑哪些流量的字段和值的列表。通常,必须使用这些过滤器来消除重复项:Duplicate != "true"FlowDirection = "0"。有关可用字段列表,请参阅文档:https://docs.openshift.org.cn/container-platform/latest/observability/network_observability/json-flows-format-reference.html

labels

数组 (字符串)

labels 是一个字段列表,应该用作 Prometheus 标签,也称为维度。选择标签决定了此指标的粒度级别以及查询时的可用聚合。必须谨慎操作,因为它会影响指标基数(参见 https://rhobs-handbook.netlify.app/products/openshiftmonitoring/telemetry.md/#what-is-the-cardinality-of-a-metric)。一般来说,应避免设置基数非常高的标签,例如 IP 地址或 MAC 地址。“SrcK8S_OwnerName” 或 “DstK8S_OwnerName” 应尽可能优先于 “SrcK8S_Name” 或 “DstK8S_Name”。有关可用字段列表,请参考文档:https://docs.openshift.org.cn/container-platform/latest/observability/network_observability/json-flows-format-reference.html

metricName

字符串

指标名称。在 Prometheus 中,它会自动加上前缀 "netobserv_"。

remap

对象 (字符串)

设置 remap 属性,以便为生成的指标标签使用与流字段不同的名称。使用原始流字段作为键,使用所需的标签名称作为值。

类型

字符串

指标类型:“计数器” 或 “直方图”。对于随时间推移增加并可对其计算速率的值(例如字节或数据包),请使用“计数器”。对于必须独立采样的值(例如延迟),请使用“直方图”。

valueField

字符串

valueField 是必须用作此指标值的流字段。此字段必须包含数值。保留为空以计数流,而不是每个流的特定值。有关可用字段列表,请参考文档:https://docs.openshift.org.cn/container-platform/latest/observability/network_observability/json-flows-format-reference.html

.spec.charts

描述

图表配置,用于管理员视图中 OpenShift Container Platform 控制台的“仪表盘”菜单。

类型

数组

.spec.charts[]

描述

配置与指标关联的图表/仪表板生成

类型

对象

必需
  • dashboardName

  • queries

  • title

  • 类型

属性 类型 描述

dashboardName

字符串

包含仪表板的名称。如果此名称未引用现有仪表板,则会创建一个新仪表板。

queries

数组

在此图表上显示的查询列表。如果 typeSingleStat 并提供了多个查询,则此图表会自动扩展到多个面板(每个查询一个)。

sectionName

字符串

包含仪表板部分的名称。如果此名称未引用现有部分,则会创建一个新部分。如果省略或为空 sectionName,则图表将放置在全局顶部部分。

title

字符串

图表的标题。

类型

字符串

图表的类型。

unit

字符串

此图表的单位。目前仅支持少量单位。保留为空以使用通用数字。

.spec.charts[].queries

描述

在此图表上显示的查询列表。如果 typeSingleStat 并提供了多个查询,则此图表会自动扩展到多个面板(每个查询一个)。

类型

数组

.spec.charts[].queries[]

描述

配置 PromQL 查询

类型

对象

必需
  • legend

  • promQL

  • top

属性 类型 描述

legend

字符串

应用于此图表中表示的每个时间序列的查询图例。当显示多个时间序列时,应设置一个区分每个时间序列的图例。可以使用以下格式:{{ Label }}。例如,如果 promQL 按标签对时间序列进行分组,例如:sum(rate($METRIC[2m])) by (Label1, Label2),则可以将图例写为:Label1={{ Label1 }}, Label2={{ Label2 }}

promQL

字符串

要针对 Prometheus 运行的 promQL 查询。如果图表的 typeSingleStat,则此查询应仅返回单个时间序列。对于其他类型,将显示前 7 个。可以使用 $METRIC 来引用此资源中定义的指标。例如:sum(rate($METRIC[2m]))。要了解有关 promQL 的更多信息,请参考 Prometheus 文档:https://prometheus.ac.cn/docs/prometheus/latest/querying/basics/

top

整数

每个时间戳显示的前 N 个序列。不适用于 SingleStat 图表类型。

.spec.filters

描述

filters 是用于限制考虑哪些流量的字段和值的列表。通常,必须使用这些过滤器来消除重复项:Duplicate != "true"FlowDirection = "0"。有关可用字段列表,请参阅文档:https://docs.openshift.org.cn/container-platform/latest/observability/network_observability/json-flows-format-reference.html

类型

数组

.spec.filters[]

描述
类型

对象

必需
  • field

  • matchType

属性 类型 描述

field

字符串

要过滤的字段名称

matchType

字符串

要应用的匹配类型

value

字符串

要过滤的值。当 matchTypeEqualNotEqual 时,可以使用字段注入 $(SomeField) 来引用流的任何其他字段。