トレース

トレースについて

トレースの概要

トレース機能により内部イベントが記録されます。トレースファイルは自動的に作成され、crashinfo の下の tracelogs サブディレクトリに保存されます。

トレースファイルのデータは、次の処理を行う場合に役立ちます。

  • トラブルシューティング:スイッチに問題がある場合、トレースファイルの出力により、問題の特定および解決に使用できる情報が得られる場合があります。

  • デバッグ:トレースファイルの出力は、システム動作の詳細情報を得るために役立ちます。

特定のモジュールに関する最新のトレース情報を表示するには、show platform software trace message コマンドを使用します。

トレースレベルを変更してトレースメッセージ出力の量を調整するために、set platform software trace コマンドを使用して新しいトレーシングレベルを設定できます。トレースレベルは、set platform software trace コマンドで all-modules キーワードを使用してプロセスごとに設定することも、プロセス内のモジュールごとに設定することもできます。

トレースログの場所

各プロセスは、btrace インフラストラクチャを使用してトレースメッセージをログに記録します。プロセスがアクティブのときは、対応するインメモリトレースログが /tmp/<FRU>/trace/ ディレクトリにあります。ここで、<FRU> は、プロセスが実行されている場所(rp、fp、または cc)を表します。

トレースログファイルがプロセスに関して許可されている最大ファイル サイズの上限に達すると、またはプロセスが終了すると、次のディレクトリにローテーションされます。

  • /crashinfo/tracelogs(スイッチで crashinfo: パーティションを使用できる場合)

  • /harddisk/tracelogs(スイッチで crashinfo: パーティションを使用できない場合)

トレースログファイルは、ディレクトリに保存される前に圧縮されます。

トレースログの命名規則

btrace を使用して作成されるすべてのトレースログには、次の命名規則が適用されます。

<process_name>_<FRU><SLOT>-<BAY>.<pid>_<counter>.<creation_timestamp>.bin

ここで、counter は、64 ビットのフリーランニングカウンタで、当該プロセスの新しいファイルが作成されるたび増加します。たとえば、wcm_R0-0.1362_0.20151006171744.bin にようになります。圧縮されると、ファイル名に gz 拡張子が付加されます。

トレースログのサイズの上限およびローテーション ポリシー

トレースログファイルの最大サイズはプロセスごとに 1 MB で、保持されるトレースログファイルの最大数はプロセスごとに 25 です。

ローテーションおよびスロットリングポリシー

最初は、すべての トレースログファイルが、初期ディレクトリの /tmp/<FRU>/trace から中継ディレクトリの /tmp/<FRU>/trace/stage に移されます。次に、btrace_rotate スクリプトによって、これらのトレースログが中継ディレクトリから /crashinfo/tracelogs ディレクトリに移されます。プロセスごとに /crashinfo/tracelogs ディレクトリに保存されるファイルの数が最大数の上限に達すると、そのプロセスの最も古いファイルが削除されますが、それより新しいファイルは保持されます。これは、最悪の場合、60 分ごとに繰り返されます。

その他、次の 2 種類のファイルセットが /crashinfo/tracelogs ディレクトリからパージされます。

  • 標準命名規則を持たないファイル(fed_python.log などのいくつかの例外を除く)

  • 2 週間以上保持されたファイル

エラーのあるプロセスがスイッチの機能に影響を与えないように、スロットリングポリシーが導入されました。プロセスが非常に高い頻度でログを記録する(たとえば、そのプロセスに関して中継ディレクトリに 4 秒間隔で 17 以上のファイルが保存される)場合は常に、そのプロセスがスロットリングされます。そのプロセスのファイルは /tmp/<FRU>/trace から /tmp/<FRU>/trace/stage にローテーションされませんが、最大サイズに達すると削除されます。ファイル数が 7 以下になるとスロットリングが再度有効になります。

トレースレベル

トレースレベルは、トレースバッファまたはトレースファイルに保存する必要のあるモジュール情報の量を決定します。

次の表に、使用可能なすべてのトレースレベルを示し、各トレースレベルで表示されるメッセージについて説明します。

表 1. トレースレベルとその内容

トレースレベル

説明

緊急

システムが使用不能になる問題のメッセージです。

