1.3. 定制可观察性


以下部分介绍了对可观察性服务所收集的数据进行自定义、管理和查看的信息。

使用 must-gather 命令收集有关为可观察性资源创建的新信息的日志。如需更多信息,请参阅故障排除文档中的 Must-gather 部分。

1.3.1. 创建自定义规则

通过在可观察性资源中添加 Prometheus 记录规则警报规则,为可观察性安装创建自定义规则。如需更多信息,请参阅 Prometheus 配置

  • 记录规则可让您根据需要预先计算或计算昂贵的表达式。结果保存为一组新的时间序列。
  • 通过警报规则,您可以根据如何将警报发送到外部服务来指定警报条件。

使用 Prometheus 定义自定义规则来创建警报条件,并将通知发送到外部消息服务。:当您更新自定义规则时,observability-thanos-rule pod 会自动重启。

open-cluster-management-observability 命名空间中创建一个名为 thanos-ruler-custom-rules 的 ConfigMap。键必须被命名为 custom_rules.yaml,如下例所示。您可以在配置中创建多个规则。

  • 默认情况下,开箱即用的警报规则在 open-cluster-management-observability 命名空间中的 thanos-ruler-default-rules ConfigMap 中定义。

    例如,您可以创建一个自定义警报规则,在 CPU 使用量超过了您定义的值时通知您。您的 YAML 可能类似以下内容:

    data:
      custom_rules.yaml: |
        groups:
          - name: cluster-health
            rules:
            - alert: ClusterCPUHealth-jb
              annotations:
                summary: Notify when CPU utilization on a cluster is greater than the defined utilization limit
                description: "The cluster has a high CPU usage: {{ $value }} core for {{ $labels.cluster }} {{ $labels.clusterID }}."
              expr: |
                max(cluster:cpu_usage_cores:sum) by (clusterID, cluster, prometheus) > 0
              for: 5s
              labels:
                cluster: "{{ $labels.cluster }}"
                prometheus: "{{ $labels.prometheus }}"
                severity: critical
  • 您还可以在 thanos-ruler-custom-rules ConfigMap 中创建自定义记录规则。

    例如,您可以创建一个记录规则,让您可以获取 pod 的容器内存缓存的总和。您的 YAML 可能类似以下内容:

    data:
      custom_rules.yaml: |
        groups:
          - name: container-memory
            rules:
            - record: pod:container_memory_cache:sum
              expr: sum(container_memory_cache{pod!=""}) BY (pod, container)

    :如果这是第一个新的自定义规则,它会被立即创建。对于 ConfigMap 的更改,会自动重新加载配置。由于 observability-thanos-ruler sidecar 中的 config-reload,所以会重新加载配置。

要验证警报规则是否正常工作,启动 Grafana 仪表板,进入 Explore 页面并查询 ALERTS。只有启动警报时,Grafana 才会在 Grafana 中提供警报。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.