発行日;2012/05/10 | 英語版ドキュメント(2009/02/14 版) | ドキュメントご利用ガイド | ダウンロード ; この章 , ドキュメント全体
(PDF - 10MB) | フィードバック
目次
ログ メッセージのタイムスタンプのイネーブル化とディセーブル化
ログ メッセージのシーケンス番号のイネーブル化およびディセーブル化
履歴テーブルおよび SNMP に送信される Syslog メッセージの制限
システム メッセージ ロギングの設定
この章では、Catalyst 2950 または Catalyst 2955 のスイッチでシステム メッセージ ロギングを設定する方法について説明します。
![]()
(注) この章で使用するコマンドの構文および使用方法の詳細については、『Cisco IOS Configuration Fundamentals Command Reference, Release 12.1』を参照してください。
システム メッセージ ロギングの概要
スイッチはデフォルトで、システム メッセージおよび debug 特権 EXEC コマンドの出力をロギング プロセスに送信します。ロギング プロセスはログ メッセージを各宛先(設定に応じて、ログ バッファ、端末回線、UNIX Syslog サーバなど)に配信する処理を制御します。ロギング プロセスは、コンソールにもメッセージを送信します。
![]()
(注) Syslog フォーマットは 4.3 Berkeley Standard Distribution(BSD)UNIX と互換性があります。
ロギング プロセスがディセーブルの場合、メッセージはコンソールにのみ送信されます。メッセージは生成時に送信されるため、メッセージおよびデバッグ出力にはプロンプトや他のコマンドの出力が割り込みます。メッセージを生成したプロセスが終了すると、メッセージがコンソールに表示されます。
コンソールと各送信先に表示されるメッセージのタイプを制御する場合、メッセージの重大度レベルを設定できます。ログ メッセージにタイムスタンプを適用したり、syslog 送信元アドレスを設定したりすると、リアルタイムのデバッグと管理を強化できます。表示されるメッセージについては、このリリースに対応するシステム メッセージ ガイドを参照してください。
ロギングされたシステム メッセージにアクセスするには、スイッチの Command-Line Interface(CLI; コマンドライン インターフェイス)を使用するか、または適切に設定された Syslog サーバにこれらのシステム メッセージを保存します。スイッチ ソフトウェアは Syslog メッセージを内部バッファに保存します。スイッチに Telnet またはコンソール ポートを使用してアクセスするか、または syslog サーバ上のログを調べることにより、離れた場所でシステム メッセージをモニタできます。
システム メッセージ ロギングの設定
ここでは、システム メッセージ ロギングの設定方法について説明します。
•
「ログ メッセージのタイムスタンプのイネーブル化とディセーブル化」
•
「ログ メッセージのシーケンス番号のイネーブル化およびディセーブル化」
•
「履歴テーブルおよび SNMP に送信される Syslog メッセージの制限」
システム ログ メッセージのフォーマット
システム ログ メッセージは最大 80 文字と 1 つのパーセント記号(%)で構成され、設定されている場合にはその前に、オプションとしてシーケンス番号またはタイムスタンプ情報が付加されます。メッセージは、次のフォーマットで表示されます。
seq no:timestamp: %facility-severity-MNEMONIC:description
パーセント記号の前のメッセージ部分は、 service sequence-numbers 、 service timestamps log datetime 、 service timestamps log datetime [ localtime ] [ msec ] [ show-timezone ] 、または service timestamps log uptime グローバル コンフィギュレーション コマンドの設定によって変わります。
表 26-1 に、Syslog メッセージの要素を示します。
service sequence-numbers グローバル コンフィギュレーション コマンドが設定されている場合だけ、ログ メッセージにシーケンス番号をスタンプします。
詳細については、「ログ メッセージのシーケンス番号のイネーブル化およびディセーブル化」を参照してください。
メッセージまたはイベントの日時です。 service timestamps log [ datetime | log ] グローバル コンフィギュレーション コマンドが設定されている場合だけ、この情報が表示されます。
詳細については、「ログ メッセージのタイムスタンプのイネーブル化とディセーブル化」を参照してください。
メッセージが参照する機能(SNMP、SYS など)です。サポートされる機能の一覧については、表 26-4を参照してください。
メッセージの重大度を示す 0 ~ 7 の 1 桁のコードです。重大度の詳細については、表 26-3を参照してください。
システム メッセージ ロギングのデフォルト設定
表 26-2 に、システム メッセージ ロギングのデフォルト設定を示します。
メッセージ ロギングのディセーブル化とイネーブル化
メッセージ ロギングはデフォルトでイネーブルに設定されています。コンソール以外のいずれかの宛先にメッセージを送信する場合は、メッセージ ロギングをイネーブルにする必要があります。メッセージ ロギングがイネーブルの場合、ログ メッセージはロギング プロセスに送信されます。ロギング プロセスは、メッセージを生成元プロセスと同期しないで指定場所に記録します。
特権 EXEC モードから、次の手順に従ってメッセージ ロギングをディセーブルにします。
ロギング プロセスをディセーブルにすると、メッセージがコンソールに書き込まれるまでプロセスは処理続行を待機する必要があるため、スイッチの処理速度が低下することがあります。ロギング プロセスがディセーブルの場合、メッセージは生成後すぐに(通常はコマンド出力に割り込む形で)コンソールに表示されます。
logging synchronous グローバル コンフィギュレーション コマンドも、コンソールへのメッセージ表示に影響します。このコマンドをイネーブルにすると、Return を押さなければメッセージが表示されません。詳細については、「ログ メッセージの同期化」を参照してください。
メッセージ ロギングをディセーブルにした後に再びイネーブルにするには、 logging on グローバル コンフィギュレーション コマンドを使用します。
メッセージ表示宛先デバイスの設定
メッセージ ロギングがイネーブルの場合、コンソールだけでなく特定の場所にもメッセージを送信できます。特権 EXEC モードから、次のコマンドの 1 つ以上を使用してメッセージを受信する場所を指定します。
メッセージを内部バッファにロギングします。デフォルトのバッファ サイズは 4096 です。指定できる範囲は 4096 ~ 4294967295 バイトです。
でください。UNIX Syslog サーバ ホストにメッセージを記録します。
host には、Syslog サーバとして使用するホストの名前または IP アドレスを指定します。
ログ メッセージを受信する Syslog サーバのリストを作成するには、このコマンドを複数回入力します。
Syslog サーバの設定手順については、「UNIX Syslog サーバの設定」を参照してください。
logging file flash: filename [ max-file-size ] [ min-file-size ] [ severity-level-number | type ]
ログ メッセージをフラッシュ メモリのファイル内にストアします。
•
filename には、ログ メッセージのファイル名を入力します。
•
(任意) max-file-size には、ログ ファイルの最大サイズを指定します。指定できる範囲は 4096 ~ 2147483647 です。デフォルトは 4069 バイトです。
•
(任意) min-file-size には、ログ ファイルの最小サイズを指定します。指定できる範囲は 1024 ~ 2147483647 です。デフォルトは 2048 バイトです。
•
(任意) severity-level-number | type には、ロギングの重大度またはロギング タイプを指定します。重大度に指定できる範囲は 0 ~ 7 です。ロギング タイプ キーワードの一覧については、表 26-3を参照してください。デフォルトでは、デバッグ メッセージ、および数値的により低いレベルのメッセージがログ ファイルに送信されます。
現在のセッション中に、コンソール以外の端末にメッセージを記録します。
端末パラメータ設定コマンドはローカルに設定され、セッションの終了後は無効になります。デバッグ メッセージを表示する場合は、セッションごとにこのステップを実行する必要があります。
logging buffered グローバル コンフィギュレーション コマンドを実行すると、ログ メッセージが内部バッファにコピーされます。循環バッファなので、バッファがいっぱいになると、古いメッセージが新しいメッセージで置き換えられます。バッファに記録されたメッセージを表示するには、 show logging 特権 EXEC コマンドを使用します。バッファ内の最も古いメッセージが最初に表示されます。バッファの内容をクリアするには、 clear logging 特権 EXEC コマンドを使用します。
コンソールへのロギングをディセーブルにするには、 no logging console グローバル コンフィギュレーション コマンドを使用します。ファイルへのロギングをディセーブルにするには、no logging file [ severity-level-number | type ] グローバル コンフィギュレーション コマンドを使用します。
ログ メッセージの同期化
特定のコンソール ポート回線または仮想端末回線に対して、非送信請求メッセージおよび debug 特権 EXEC コマンドの出力を、送信請求デバイスの出力およびプロンプトと同期させることができます。重大度に応じて非同期に出力されるメッセージのタイプを特定できます。また、端末の非同期メッセージがドロップされるまでストアしておくバッファの最大数を設定することもできます。
非送信請求メッセージと debug コマンド出力の同期ロギングをイネーブルにすると、送信請求デバイス出力の表示または印刷後に、非送信請求デバイス出力がコンソールに表示または印刷されます。非送信請求メッセージおよび debug コマンドの出力は、ユーザ入力用プロンプトが返された後に、コンソールに表示されます。したがって、非送信請求メッセージおよび debug コマンドの出力は、送信請求デバイス出力およびプロンプトに割り込まれることはありません。非送信請求メッセージが表示された後に、コンソールはユーザ プロンプトを再表示します。
特権 EXEC モードから、次の手順に従って同期ロギングを設定します。
非送信請求メッセージおよびデバッグ出力の同期をディセーブルにするには、 no logging synchronous [ level severity-level | all ] [ limit number-of-buffers ] ライン コンフィギュレーション コマンドを使用します。
ログ メッセージのタイムスタンプのイネーブル化とディセーブル化
デフォルトでは、ログ メッセージにはタイムスタンプが設定されていません。
特権 EXEC モードから、次の手順に従ってログ メッセージのタイムスタンプをイネーブルにします。
デバッグとログ メッセージの両方に対してタイムスタンプをディセーブルにするには、グローバル コンフィギュレーション コマンド no service timestamps を使用します。
次に、 service timestamps log datetime グローバル コンフィギュレーション コマンドをイネーブルにした場合のログ表示の一部を示します。
次に、 service timestamps log uptime グローバル コンフィギュレーション コマンドをイネーブルにした場合のログ表示の一部を示します。
ログ メッセージのシーケンス番号のイネーブル化およびディセーブル化
複数のログ メッセージが同じタイムスタンプを持つ可能性があるため、シーケンス番号を表示すると確実に 1 つのメッセージを参照できます。デフォルトでは、ログ メッセージにシーケンス番号は表示されません。
特権 EXEC モードから、次の手順に従ってログ メッセージへのシーケンス番号をイネーブルにします。
シーケンス番号をディセーブルにするには、 no service sequence-numbers グローバル コンフィギュレーション コマンドを使用します。
メッセージ重大度の定義
選択したデバイスに表示されるメッセージを制限するには、メッセージの重大度を指定します( 表 26-3 を参照)。
特権 EXEC モードから、次の手順に従ってメッセージの重大度を定義します。
デフォルトで、コンソールはデバッグ メッセージ、および数値的により低いレベルのメッセージを受信します(表 26-3を参照)。
デフォルトで、端末はデバッグ メッセージ、および数値的により低いレベルのメッセージを受信します(表 26-3を参照)。
デフォルトで、Syslog サーバは通知メッセージ、および数値的により低いレベルのメッセージを受信します(表 26-3を参照)。
Syslog サーバの設定手順については、「UNIX Syslog サーバの設定」を参照してください。
![]()
(注) level を指定すると、このレベルのメッセージ、および数値的により低いレベルのメッセージが宛先に表示されます。
コンソールへのロギングをディセーブルにするには、 no logging console グローバル コンフィギュレーション コマンドを使用します。コンソール以外の端末へのロギングをディセーブルにするには、 no logging monitor グローバル コンフィギュレーション コマンドを使用します。Syslog サーバへのロギングをディセーブルにするには、 no logging trap グローバル コンフィギュレーション コマンドを使用します。
表 26-3 に level キーワードを示します。また、対応する UNIX Syslog 定義を、重大度の最も高いものから順に示します。
ソフトウェアは、これ以外の 4 つのカテゴリのメッセージを生成します。
•
ソフトウェアまたはハードウェアの誤動作に関するエラー メッセージ: warnings ~ emergencies の重大度で表示されます。このタイプのメッセージは、スイッチの機能に影響があることを示します。この誤動作からの回復手順については、このリリースに対応するシステム メッセージ ガイドを参照してください。
•
debug コマンドの出力: debugging の重大度で表示されます。通常、デバッグ コマンドは Technical Assistance Center(TAC)でのみ使用されます。
•
インターフェイスのアップまたはダウン トランジション メッセージおよびシステム再起動メッセージ: notifications の重大度で表示されます。このメッセージは単なる情報であり、スイッチの機能には影響がありません。
•
リロード要求と低プロセス スタック メッセージ: informational の重大度で表示されます。このメッセージは単なる情報であり、スイッチの機能には影響がありません。
履歴テーブルおよび SNMP に送信される Syslog メッセージの制限
snmp-server enable trap グローバル コンフィギュレーション コマンドを使用して、SNMP Network Management Station(NMS; ネットワーク管理ステーション)に送信されるように Syslog メッセージ トラップがイネーブルに設定されている場合は、スイッチの履歴テーブルに送信および格納されるメッセージの重大度を変更できます。また、履歴テーブルに格納されるメッセージの数を変更することもできます。
SNMP トラップは宛先への到達が保証されていないため、メッセージは履歴テーブルに格納されます。デフォルトでは、Syslog トラップがイネーブルでない場合も、重大度が warnings のメッセージ、および数値的により低いメッセージ(表 26-3を参照)が、履歴テーブルに 1 つ格納されます。
特権 EXEC モードから、次の手順に従ってレベルと履歴テーブルのサイズのデフォルトを変更します。
logging history level1
履歴ファイルに格納され、SNMP サーバに送信される Syslog メッセージのデフォルトの重大度を変更します。
level キーワードのリストについては、表 26-3を参照してください。
デフォルトでは、 warnings 、 errors 、 critical 、 alerts 、および emergencies のメッセージが送信されます。
1.表 26-3 に、level キーワードおよび重大度を示します。SNMP を使用している場合は、重大度の値が 1 だけ増えます。たとえば、emergencies の場合は 0 ではなく 1 になります。critical の場合は 2 ではなく 3 になります。
履歴テーブルがいっぱいの場合( logging history size グローバル コンフィギュレーション コマンドで指定した最大メッセージ エントリ数が格納されている場合)は、新しいメッセージ エントリを格納できるように、最も古いエントリがテーブルから削除されます。
Syslog メッセージのロギングをデフォルトの重大度に戻すには、 no logging history グローバル コンフィギュレーション コマンドを使用します。履歴テーブル内のメッセージ数をデフォルト値に戻すには、 no logging history size グローバル コンフィギュレーション コマンドを使用します。
UNIX Syslog デーモンへのログ メッセージ
システム ログ メッセージを UNIX Syslog サーバに送信する前に、UNIX サーバ上で Syslog デーモンを設定する必要があります。root としてログインし、次のステップを実行します。
![]()
(注) 最新バージョンの UNIX Syslog デーモンの中には、デフォルトでネットワークからの Syslog パケットを受け入れないものがあります。ご使用のシステムがこれに該当する場合、UNIX の man syslogd コマンドを使用して、リモート syslog メッセージのロギングをイネーブルにするために syslog コマンド ラインに追加または削除する必要のあるオプションを確認してください。
ステップ 1
/etc/syslog.conf ファイルに次のような行を 1 行追加します。
local7 キーワードは、使用するロギング機能を指定します。機能の詳細については、表 26-4を参照してください。 debug キーワードは、Syslog の重大度を指定します。重大度の詳細については、表 26-3を参照してください。Syslog デーモンは、これ以上の重大度の場合に、次のフィールドで指定されたファイルにメッセージを送信します。このファイルは、Syslog デーモンに書き込み権限がある既存ファイルでなければなりません。
ステップ 2
UNIX シェル プロンプトに次のコマンドを入力して、ログ ファイルを作成します。
ステップ 3
Syslog デーモンに新しい設定を認識させます。
詳細については、ご使用の UNIX システムの man syslog.conf および man syslogd コマンドを参照してください。
UNIX システム ロギング機能の設定
システム ログ メッセージを外部デバイスに送信する場合は、メッセージを UNIX Syslog 機能から送信されたメッセージとして特定するようにシステムを設定できます。
特権 EXEC モードから、次の手順に従って UNIX システム ファシリティのメッセージ ロギングを設定します。
デフォルトでは、Syslog サーバは通知メッセージおよびそれ次のメッセージを受信します。 level キーワードについては、表 26-3を参照してください。
Syslog 機能を設定します。 facility-type キーワードについては、表 26-4を参照してください。
Syslog サーバを削除するには、 no logging host グローバル コンフィギュレーション コマンドを使用して、Syslog サーバの IP アドレスを指定します。Syslog サーバへのロギングをディセーブルにするには、 no logging trap グローバル コンフィギュレーション コマンドを入力します。
表 26-4 に、ソフトウェアでサポートされている UNIX システム機能を示します。これらの機能の詳細については、ご使用の UNIX オペレーティング システムの操作マニュアルを参照してください。