キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
9457
閲覧回数
5
いいね!
0
コメント
Taisuke Nakamura
Cisco Employee
Cisco Employee

 

    
   

クラッシュとは

クラッシュとは、OSやアプリケーションの異常終了のことです。 システムで異常が発生時に、(機器が操作不能になる事を避けるためにも、)システムを強制的にリセットする事で復旧を試みます。 このソフトウェアによる異常終了の際に、ASAはCrashinfoの生成を試みます。 生成されたCrashinfo内には クラッシュ直前のプロセスやメモリ情報などが保存されており、show crashinfoコマンドで生成結果を確認できます。

Crashinfo内の出力の多くは、解析にデコードが必要であり、詳細調査はCisco社内のエンジニアしかできません。

しかし、お客様サイドでも以下の情報の収集と、一定以上の調査が可能です。

    • CLI Analyzerの ASA Traceback Analyzer機能を用いた分析 (フリーツール)
    • Crashinfo内のThread Nameや 発生時間、Version情報
    • 外部Syslogからの発生直前のログの確認
    • クラッシュ発生時の、特定通信や特定操作の有無の確認

     
本ドキュメントでは、クラッシュが発生時の、お客様サイドで可能な調査方法について紹介します。

      

     

クラッシュ解析チャート (お客様用)

高解像度版は添付ファイルを参照してください。

asa-crashinfo-chart.jpg

      

      

Crashinfoの見方

show crashinfoコマンドで生成有無を確認でき、以下は実際のCrashinfo出力例です。 多くの情報は秘匿されていますが、一部の情報は お客様サイドでの調査に用いることが可能です。

asa-crashinfo-thread.jpg

      

      

電源トラブル有無の確認

よくあるケースに、電源障害によるASA再起動を、ソフトウェアクラッシュと勘違いしているケースがあります。 

この切り分けには、「show crashinfoの出力が確認できるか」、もしくは 「Crashがいつ発生したか」を確認してください。 Crashinfoの生成された時間は Crashinfo内の"Crashinfo collected on xx:xx:xx.."より確認でき、その機器のuptimeはshow versionより確認できます。 Crashinfo生成時刻と ASA起動時間がマッチしない場合、そのCrashinfo生成は更に過去に生成されたもの(=過去の別障害)であると言えます。

   
電源トラブルの調査のためには、例えば以下を確認します。

    • 再起動当時、ASAの接続する電源タップを利用する"別"機器でも同様に再起動が発生していないか
    • ラックにASAを設置している場合、そのラック内の他機器でも停止が起きていないか
    • ASAの電源ケーブル差し込みが緩くなってないか、過度に引っ張られていないか
    • 当時、落雷や停電などによる電力供給異常が発生した可能性はないか
    • UPSを利用時は供給状況を確認  など

   
状況に応じ、電源ケーブルの再度 置くまで挿し直しや、電源供給元の変更を行ってください。 電源ケーブルや供給元を変更しても再発する場合は、ASA筐体の電源不良も疑います。

なお、ソフトウェアクラッシュの場合でも、何らかの理由でCrashinfoの生成に至れないケースが"稀"にあります。 Crashinfo生成を試みるが、途中で異常終了や、Flash書き込みに失敗するケースです。 その為、Crashinfoの生成が無いといって、電源トラブルであったとは断言できません。 Crashinfoの生成が最後までできなかったかの調査は、ASAにコンソール接続した状態で再現させ、クラッシュ発生時のコンソールでの異常検知出力の有無の確認や 生成失敗エラーの確認が、重要な手掛かりとなります。

         

            

ASA Traceback Analyzer機能によるクラッシュ解析

Cisco CLI Analyzerの ASA Traceback Analyzer機能を利用することで、生成されたCrashinfoの解析、及び、既知不具合がある場合、明らかにマッチした不具合情報を出力します。 当ツールの利用は フリーです。

ASA Traceback Analyzer機能の利用方法について詳しくは、以下ドキュメントを参照してください。

ASA CLI アナライザ - クイックスタート ガイド
https://supportforums.cisco.com/ja/document/12880216#ASA_Traceback_Analyzer_

      

        

Thread Nameや発生条件と、Versionからの既知不具合調査

ASA Traceback Analyzerで既知不具合を確認できなかった場合、明確に一致する不具合がなかった可能性があります。 例えば、同じ不具合でも利用状況により、微妙に出力内容が異なり、ツールでは判別が利かない事があります。 

  
お客様サイドでの既知不具合有無の調査には、以下情報などを利用できます。

    • Thread Name (問題の発生した処理名)
    • 発生バージョンや Hardware 
    • 発生条件 (特定通信、特定操作、メモリ高負荷 etc)

    
修正済みの既知不具合の一括確認には、Release Notesの参照が便利です。 つまり、既知不具合に該当の調査は、現在利用のより新しいバージョンで修正された不具合を確認します。

