第24章 診断およびトラブルシューティングデータの取得
report.sh
診断ツールは Red Hat が提供するスクリプトです。これは、OpenShift 上の Streams for Apache Kafka デプロイメントのトラブルシューティングに不可欠なデータを収集するためのものです。関連するログ、設定ファイル、その他の診断データを収集して、問題の特定と解決に役立てることができます。スクリプトを実行するときに、追加のパラメーターを指定して特定のデータを取得できます。
前提条件
- Bash 4 以降があり、スクリプトを実行できる。
-
OpenShift
oc
コマンドラインツールがインストールされ、稼働中のクラスターに接続するように設定されている。
これにより、oc
コマンドラインツールがクラスターと対話し、必要な診断データを取得するのに必要な認証が確立されます。
手順
ツールをダウンロードして展開します。
診断ツールは、Streams for Apache Kafka ソフトウェアダウンロードページ から入手できます。
ツールを展開したディレクトリーから、ターミナルを開き、レポートツールを実行します。
./report.sh --namespace=<cluster_namespace> --cluster=<cluster_name> --out-dir=<local_output_directory>
<cluster_namespace>
は Streams for Apache Kafka デプロイメントの実際の OpenShift namespace に、<cluster_name>
は Kafka クラスターの名前に、<local_output_directory>
は生成されたレポートを保存するローカルディレクトリーへのパスに置き換えます。ディレクトリーを指定しない場合は、一時ディレクトリーが作成されます。必要に応じて、他のオプションのレポートオプションを含めます。
- --bridge=<string>
- Kafka Bridge クラスターの名前を指定して、その Pod とログのデータを取得します。
- --connect=<string>
- Kafka Connect クラスターの名前を指定して、その Pod とログ上のデータを取得します。
- --mm2=<string>
- Pod およびログのデータを取得するために Mirror Maker 2 クラスターの名前を指定します。
- --secrets=(off|hidden|all)
シークレットの詳細レベルを指定します。デフォルトは
hidden
です。利用可能なオプションは以下のとおりです。-
All
: シークレットキーおよびデータの値が報告されます。 -
hidden
: キーだけが含まれるシークレットが報告されます。パスワードなどのデータ値が削除されます。 -
off
: シークレットはまったく報告されません。
-
データ収集オプションを含む要求の例
./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
などです。
スクリプトの実行が完了すると、出力ディレクトリーに、Streams for Apache Kafka デプロイメントの各コンポーネントについて収集されたログ、設定、およびその他の診断データのファイルとディレクトリーが格納されます。
レポート診断ツールによって収集されるデータ
次のコンポーネントのデータが存在する場合は、それが返されます。
Cluster Operator
- デプロイメント YAML およびログ
- 関連するすべての Pod およびそのログ
- Cluster Operator に関連するリソースの YAML ファイル (ClusterRoles、ClusterRoleBindings)
drain Cleaner (存在する場合)
- デプロイメント YAML およびログ
- Pod ログ
Custom Resources
- カスタムリソース定義 (CRD) YAML
- 関連するすべてのカスタムリソース (CR) の YAML ファイル
Events
- 指定された namespace に関連するイベント
設定
-
Kafka Pod のログおよび設定ファイル (
strimzi.properties
) -
ZooKeeper Pod のログおよび設定ファイル (
zookeeper.properties
) - Entity Operator (Topic Operator、User Operator) Pod ログ
- Cruise Control の Pod ログ
- Kafka Exporter Pod ログ
- Bridge Pod ログ (オプションで指定されている場合)
- Connect Pod ログ (オプションで指定されている場合)
- MirrorMaker 2 Pod ログ (オプションで指定されている場合)
シークレット (オプションで要求された場合)
- 指定された Kafka クラスターに関連するすべてのシークレットの YAML ファイル