搜索

5.4. UI 插件故障排除

download PDF
重要

Cluster Observability Operator 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

OpenShift Container Platform 版本 4.16+ 的故障排除 UI 插件提供可观察信号关联,由开源 Korrel8r 项目提供支持。使用 Observe Alerting 下的故障排除面板,您可以在不同的数据存储中轻松关联指标、日志、警报、网络流和其他可观察信号和资源。OpenShift Container Platform 版本 4.17+ 的用户还可以访问 Application Launcher app launcher 中的故障排除 UI 面板。

当您安装故障排除 UI 插件时,名为 korrel8rKorrel8r 服务会部署到同一命名空间中,并且能够从其关联引擎中查找相关的可观察信号和 Kubernetes 资源。

Korrel8r 的输出以 OpenShift Container Platform Web 控制台中的交互式节点图的形式显示。图中的节点代表资源类型或信号,而边缘代表关系。当您点节点时,您可以使用该节点的具体信息自动重定向到对应的 web 控制台页面,如 metric、log、pod。

5.4.1. 安装 Cluster Observability Operator Troubleshooting UI 插件

先决条件

  • 您可以使用具有 cluster-admin 集群角色的用户身份访问集群。
  • 已登陆到 OpenShift Container Platform Web 控制台。
  • 已安装 Cluster Observability Operator

流程

  1. 在 OpenShift Container Platform web 控制台中,点 Operators Installed Operators 并选择 Cluster Observability Operator
  2. 选择 UI Plugin 选项卡(在选项卡列表的最右侧),然后按 Create UIPlugin
  3. 选择 YAML 视图,输入以下内容,然后按 Create

    apiVersion: observability.openshift.io/v1alpha1
    kind: UIPlugin
    metadata:
      name: troubleshooting-panel
    spec:
      type: TroubleshootingPanel

5.4.2. 使用 Cluster Observability Operator 对 UI 插件进行故障排除

先决条件

  • 您可以使用具有 cluster-admin 集群角色的用户身份访问 OpenShift Container Platform 集群。如果集群版本是 4.17+,您可以从 Application Launcher app launcher 访问 UI 面板。
  • 已登陆到 OpenShift Container Platform Web 控制台。
  • 如果要视觉化关联的日志,则已安装 OpenShift Container Platform Logging。
  • 如果要视觉化关联了 netflows,则已安装 OpenShift Container Platform Network Observability。
  • 已安装 Cluster Observability Operator。
  • 已安装 Cluster Observability Operator 故障排除 UI 插件。

    注意

    故障排除面板依赖于集群中安装的可观察信号存储。Kuberenetes 资源、警报和指标在 OpenShift Container Platform 集群中始终可用。其他信号类型需要安装可选组件:

    • 日志 : 由红帽提供的 Red Hat Openshift Logging (集合)和 Loki Operator (存储)
    • 网络事件: 红帽提供的网络可观察性(集合)和 Loki Operator (存储)

    流程

    1. 在 Web 控制台的 admin 视角中,导航到 Observe Alerting,然后选择警报。如果警报关联了项目,则会在警报详情页面的图表上方显示 Troubleshooting Panel 链接。

      面板链接故障排除

      单击 Troubleshooting Panel 链接以显示面板。

    2. 面板由查询详情和查询结果的拓扑图组成。所选警报转换为 Korrel8r 查询字符串,并发送到 korrel8r 服务。结果显示为一个图形网络,连接返回的信号和资源。这是一个邻居图形,从当前资源开始,包括从起点到 3 个步骤的相关对象。点图中的节点会进入相应的 web 控制台页面。
    3. 您可以使用故障排除面板查找与所选警报相关的资源。

      注意

      点某个节点有时可能会显示比图形上指示要少的结果。这是一个已知问题,将在以后的发行版本中解决。

      故障排除面板
      1. 警报(1): 此节点是图中的起点,代表 web 控制台中显示的 KubeContainerWaiting 警报。
      2. 容器集(1) :此节点表示与此警报关联的单个 Pod 资源。单击此节点将打开控制台搜索,直接显示相关的 pod。
      3. 事件(2) :与 pod 关联的两个 Kuberenetes 事件。点此节点查看事件。
      4. 日志(74): 此 pod 具有 74 行的日志行,您可以通过点这个节点来访问这些日志。
      5. Metrics (105): 与 pod 关联的多个指标。
      6. 网络(6): 有网络事件,即 pod 通过网络通信。图中的其余节点代表 pod 进行通信的服务、DeploymentDaemonSet 资源。
      7. 关注 : 点此按钮更新图形。默认情况下,当您点图形中的节点时,图形本身不会改变。相反,主 Web 控制台页面会改变,然后使用页面上的链接导航到其他资源,而故障排除面板本身则保持打开且保持不变。要强制更新故障排除面板中的图形,请单击oc us。这将使用 web 控制台中的当前资源作为起点来绘制新的图形。
      8. show Query: 点这个按钮启用一些实验性功能:

        实验性功能
        1. 隐藏 Query 隐藏了实验性功能。
        2. 标识图形起点的查询。查询语言是用于创建图形的 Korrel8r 关联引擎的一部分,是实验性的,可能会在以后有所变化。该查询由 Focus 按钮更新,以对应于主 Web 控制台窗口中的资源。
        3. Neighbourhood depth 用于显示一个较小的或大于邻居的深度。

          注意

          如果结果太大,在大型集群中设置较大的值可能会导致查询失败。

        4. 目标类 会导致目标定向搜索而不是邻居搜索。目标定向搜索显示从起点到目标类的所有路径,该类表示资源类型或信号。目标类的格式是实验性的,可能会改变。目前,以下目标有效:

          • k8s:RESOURCE[VERSION.[GROUP]] 可识别种类 kuberenetes 资源。例如 k8s:Podk8s:Deployment.apps.v1
          • alert: alerting any alert。
          • metric:metric 代表任何指标。
          • NetFlow: 网络 代表任何网络可观察性网络事件。
          • log:LOG_TYPE 代表存储的日志,其中 LOG_TYPE 必须是 应用程序infrastructureaudit 之一。

5.4.3. 创建示例警报

要触发警报作为在故障排除 UI 面板中使用的起点,您可以部署有意错误配置的容器。

流程

  1. 使用以下 YAML (从命令行或 web 控制台中)在系统命名空间中创建损坏的部署:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: bad-deployment
      namespace: default 1
    spec:
      selector:
        matchLabels:
          app: bad-deployment
      template:
        metadata:
          labels:
            app: bad-deployment
        spec:
          containers: 2
          - name: bad-deployment
            image: quay.io/openshift-logging/vector:5.8
    1
    部署必须位于系统命名空间中(如 默认)才能导致所需的警报。
    2
    这个容器会有意尝试在没有配置文件的情况下启动 向量 服务器。服务器记录一些消息,然后退出并显示错误。或者,您可以部署任何您喜欢的容器配置错误,从而导致它触发警报。
  2. 查看警报:

    1. 前往 Observe Alerting,再单击 清除所有过滤器。查看 Pending 警报。

      重要

      第一次显示处于 Pending 状态的警报。它们不会在容器崩溃一段时间后才会启动 Firing。通过查看 Pending 警报,您不必等待很长时间才能看到它们。

    2. 选择 KubeContainerWaitingKubePodCrashLoopingKubePodNotReady 警报之一,然后点击链接来打开故障排除面板。或者,如果面板已经打开,点 "Focus" 按钮来更新图形。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.