ASA 5500-X Series Firewalls Release Notes
 - 主にメンテナンスバージョン毎の不具合一覧
 - 各トレインのリリースノートの"Open and Resolved Bugs"を参照
http://www.cisco.com/c/en/us/support/security/asa-5500-series-next-generation-firewalls/products-release-notes-list.html

Interim Release Notes
 - Interimバージョン毎の不具合一覧
 - Download Softwareの Interim Releaseダウンロードページの右上"Release Notes for x.x.x Interim"を参照
https://software.cisco.com/download/navigator.html

     
以下は ASA Version 9.1(7)のInterim Release Notesの抜粋ですが、"Traceback"や "Thread"の文字列を含むタイトルを確認します。 どのThreadがクラッシュした不具合か、どのような条件で発生するか、簡易確認ができます。 詳細情報を確認するには、不具合管理IDをクリックし、Bug Search上の情報を確認します。

asa-crashinfo-release-notes.jpg

     
よくみるThread Nameの1つに、DATAPATHがあげられます。 DATAPATHは ACLやNAT制御などFirewallとしてベーシックな処理を担当し、「DATAPATH-X-YYYY」の書式で表示されます。 XはCPUコアを示し、YYYYの値は変動します。 主要プロセス情報について詳しくは、ASA: show processes cpu-usage を用いた CPU負荷の調査 を参照してください。

     
また、クラッシュの発生条件の情報は、非常に重要です。 発生条件が判れば、その条件を満たさないよう暫定対策も取りやすくなります。

例えば以下は、発生条件の絞り込み例です。

  • クラッシュ直前の外部Syslogを確認
        →クラッシュ直前の通信や操作、エラーログの有無を確認
  • クラッシュ直前のASAの操作有無の確認
        →特定コマンド実行時のクラッシュIssueなど
  • 発生する時間帯の確認
        →ランダムで発生するか、日中帯の特定時間のみ発生するか
           特定時間のみ発生が頻発する場合、その時間帯の通信や操作を確認
  • 発生しだした日時の確認
        →発生前後で、設定やネットワーク構成を変えたか
            新しいアプリケーションの利用を開始したか
  • メモリが枯渇してないか、CPUや特定プロセスの負荷が高くないか
        →show memoryや show cpu detail、show processes cpu-usage non-zero コマンドで確認
  • 筐体の異常な発熱はないか     など

   
上記情報を収集後、Thread Nameや 発生条件で、Release Notesなどから既知不具合を検索・調査し、利用中のトレインの最新バージョンで既知不具合が修正されていないか確認します。

また、2016年現在、各Release Notesや Bug Searchの一部情報はGoogleから検索できます。例えば、ASAバージョン 8.2(4)で Thread Name: snmpで クラッシュした場合は、Googleで「Thread snmp ASA 8.2」などと検索すると有効です。

    

      

既知不具合が見つかった場合の対応

Bug Searchでは、各不具合管理IDの以下の情報を確認できます。

    • Symptom(症状)
    • Condition(発生条件)
    • Workaround(回避策)
    • 最初に問題発生を確認したバージョン
    • 修正バージョン     など

    
修正を得るためのアップグレード先は 利用中トレインの最新バージョンを検討してください。 不具合修正は各トレインの最新バージョンに適用されるため、他不具合修正を含めた、最も修正が進んだソフトウェアを利用するためです。 これは、システムの予防保全上も役立ちます。

しかし、何らかの事情で即座にアップグレードできない場合は、Workaroundの暫定適用を検討します。 Workaroundを適用できるかはお客様の機能利用方法などにも左右されるため、実行できる現実的な対応か確認してください。

    
アップグレード方法について詳しくは以下ドキュメントも参照してください。

ASA: ASDMを用いた、同じトレイン内の 最新バージョンへのアップグレード方法
https://supportforums.cisco.com/ja/document/12327751

     

      

既知不具合が見つからなかった場合の対応

特に古いバージョンを利用中の場合は、利用中トレインの最新バージョンへのアップグレードを検討してください。 他不具合修正により間接的に修正されているケースもあるためです。 また、アップグレードは、システムの予防保全にも役立ちます。

バージョンアップ後に再発性が無くなった場合は、何らかの過去不具合修正により解決したと考えることができます。

バージョンアップ後も再発する場合は、新規ソフトウェア不具合の可能性が高くなります。 原因究明には詳細調査が必要です。 調査に利用したログや、想定のトリガー、Crashinfo、Coredump(取得手順はコチラ)、show techの情報を収集し、CiscoTACにお問い合わせを検討ください。 合わせ、再現手順も確立頂けると、解決が大変早くなります。

  

   

参考情報

ファイアウォール トラブルシューティング
https://community.cisco.com/t5/-/-/ta-p/3161736

Firepower System and FTDトラブルシューティング
https://community.cisco.com/t5/-/-/ta-p/3161733

 

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします