サポートバンドルツールの使用

support-bundlesツールは、ヘルス・チェック・ステータス、コマンド出力、ログなど、Private Cloud Applianceの診断データの様々なタイプのバンドルまたはモードを収集します。

提供されているコマンド・オプションによっては、これらのバンドルにログまたはステータスが含まれる場合があります。すべてのモードは、ファイルをバンドル・ディレクトリに収集します。一度に1つのサポート・バンドル・プロセスは許可されません。サポートバンドルロックファイルは、バンドルコレクションの開始時に作成され、バンドルコレクションの完了時に削除されます。

すべてのsupport-bundlesコマンドが即座に返され、バンドル・コレクションがバックグラウンドで実行されます。これは、バンドル・コレクションの完了に数時間かかる可能性があるためです。バンドルは2日間保存され、自動的に削除されます。

次のタイプのバンドルがサポートされています。

  • Triage Mode。Private Cloud Applianceの現在のステータスに関するデータを収集します。

  • タイムスライスモード。タイム・スロット別にデータを収集します。これらの結果は、ポッド名、ジョブおよびk8s_appラベルを指定することでさらに絞り込むことができます。

  • 組合せモード。トリアージ・データとタイム・スライス・データの組合せを収集します。

  • Native Mode. Collects data from management, compute, and ZFS nodes and from ILOM and Cisco hosts.

問題の調査を開始する良い方法は、comboバンドルを収集することです。triageモードの結果でNOT_HEALTHYを検索し、それをtime_sliceモードの結果で表示されるものと比較します。

support-bundlesコマンドにはモード・オプションが必要です。すべてのモードは、サービス・リクエスト番号オプションを受け入れます。次の表を参照してください。タイムスライスモードとネイティブモードには、追加のオプションがあります。

オプション

摘要

必須

-m mode

バンドルのタイプ。

はい

-sr SR_number

--sr_number SR_number

サービスリクエスト番号。

なし

support-bundlesコマンド出力は、管理ノード上の次のディレクトリに格納されます。bundle-typeは、triagetime_slicecomboまたはnativeのモードです。

/nfs/shared_storage/support_bundles/SR_number_bundle-type-bundle_timestamp/

SR_numberは、-srオプションを指定した場合に使用されます。サービス・リクエストのサポート・バンドルを作成する場合は、SR_numberを指定します。

このディレクトリには、バンドル・コレクションの進行状況ファイルとアーカイブ・ファイルが含まれます。アーカイブ・ファイル名は、次のとおりです。

bundle-type_collection.log
SR_number_bundle-type-bundle_timestamp.tar.gz

アーカイブ・ファイルには、次のデフォルト・コンポーネントを含むheader.jsonファイルが含まれています。

  • current-time - タイムスタンプ

  • create-support-bundle - 使用されたコマンドライン

  • sr-number - アーカイブ・ファイルに関連付けられているSR番号

管理ノードへのログイン

support-bundlesコマンドを使用するには、Pacemakerリソースを実行している管理ノードにrootとしてログインします。まず、Pacemakerリソースを実行している管理ノードからデータを収集し、次に必要に応じて他の管理ノードからデータを収集します。

Pacemakerリソースを実行している管理ノードがわからない場合は、任意の管理ノードにログインし、Pacemakerクラスタのステータスを確認します。次のコマンドは、Pacemakerクラスタ・リソースがpcamn01で実行されていることを示します。

[root@pcamn01 ~]# pcs status
Cluster name: mncluster
Stack: corosync
Current DC: pcamn01
...
Full list of resources:

scsi_fencing (stonith:fence_scsi): Stopped (disabled)
Resource Group: mgmt-rg
vip-mgmt-int (ocf::heartbeat:IPaddr2): Started pcamn01
vip-mgmt-host (ocf::heartbeat:IPaddr2): Started pcamn01
vip-mgmt-ilom (ocf::heartbeat:IPaddr2): Started pcamn01
vip-mgmt-lb (ocf::heartbeat:IPaddr2): Started pcamn01
vip-mgmt-ext (ocf::heartbeat:IPaddr2): Started pcamn01
l1api (systemd:l1api): Started pcamn01
haproxy (ocf::heartbeat:haproxy): Started pcamn01
pca-node-state (systemd:pca_node_state): Started pcamn01
dhcp (ocf::heartbeat:dhcpd): Started pcamn01
hw-monitor (systemd:hw_monitor): Started pcamn01

Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled

トリアージ・モード

triageモードでは、Prometheus platform_health_checkがHEALTHYおよびNOT_HEALTHYステータスの両方について問い合せられます。NOT_HEALTHYが見つかった場合は、time_sliceモードを使用して詳細を取得します。

# support-bundles -m triage

出力アーカイブ・ファイルには次のファイルがあります。

ファイル

摘要

header.json

このバンドルを生成するためのタイムスタンプおよびコマンドライン。

compute_node_info.json

コンピュート・ノードで実行されているポッド。

hardware_info.json

hmsから取得されたハードウェア・コンポーネント・リスト、すべての準備完了状態管理ノードおよび計算ノードで実行されているすべてのipmitool fru、すべてのzfssaが情報を示します。

management_node_info.json

管理ノードで実行されているポッド。

rack_info.json

ラックの設置時間とビルド・バージョン。

loki_search_results.log.n

json内のチャンク・ファイル。

タイムスライスモード

タイム・スライス・モードでは、開始タイムスタンプと終了タイムスタンプを指定してデータが収集されます。次のオプションの両方が必要です。

  • -s start_date

  • -e end_date

タイム・スライス・モードには、モード・オプションとサービス・リクエスト番号オプションに加えて、次のオプションがあります。これらのオプションは、データ収集を絞り込むのに役立ちます。-jまたは--allオプションを指定しない場合、データはすべてのヘルス・チェッカ・ジョブから収集されます。

  • --job_name--allおよび--k8s_appのいずれか1つのみが指定されます。

  • --job_name--allまたは--k8s_appのいずれも指定しない場合、ポッド・フィルタリングはデフォルト(.+checker)で行われます。

  • --allオプションを使用すると、大量のデータを収集できます。タイム・スライスを48時間に制限できます。

例:

# support-bundles -m time_slice -j flannel-checker -s 2021-05-29T22:40:00.000Z \
-e 2021-06-29T22:40:00.000Z -l INFO

次の例を参照してください。

オプション

摘要

必須

-s timestamp

--start_date timestamp

yyyy-mmm-ddTHH:mm:ss形式の開始日

最小引数はyyyy-mmm-ddです

はい

-e timestamp

--end_date timestamp

yyyy-mmm-ddTHH:mm:ss形式の終了日

最小引数はyyyy-mmm-ddです

はい

-j job_name

--job_name job_name

Lokiジョブ名。デフォルト値: .+checker

次の「ラベル・リスト問合せ」を参照してください。

なし

--k8s_app label

k8s-stdout-logsジョブ内で問い合せるk8s_appラベル値。

次の「ラベル・リスト問合せ」を参照してください。

なし
--all auditkubernetes-auditvault-auditおよびk8s_appラベルpcacorednsなど、ロギングが多すぎることがわかっているジョブを除くすべてのジョブ名を問い合せます。 なし

-l level

--levelname level

メッセージ・レベル

なし

--pod_name pod_name

ポッドに基づいて出力をフィルタするポッド名(kubenetwork-checkerなど)。必要なのは開始文字のみです。

なし

-t timeout

--timeout timeout

単一のLoki問合せのタイムアウト(秒)。デフォルトでは、180秒です。

なし

ラベル・リスト問合せ

ラベル・リストの問合せを使用して、使用可能なジョブ名とk8s_appラベル値をリストします。

# support-bundles -m label_list
2021-10-14T23:19:18.265 - support_bundles - INFO - Starting Support Bundles
2021-10-14T23:19:18.317 - support_bundles - INFO - Locating filter-logs Pod
2021-10-14T23:19:18.344 - support_bundles - INFO - Executing command - ['python3', 
'/usr/lib/python3.6/site-packages/filter_logs/label_list.py']
2021-10-14T23:19:18.666 - support_bundles - INFO -
Label:  job
Values: ['admin', 'api-server', 'asr-client', 'asrclient-checker', 'audit', 'cert-checker', 'ceui', 
'compute', 'corosync', 'etcd', 'etcd-checker', 'filesystem', 'filter-logs', 'flannel-checker', 
'his', 'hms', 'iam', 'k8s-stdout-logs', 'kubelet', 'kubernetes-audit', 'kubernetes-checker', 
'l0-cluster-services-checker', 'messages', 'mysql-cluster-checker', 'network-checker', 'ovm-agent', 
'ovn-controller', 'ovs-vswitchd', 'ovsdb-server', 'pca-healthchecker', 'pca-nwctl', 'pca-platform-l0', 
'pca-platform-l1api', 'pca-upgrader', 'pcsd', 'registry-checker', 'sauron-checker', 'secure', 
'storagectl', 'uws', 'vault', 'vault-audit', 'vault-checker', 'zfssa-checker', 'zfssa-log-exporter']
 
Label:  k8s_app
Values: ['admin', 'api', 'asr-client', 'asrclient-checker', 'brs', 'cert-checker', 'compute', 
'default-http-backend', 'dr-admin', 'etcd', 'etcd-checker', 'filesystem', 'filter-logs', 
'flannel-checker', 'fluentd', 'ha-cluster-exporter', 'has', 'his', 'hms', 'iam', 'ilom', 
'kube-apiserver', 'kube-controller-manager', 'kube-proxy', 'kubernetes-checker', '
l0-cluster-services-checker', 'loki', 'loki-bnr', 'mysql-cluster-checker', 'mysqld-exporter', 
'network-checker', 'pcacoredns', 'pcadnsmgr', 'pcanetwork', 'pcaswitchmgr', 'prometheus', 'rabbitmq', 
'registry-checker', 'sauron-api', 'sauron-checker', 'sauron-grafana', 'sauron-ingress-controller', 
'sauron-mandos', 'sauron-operator', 'sauron-prometheus', 'sauron-prometheus-gw', 
'sauron-sauron-exporter', 'sauron.oracledx.com', 'storagectl', 'switch-metric', 'uws', 'vault-checker', 
'vmconsole', 'zfssa-analytics-exporter', 'zfssa-csi-nodeplugin', 'zfssa-csi-provisioner', 'zfssa-log-exporter']

例:

  • ジョブ・ラベルなし、k8s_appラベルなし、すべてのヘルス・チェッカからログを収集します。

    # support-bundles -m time_slice -sr 3-xxxxxxxxxxx -s "2022-01-11T00:00:00" -e "2022-01-12T23:59:59"
  • ひとつの仕事CUI

    # support-bundles -m time_slice -sr 3-xxxxxxxxxxx -j ceui -s "2022-01-11T00:00:00" -e "2022-01-12T23:59:59"
  • 1つのk8s_appネットワーク・チェッカ。

    # support-bundles -m time_slice -sr 3-xxxxxxxxxxx --k8s_app network-checker -s "2022-01-11T00:00:00" -e "2022-01-12T23:59:59"
  • すべてのジョブおよび日付。

    # support-bundles -m time_slice -sr 3-xxxxxxxxxxx -s `date -d "2 days ago" -u +"%Y-%m-%dT%H:%M:%S.000Z"` -e `date -d +u +"%Y-%m-%dT%H:%M:%S.000Z"`
  • すべてのジョブ

    # support-bundles -m time_slice -sr 3-xxxxxxxxxxx --all -s "2022-01-11T00:00:00" -e "2022-01-12T23:59:59"