エラー

システムエラーについてのメッセージです。

警告

システム警告についてのメッセージです。

通知

重大な問題に関するメッセージです。ただし、スイッチは通常どおり動作しています。

情報

単に情報を提供するだけのメッセージです。

デバッグ

デバッグレベルの出力を提供するメッセージです。

詳細

生成可能なすべてのトレースメッセージが送信されます。

ノイズ

モジュールについての生成可能なすべてのトレースメッセージが記録されます。

ノイズレベルは常に最上位のトレースレベルに相当します。今後、トレース機能の拡張が行われ、さらに低いトレースレベルが導入された場合でも、ノイズレベルはこの新しい拡張機能のレベルと同じレベルに相当します。

set platform software trace

プロセス内の特定のモジュールのトレースレベルを設定するには、特権 EXEC モードまたはユーザ EXEC モードで set platform software trace コマンドを使用します。

set platform software trace process slot module trace-level

構文の説明

process

トレース レベルが設定されているプロセス。次のオプションがあります。

  • chassis-manager :Chassis Manager プロセス。

  • cli-agent :CLI Agent プロセス。

  • dbm :Database Manager プロセス。

  • emd :Environmental Monitoring プロセス。

  • fed :Forwarding Engine Driver プロセス。

  • forwarding-manager :Forwarding Manager プロセス。

  • host-manager :Host Manager プロセス。

  • iomd :Input/Output Module daemon(IOMd)プロセス。

  • ios :IOS プロセス。

  • license-manager :License Manager プロセス。

  • logger :Logging Manager プロセス。

  • platform-mgr :Platform Manager プロセス。

  • pluggable-services :Pluggable Services プロセス。

  • replication-mgr :Replication Manager プロセス。

  • shell-manager :Shell Manager プロセス。

  • smd :Session Manager プロセス。

  • table-manager :Table Manager サーバ。

  • wireless :ワイヤレス コントローラ モジュール プロセス。

  • wireshark :Embedded Packet Capture(EPC)Wireshark プロセス。

slot

トレース レベルが設定されているプロセスを実行中のハードウェア スロット。次のオプションがあります。

  • number :トレース レベルが設定されているハードウェア モジュールの SIP スロットの数。たとえば、スイッチの SIP スロット 2 の SIP を指定する場合は、「2」と入力します。

  • SIP-slot / SPA-bay:SIP スイッチ スロットの数とその SIP の共有ポート アダプタ(SPA)ベイの数。たとえば、スイッチ スロット 3 の SIP のベイ 2 の SPA を指定する場合は、「3/2」と入力します。

  • F0 :スロット 0 の Embedded-Service-Processor。

  • FP active :アクティブな Embedded-Service-Processor。

  • R0 :スロット 0 のルート プロセッサ。

  • RP active :アクティブなルート プロセッサ。

  • switch <number> :指定された番号を持つスイッチ。

  • switch active :アクティブなスイッチ。

  • switch standby :スタンバイスイッチ。

module

トレース レベルが設定されているプロセス内のモジュール。

trace-level

トレース レベルです。次のオプションがあります。

  • debug :デバッグ レベルのトレーシング。デバッグレベルのトレース メッセージは、モジュールに関する大量の詳細を提供する緊急でないメッセージです。

  • emergency :緊急事態レベルのトレーシング。緊急レベルのトレース メッセージは、システムが使用不能であることを示すメッセージです。

  • error :エラー レベルのトレーシング。エラーレベルのトレース メッセージは、システム エラーを示すメッセージです。

  • info :情報レベルのトレーシング。情報レベルのトレース メッセージは、システムに関する情報を提供する緊急でないメッセージです。

  • noise :ノイズ レベルのトレーシング。ノイズ レベルは、常に可能なトレース レベルの中の最高レベルに相当し、考えられるすべてのトレース メッセージを生成します。

    ノイズ レベルは、モジュールに関して可能な最高レベルのトレース メッセージに相当します。これは、このコマンドの将来の拡張で、ユーザが寄り高いトレース レベルを設定できるオプションが追加された場合にも、当てはまります。

  • notice :重大な問題に関するメッセージです。ただし、スイッチは通常どおり動作しています。

  • verbose :詳細レベルのトレーシング。トレース レベルが verbose に設定されている場合は、考えられるすべてのトレース メッセージが送信されます。

  • warning :警告メッセージ。

コマンド デフォルト

すべてのモジュールのデフォルトのトレースレベルは notice です。

コマンド モード

ユーザ EXEC (>)

特権 EXEC(#)

コマンド履歴

リリース

変更内容

Cisco IOS XE Everest 16.6.2

このコマンドが導入されました。

使用上のガイドライン

module オプションは、プロセスおよび hardware-module によって異なります。このコマンドを入力する際に、各キーワード シーケンスで使用可能な module オプションを確認するには、? オプションを使用します。

トレースメッセージを表示するには、show platform software trace message コマンドを使用します。

トレース ファイルは、harddisk: ファイル システムのトレースログ ディレクトリに保存されます。これらのファイルは、スイッチの動作に影響を与えずに削除できます。

トレース ファイル出力は、デバッグに使用されます。トレース レベルは、モジュールに関するどのぐらいの量の情報をトレース ファイルに保存するかを決定する設定です。

次に、dbm プロセスのすべてのモジュールのトレース レベルを設定する例を示します。


デバイス# set platform software trace dbm R0 all-modules debug

show platform software trace filter-binary

特定のモジュールの最新のトレース情報を表示するには、特権 EXEC モードまたはユーザ EXEC モードで show platform software trace filter-binary コマンドを使用します。

show platform software trace filter-binarymodules [ context mac-address]

構文の説明

contextmac-address

フィルタ処理に使用されるコンテキストを表します。また、モジュール名とトレース レベルに基づいてフィルタ処理できます。コンテキスト キーワードは、タグが付いているトレースに基づき MAC アドレスまたは他の引数を受け入れます。

コマンド モード

ユーザ EXEC (>)

特権 EXEC(#)

コマンド履歴

リリース

変更内容

Cisco IOS XE Everest 16.6.2

このコマンドが導入されました。

使用上のガイドライン

このコマンドは、モジュールに関連するすべてのプロセス全体で /tmp/.../ に存在するすべてのログを照合してソートします。指定されたモジュールに関連するすべてのプロセスのトレース ログがコンソールに出力されます。このコマンドでは、同じコンテンツの collated_log_{system time} という名前のファイルも /crashinfo/tracelogs ディレクトリに生成されます。

次に、ワイヤレス モジュールのトレース情報を表示する例を示します。


デバイス# show platform software trace filter-binary wireless

show platform software trace message

プロセスのトレース メッセージを表示するには、特権 EXEC モードまたはユーザ EXEC モードで set platform software trace コマンドを使用します。

show platform software trace message process slot

構文の説明

process

設定されているトレース レベル。次のオプションがあります。

  • chassis-manager :Chassis Manager プロセス。

  • cli-agent :CLI Agent プロセス。

  • cmm :CMM プロセス。

  • dbm :Database Manager プロセス。

  • emd :Environmental Monitoring プロセス。

  • fed :Forwarding Engine Driver プロセス。

  • forwarding-manager :Forwarding Manager プロセス。

  • geo :Geo Manager プロセス。

  • host-manager :Host Manager プロセス。

  • interface-manager :Interface Manager プロセス。

  • iomd :Input/Output Module daemon(IOMd)プロセス。

  • ios :IOS プロセス。

  • license-manager :License Manager プロセス。

  • logger :Logging Manager プロセス。

  • platform-mgr :Platform Manager プロセス。

  • pluggable-services :Pluggable Services プロセス。

  • replication-mgr :Replication Manager プロセス。

  • shell-manager :Shell Manager プロセス。

  • sif :Stack Interface(SIF)Manager プロセス。

  • smd :Session Manager プロセス。

  • stack-mgr :Stack Manager プロセス。

  • table-manager :Table Manager サーバ。

  • thread-test :Multithread Manager プロセス。

  • virt-manager :Virtualization Manager プロセス。

  • wireless :ワイヤレス コントローラ モジュール プロセス。

slot

トレース レベルが設定されているプロセスを実行中のハードウェア スロット。次のオプションがあります。

  • number :トレース レベルが設定されているハードウェア モジュールの SIP スロットの数。たとえば、スイッチの SIP スロット 2 の SIP を指定する場合は、「2」と入力します。

  • SIP-slot / SPA-bay:SIP スイッチ スロットの数とその SIP の共有ポート アダプタ(SPA)ベイの数。たとえば、スイッチ スロット 3 の SIP のベイ 2 の SPA を指定する場合は、「3/2」と入力します。

  • F0 :Embedded Service Processor スロット 0。

  • FP active :アクティブな Embedded Service Processor。

  • R0 :スロット 0 のルート プロセッサ。

  • RP active :アクティブなルート プロセッサ。

  • switch <number> :指定された番号を持つスイッチ。

  • switch active :アクティブなスイッチ。

  • switch standby :スタンバイスイッチ。

    • number :トレース レベルが設定されているハードウェア モジュールの SIP スロットの数。たとえば、スイッチの SIP スロット 2 の SIP を指定する場合は、「2」と入力します。

    • SIP-slot / SPA-bay:SIP スイッチ スロットの数とその SIP の共有ポート アダプタ(SPA)ベイの数。たとえば、スイッチ スロット 3 の SIP のベイ 2 の SPA を指定する場合は、「3/2」と入力します。

    • F0 :スロット 0 の Embedded Service Processor。

    • FP active :アクティブな Embedded Service Processor。

    • R0 :スロット 0 のルート プロセッサ。

    • RP active :アクティブなルート プロセッサ。

コマンド モード

ユーザ EXEC (>)

特権 EXEC(#)

コマンド履歴

リリース

変更内容

Cisco IOS XE Everest 16.6.2

このコマンドが導入されました。

次に、Stack Manager プロセスおよび Forwarding Engine Driver プロセスのトレース メッセージを表示する例を示します。


デバイス# show platform software trace message stack-mgr switch active R0
10/30 09:42:48.767 [btrace] [8974]: (note): Successfully registered module [97] [uiutil]
10/30 09:42:48.762 [btrace] [8974]: (note): Successfully registered module [98] [tdl_cdlcore_message]
10/29 13:28:19.023 [stack_mgr] [8974]: (note): Examining peer state
10/29 13:28:19.023 [stack_mgr] [8974]: (note): no switch eligible for standby election presently
10/29 13:28:19.022 [stack_mgr] [8974]: (note): Posting event stack_fsm_event_wait_standby_elect_timer_expired, curstate stack_fsm_state_active_ready
10/29 13:28:19.022 [stack_mgr] [8974]: (note): Timer HDL - STACK_WAIT_STANDBY_ELECT_TIMER expired
10/29 13:26:46.584 [btrace] [8974]: (note): Successfully registered module [99] [tdl_ui_message]
10/29 13:26:46.582 [bipc] [8974]: (note): Pending connection to server 10.129.1.0
10/29 13:26:36.582 [evutil] [8974]: (ERR): Connection attempt for sman-ui-serv (uipeer uplink to slot 1) failed, invoking disconnect
10/29 13:26:36.582 [evutil] [8974]: (ERR): Asynchronous connect failed for [uipeer uplink to slot 1] (fd == -1)
10/29 13:26:36.581 [bipc] [8974]: (note): Pending connection to server 10.129.1.0
10/29 13:26:26.581 [evutil] [8974]: (ERR): Connection attempt for sman-ui-serv (uipeer uplink to slot 1) failed, invoking disconnect

デバイス# show platform software trace message fed switch active
11/02 10:55:01.832 [btrace]: [11310]:  UUID: 0, ra: 0 (note): Successfully registered module [86] [uiutil]
11/02 10:55:01.848 [btrace]: [11310]:  UUID: 0, ra: 0 (note): Single message size is greater than 1024
11/02 10:55:01.822 [btrace]: [11310]:  UUID: 0, ra: 0 (note): Successfully registered module [87] [tdl_cdlcore_message]
11/01 09:54:41.474 [btrace]: [12312]:  UUID: 0, ra: 0 (note): Successfully registered module [88] [tdl_ngwc_gold_message]
11/01 09:54:11.228 [btrace]: [12312]:  UUID: 0, ra: 0 (note): Successfully registered module [89] [tdl_doppler_iosd_matm_type]
11/01 09:53:37.454 [btrace]: [11310]:  UUID: 0, ra: 0 (note): Successfully registered module [90] [tdl_ui_message]
11/01 09:53:37.382 [bipc]: [11310]:  UUID: 0, ra: 0 (note): Pending connection to server 10.129.1.0
11/01 09:53:34.227 [xcvr]: [18846]:  UUID: 0, ra: 0 (ERR): FRU hardware authentication Fail, result = 1.
11/01 09:53:33.775 [ng3k_scc]: [18846]:  UUID: 0, ra: 0 (ERR): SMART COOKIE: SCC I2C receive failed: rc=10
11/01 09:53:33.775 [ng3k_scc]: [18846]:  UUID: 0, ra: 0 (ERR):
SMART COOKIE receive failed, try again
11/01 09:53:33.585 [ng3k_scc]: [18846]:  UUID: 0, ra: 0 (ERR):

show platform software trace level

特定のプロセスですべてのモジュールのトレース レベルを表示するには、特権 EXEC モードまたはユーザ EXEC モードで show platform software trace level コマンドを使用します。

show platform software trace level process slot

構文の説明

process

トレース レベルが設定されているプロセス。次のオプションがあります。

  • chassis-manager :Chassis Manager プロセス。

  • cli-agent :CLI Agent プロセス。

  • cmm :CMM プロセス。

  • dbm :Database Manager プロセス。

  • emd :Environmental Monitoring プロセス。

  • fed :Forwarding Engine Driver プロセス。

  • forwarding-manager :Forwarding Manager プロセス。

  • geo :Geo Manager プロセス。

  • host-manager :Host Manager プロセス。

  • interface-manager :Interface Manager プロセス。

  • iomd :Input/Output Module daemon(IOMd)プロセス。

  • ios :IOS プロセス。

  • license-manager :License Manager プロセス。

  • logger :Logging Manager プロセス。

  • platform-mgr :Platform Manager プロセス。

  • pluggable-services :Pluggable Services プロセス。

  • replication-mgr :Replication Manager プロセス。

  • shell-manager :Shell Manager プロセス。

  • sif :Stack Interface(SIF)Manager プロセス。

  • smd :Session Manager プロセス。

  • stack-mgr :Stack Manager プロセス。

  • table-manager :Table Manager サーバ。

  • thread-test :Multithread Manager プロセス。

  • virt-manager :Virtualization Manager プロセス。

  • wireless :ワイヤレス コントローラ モジュール プロセス。

slot

トレース レベルが設定されているプロセスを実行中のハードウェア スロット。次のオプションがあります。

  • number :トレース レベルが設定されているハードウェア モジュールの SIP スロットの数。たとえば、スイッチの SIP スロット 2 の SIP を指定する場合は、「2」と入力します。

  • SIP-slot / SPA-bay:SIP スイッチ スロットの数とその SIP の共有ポート アダプタ(SPA)ベイの数。たとえば、スイッチ スロット 3 の SIP のベイ 2 の SPA を指定する場合は、「3/2」と入力します。

  • F0 :スロット 0 の Embedded Service Processor。

  • F1 :スロット 1 の Embedded Service Processor。

  • FP active :アクティブな Embedded Service Processor。

  • R0 :スロット 0 のルート プロセッサ。

  • RP active :アクティブなルート プロセッサ。

  • switch <number> :指定された番号を持つスイッチ。

  • switch active :アクティブなスイッチ。

  • switch standby :スタンバイスイッチ。

    • number :トレース レベルが設定されているハードウェア モジュールの SIP スロットの数。たとえば、スイッチの SIP スロット 2 の SIP を指定する場合は、「2」と入力します。

    • SIP-slot / SPA-bay:SIP スイッチ スロットの数とその SIP の共有ポート アダプタ(SPA)ベイの数。たとえば、スイッチ スロット 3 の SIP のベイ 2 の SPA を指定する場合は、「3/2」と入力します。

    • F0 :スロット 0 の Embedded Service Processor。

    • FP active :アクティブな Embedded Service Processor。

    • R0 :スロット 0 のルート プロセッサ。

    • RP active :アクティブなルート プロセッサ。

コマンド モード

ユーザ EXEC (>)

特権 EXEC(#)

コマンド履歴

リリース

変更内容

Cisco IOS XE Everest 16.6.2

このコマンドが導入されました。

次に、トレース レベルを表示する例を示します。


デバイス# show platform software trace level dbm switch active R0
Module Name                     Trace Level      
-------------------------------------------------
binos                           Notice           
binos/brand                     Notice           
bipc                            Notice           
btrace                          Notice           
bump_ptr_alloc                  Notice           
cdllib                          Notice           
chasfs                          Notice           
dbal                            Informational    
dbm                             Debug            
evlib                           Notice           
evutil                          Notice           
file_alloc                      Notice           
green-be                        Notice           
ios-avl                         Notice           
klib                            Debug            
services                        Notice           
sw_wdog                         Notice           
syshw                           Notice           
tdl_cdlcore_message             Notice           
tdl_dbal_root_message           Notice           
tdl_dbal_root_type              Notice

request platform software trace archive

スイッチでの最後のリロード以降にシステム上で実行されているすべてのプロセスに関連するすべてのトレースログをアーカイブし、これを指定された場所に保存するには、特権 EXEC モードまたはユーザ EXEC モードで request platform software trace archive コマンドを使用します。

request platform software trace archive [ last number-of-days [ days [ target location]] | target location]

構文の説明

last noofdays

トレース ファイルをアーカイブする必要がある日数を指定します。

target location

アーカイブ ファイルの場所と名前を指定します。

コマンド モード

ユーザ EXEC (>)

特権 EXEC(#)

コマンド履歴

リリース

変更内容

Cisco IOS XE Everest 16.6.2

このコマンドが導入されました。

使用上のガイドライン

このアーカイブ ファイルは、tftp コマンドまたは scp コマンドを使用してシステムからコピーできます。

次に、過去 5 日以降にスイッチで実行されているプロセスのすべてのトレースログをアーカイブする例を示します。


デバイス# request platform software trace archive last 5 days target flash:test_archive

request platform software trace rotate all

現在のインメモリトレースログを crashinfo パーティションに循環させ、プロセスごとの新しいインメモリトレースログを開始するには、特権 EXEC モードまたはユーザ EXEC モードで request platform software trace rotate all コマンドを使用します。

request platform software trace rotate all

コマンド モード

ユーザ EXEC (>)

特権 EXEC(#)

コマンド履歴

リリース

変更内容

Cisco IOS XE Everest 16.6.2

このコマンドが導入されました。

使用上のガイドライン

トレース ログ ファイルは読み取り専用を目的としています。ファイルの内容は編集しないでください。特定のログ セットを表示するために、ファイルの内容を削除する必要がある場合は、このコマンドを使用して新しいトレース ログ ファイルを開始します。

次に、過去1日以降にスイッチで実行されているプロセスのすべてのインメモリ トレース ログを循環させる例を示します。


デバイス# request platform software trace slot switch active R0 archive last 1 days target flash:test

request platform software trace filter-binary

トレースログ サブディレクトリに存在するすべてのアーカイブログを照合して並べ替えるには、特権 EXEC モードまたはユーザ EXEC モードで request platform software trace filter-binary コマンドを使用します。

request platform software trace filter-binary modules [ context mac-address]

構文の説明

context mac-address

フィルタ処理に使用されるコンテキストを表します。また、モジュール名とトレース レベルに基づいてフィルタ処理できます。コンテキスト キーワードは、タグが付いているトレースに基づき MAC アドレスまたは他の引数を受け入れます。

コマンド モード

ユーザ EXEC (>)

特権 EXEC(#)

コマンド履歴

リリース

変更内容

Cisco IOS XE Everest 16.6.2

このコマンドが導入されました。

使用上のガイドライン

このコマンドは、モジュールに関連するすべてのプロセスを対象に、トレースログ サブディレクトリに存在するすべてのアーカイブされたログを照合して並べ替えます。このコマンドでは、同じコンテンツの collated_log_{system time} という名前のファイルも /crashinfo/tracelogs ディレクトリに生成されます。

次に、ワイヤレス モジュールのトレース情報を表示する例を示します。


デバイス# request platform software trace filter-binary wireless