×

您可以使用Web控制台监控与网络可观测性操作符健康相关的警报。

健康仪表盘

关于网络可观测性操作符的健康和资源使用情况的指标位于Web控制台的**观察**→**仪表盘**页面中。您可以查看以下类别中操作符健康的指标:

  • 每秒流量

  • 采样

  • 最近一分钟的错误

  • 每秒丢弃的流量

  • Flowlogs-pipeline统计信息

  • Flowlogs-pipleine统计信息视图

  • eBPF代理统计信息视图

  • 操作符统计信息

  • 资源使用情况

健康警报

如果触发警报,则会在**网络流量**和**主页**页面上显示一个健康警报横幅,引导您到仪表盘。在以下情况下会生成警报:

  • 如果flowlogs-pipeline工作负载由于Loki错误(例如达到Loki摄取速率限制)而丢弃流量,则会发生NetObservLokiError警报。

  • 如果在一定时间内没有摄取任何流量,则会发生NetObservNoFlows警报。

  • 如果网络可观测性eBPF代理哈希映射表已满,并且eBPF代理以性能下降的方式处理流量,或者当容量限制器被触发时,则会发生NetObservFlowsDropped警报。

查看健康信息

您可以从Web控制台的**仪表盘**页面访问关于网络可观测性操作符的健康和资源使用情况的指标。

先决条件
  • 您已安装网络可观测性操作符。

  • 您可以作为具有cluster-admin角色或具有所有项目查看权限的用户访问集群。

步骤
  1. 在Web控制台中,以**管理员**身份导航到**观察**→**仪表盘**。

  2. 从**仪表盘**下拉菜单中,选择**Netobserv/Health**。

  3. 查看页面上显示的操作符健康指标。

禁用健康警报

您可以通过编辑FlowCollector资源来选择退出健康警报

  1. 在Web控制台中,导航到**操作符**→**已安装的操作符**。

  2. 在**NetObserv操作符**的**提供的API**标题下,选择**Flow Collector**。

  3. 选择**集群**,然后选择**YAML**选项卡。

  4. 添加spec.processor.metrics.disableAlerts以禁用健康警报,如下面的YAML示例所示:

    apiVersion: flows.netobserv.io/v1beta2
    kind: FlowCollector
    metadata:
      name: cluster
    spec:
      processor:
        metrics:
          disableAlerts: [NetObservLokiError, NetObservNoFlows] (1)
    1 您可以指定一个或一个包含两种类型的警报列表来禁用。

为NetObserv仪表盘创建Loki速率限制警报

您可以为Netobserv仪表盘指标创建自定义告警规则,以便在达到Loki速率限制时触发告警。

先决条件
  • 您已以集群管理员角色的用户身份或具有所有项目查看权限的用户身份访问集群。

  • 您已安装网络可观测性操作符。

步骤
  1. 单击导入图标+创建YAML文件。

  2. 向YAML文件添加告警规则配置。在下面的YAML示例中,当达到Loki速率限制时会创建一个告警。

    apiVersion: monitoring.openshift.io/v1
    kind: AlertingRule
    metadata:
      name: loki-alerts
      namespace: openshift-monitoring
    spec:
      groups:
      - name: LokiRateLimitAlerts
        rules:
        - alert: LokiTenantRateLimit
          annotations:
            message: |-
              {{ $labels.job }} {{ $labels.route }} is experiencing 429 errors.
            summary: "At any number of requests are responded with the rate limit error code."
          expr: sum(irate(loki_request_duration_seconds_count{status_code="429"}[1m])) by (job, namespace, route) / sum(irate(loki_request_duration_seconds_count[1m])) by (job, namespace, route) * 100 > 0
          for: 10s
          labels:
            severity: warning
  3. 单击创建将配置文件应用于集群。

使用eBPF代理告警

当网络可观测性eBPF代理哈希映射表已满或容量限制器被触发时,会触发NetObservAgentFlowsDropped告警。如果看到此告警,请考虑增加FlowCollector中的cacheMaxFlows,如下例所示。

增加cacheMaxFlows可能会增加eBPF代理的内存使用量。

步骤
  1. 在Web控制台中,导航到**操作符**→**已安装的操作符**。

  2. 网络可观测性操作符提供的API标题下,选择Flow Collector

  3. 选择集群,然后选择YAML选项卡。

  4. 增加spec.agent.ebpf.cacheMaxFlows值,如下面的YAML示例所示。

apiVersion: flows.netobserv.io/v1beta2
kind: FlowCollector
metadata:
  name: cluster
spec:
  namespace: netobserv
  deploymentModel: Direct
  agent:
    type: eBPF
    ebpf:
      cacheMaxFlows: 200000 (1)
1 cacheMaxFlows值从NetObservAgentFlowsDropped告警发生时的值增加。
其他资源