出力アーカイブ・ファイルには次のファイルがあります。

ファイル

摘要

header.json

このバンドルを生成するためのタイムスタンプおよびコマンドライン。

loki_search_results.log.n

json内のチャンク・ファイル。タイム・スライス・バンドルには、開始時間からの問合せ当たり500,000ログの制限があります。

rack_info.json

ラックの設置時間とビルド・バージョン。

コンボモード

comboモードは、トリアージ・バンドルとタイム・スライス・バンドルの組合せです。出力には、アーカイブ・ファイルと2つの収集ログ・ファイル(triage_collection.logおよびtime_slice_collection.log)が含まれます。

出力アーカイブ・ファイルには次のファイルがあります。

ファイル

摘要

triage-bundle_timestamp.tar.gz

トリアージ・バンドル・アーカイブ・ファイル。

time_slice-bundle_timestamp.tar.gz

タイム・スライス・バンドル・アーカイブ・ファイル。

収集されるタイム・スライス・データは、現在の時刻から現在の時刻までの1時間前の--allジョブ用です。

ネイティブ・モード

バンドル・ディレクトリのnative_collection.logファイルは、収集の進行状況情報を提供します。ネイティブ・バンドルは収集に数時間かかる場合があります。

nativeモードには、モードおよびSR番号に加えて次のパラメータがあります。

パラメータ

摘要

必須

-t nativetype

--type nativetype

  • zfs_bundle

  • sosreport

  • ilom_snapshot

  • cisco_bundle

デフォルト値: zfs_bundle

なし

-c component

--component component

管理、コンピュート、ZFSノードの名前、ILOMまたは Ciscoホストなどのコンポーネント名。

なし

出力アーカイブ・ファイルには次のファイルがあります。

ファイル

摘要

header.json

このバンドルを生成するためのタイムスタンプとコマンドライン。

ネイティブ・バンドル・ファイル

これらのファイルは、指定されたnativetypeに固有です。

rack_info.json

ラックの設置時間とビルド・バージョン。

ZFSバンドル

nativetypeがZFSサポート・バンドルの場合、コレクションは両方のZFSノードで開始され、新しいZFSサポート・バンドルがバンドル・ディレクトリにダウンロードされます。nativetypeを指定しない場合、zfs_bundleがデフォルトで作成されます。

# support-bundles -m native -t zfs_bundle
SOSレポート・バンドル

nativetypeがSOSレポート・バンドルの場合、レポートは、--componentパラメータで指定された管理ノードまたは計算ノードから収集されます。--componentが指定されていない場合、レポートはすべての管理および計算ノードから収集されます。

# support-bundles -m native -t sosreport -c pcamn01
ILOMスナップショット

nativeType=ilom_snapshotの場合、--componentパラメータの値は、管理ノードまたは計算ノードのILOMホスト名です。--componentパラメータが指定されていない場合、レポートはすべてのILOMホストから収集されます。

# support-bundles -m native -t ilom_snapshot -c ilom-pcacn007
Ciscoバンドル

nativetypecisco-bundleの場合、--componentパラメータの値は、Ciscoの内部管理、アグリゲーションまたはアクセス・スイッチ管理ホスト名です。

# support-bundles -m native -t cisco-bundle -c accsn01

cisco-bundle型のコレクションを作成するには、次の条件を満たす必要があります。

  • Cisco OBFLモジュールは、すべてのPrivate Cloud Appliance Ciscoスイッチで有効にする必要があります。Cisco OBFLモジュールは、すべてのPrivate Cloud Appliance Ciscoスイッチでデフォルトで有効になっています。

  • Cisco EEMモジュールは、すべてのPrivate Cloud Appliance Ciscoスイッチで有効にする必要があります。Cisco EEMモジュールは、すべてのPrivate Cloud Appliance Ciscoスイッチでデフォルトで有効になっています。

  • EEM(Embedded Event Manager)ポリシー