第 24 章 检索诊断和故障排除数据


report.sh 诊断工具是由红帽提供的脚本,用于为 OpenShift 上的 Apache Kafka 部署收集故障排除流的基本数据。它收集相关的日志、配置文件和其他诊断数据,以帮助识别和解决问题。运行脚本时,您可以指定额外的参数来检索特定数据。

先决条件

  • Bash 4 或更新版本以运行脚本。
  • OpenShift oc 命令行工具已安装并配置为连接到正在运行的集群。

这会为 oc 命令行工具建立必要的身份验证,以与集群交互并检索所需的诊断数据。

流程

  1. 下载并提取工具。

    诊断工具可从 Apache Kafka 软件下载页面 的 Streams 中提供。

  2. 在提取工具的目录中打开一个终端并运行报告工具:

    ./report.sh --namespace=<cluster_namespace> --cluster=<cluster_name> --out-dir=<local_output_directory>

    <cluster_namespace > 替换为 Apache Kafka 部署的 Streams 的实际 OpenShift 命名空间,& lt;cluster_name > 替换为 Kafka 集群的名称,将 &lt ;local_output_directory > 替换为您要保存生成的报告的本地目录的路径。如果您没有指定目录,则会创建一个临时目录。

    根据需要包括其他可选报告选项:

    --bridge=<string>
    指定 Kafka Bridge 集群的名称,以获取其 pod 和日志上的数据。
    --connect=<string>
    指定 Kafka Connect 集群的名称,以获取其 pod 和日志上的数据。
    --mm2=<string>
    指定 Mirror Maker 2 集群名称,以获取其 pod 和日志的数据。
    --secrets=(off|hidden|all)

    指定 secret 详细程度。默认为 hidden。可用的选项如下:

    • all: 报告 Secret 密钥和数据值。
    • hidden :仅报告带有密钥的 Secret。数据值(如密码)会被删除。
    • off :不会报告 Secret。

    使用数据收集选项的请求示例

    ./report.sh --namespace=my-amq-streams-namespace --cluster=my-kafka-cluster --bridge=my-bridge-component --secrets=all --out-dir=~/reports

    注意

    如果需要,使用 chmod 命令将脚本的执行权限分配给您的用户。例如: chmod +x report.sh.

执行完脚本后,输出目录包含为 Apache Kafka 部署的每个组件收集的日志、配置和其他诊断数据的文件和目录。

报告诊断工具收集的数据

如果存在,则返回以下组件中的数据:

Cluster Operator

  • 部署 YAML 和日志
  • 所有相关 pod 及其日志
  • 与集群操作器相关的资源的 YAML 文件(ClusterRoles、ClusterRoleBindings)

drain Cleaner (如果存在)

  • 部署 YAML 和日志
  • Pod 日志

自定义资源

  • 自定义资源定义(CRD) YAML
  • 所有相关自定义资源(CR)的 YAML 文件

事件

  • 与指定命名空间相关的事件

配置

  • Kafka pod 日志和配置文件(strimzi.properties)
  • ZooKeeper pod 日志和配置文件(zookeeper.properties)
  • Entity Operator (Topic Operator, User Operator) pod 日志
  • Cruise Control pod 日志
  • Kafka Exporter pod 日志
  • 如果在选项中指定,网桥 pod 日志
  • 如果在选项中指定,请连接 pod 日志
  • 如果在选项中指定,MirrorMaker 2 pod 日志

secret (如果在选项中请求)

  • 与指定 Kafka 集群相关的所有 secret 的 YAML 文件
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.