この章では、Catalyst 3550 スイッチにシステム メッセージ ロギングを設定する方法について説明します。
システム メッセージ ロギングの概要
デフォルトでは、スイッチはシステム メッセージからの出力と debug イネーブル EXEC コマンドをロギング プロセスに送ります。ロギング プロセスは、ロギング バッファ、端末回線、UNIX Syslog サーバといったさまざまな宛先へのロギング メッセージの配信を、設定に応じて制御します。ロギング プロセスはコンソールにもメッセージを送信します。
ロギング プロセスがディセーブルになっている場合、メッセージはコンソールのみに送信されます。メッセージは生成された時点で送信されるので、メッセージとデバッグ出力には、プロンプトまたはほかのコマンドからの出力が各所に挿入されます。メッセージがコンソールに表示されるのは、生成元のプロセスが終了してからです。
メッセージの重大度を設定し、コンソールに表示されるメッセージのタイプとそれぞれの宛先を制御できます。ログ メッセージにタイム スタンプを設定したり、Syslog 送信元アドレスを設定してリアルタイムでのデバッグおよび管理を強化したりできます。表示されるメッセージについては、このリリースに対応するシステム メッセージ ガイドを参照してください。
スイッチの CLI(コマンドライン インターフェイス)を使用して、または適切に設定された Syslog サーバに保存して、ロギングされたシステム メッセージにアクセスできます。スイッチ ソフトウェアは、内蔵バッファに Syslog メッセージを保存します。システム メッセージは、Telnet からスイッチにアクセスして、またはコンソール ポートを通じて、または Syslog サーバ上のログ表示によって、リモートでモニタできます。
システム メッセージ ロギングの設定
ここでは、システム メッセージ ロギングの設定方法について説明します。
- ・ システム ログ メッセージ形式
- ・ システム メッセージ ロギングのデフォルト設定
- ・ メッセージ ロギングのディセーブル化およびイネーブル化
- ・ メッセージ出力先デバイスの設定
- ・ ログ メッセージの同期化
- ・ ログ メッセージのタイム スタンプのイネーブル化およびディセーブル化
- ・ ログ メッセージのシーケンス番号のイネーブル化およびディセーブル化
- ・ メッセージの重大度の定義
- ・ ヒストリ テーブルおよび SNMP に送信される Syslog メッセージの制限
- ・ UNIX Syslog サーバの設定
システム ログ メッセージ形式
システム ログ メッセージには、最大 80 文字とパーセント記号(%)が使用され、そのあとにオプションのシーケンス番号とタイム スタンプ情報(設定されている場合)が続きます。次の形式でメッセージが表示されます。
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
グローバル コンフィギュレーション コマンドの設定に応じて異なります。
表27-1 に、Syslog メッセージの要素を示します。
|
service sequence-numbers グローバル コンフィギュレーション コマンドが設定されている場合に限り、シーケンス番号を付けてログ メッセージにスタンプを付与します。 詳細については、 ログ メッセージのシーケンス番号のイネーブル化およびディセーブル化 を参照してください。 |
|
|
メッセージまたはイベントの日時です。この情報が表示されるのは、 service timestamps log [ datetime | log ] グローバル コンフィギュレーション コマンドが設定されている場合に限られます。 詳細については、 ログ メッセージのタイム スタンプのイネーブル化およびディセーブル化 を参照してください。 |
|
|
メッセージが参照するファシリティ(SNMP[簡易ネットワーク管理システム]、SYS など)を示します。サポートされているファシリティのリストについては、 表27-4 を参照してください。 |
|
|
メッセージの重大度を示す 0 〜 7 の 1 桁のコードです。重大度については、 表27-3 を参照してください。 |
|
00:00:46: %LINK-3-UPDOWN: Interface Port-channel1, changed state to up
00:00:47: %LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to up
00:00:47: %LINK-3-UPDOWN: Interface GigabitEthernet0/2, changed state to up
00:00:48: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to down
00:00:48: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/1, changed state to down 2
*Mar 1 18:46:11: %SYS-5-CONFIG_I: Configured from console by vty2 (10.34.195.36)
18:47:02: %SYS-5-CONFIG_I: Configured from console by vty2 (10.34.195.36)
*Mar 1 18:48:50.483 UTC: %SYS-5-CONFIG_I: Configured from console by vty2 (10.34.195.36)
システム メッセージ ロギングのデフォルト設定
表27-2 に、システム メッセージ ロギングのデフォルト設定を示します。
|
debugging(および数値的に下位のレベル。 表27-3メッセージ ロギングの level キーワード を参照) |
|
|
Local7( 表27-4ロギング facility-type キーワード を参照) |
|
|
informational(および数値的に下位のレベル。 表27-3メッセージ ロギングの level キーワード を参照) |
メッセージ ロギングのディセーブル化およびイネーブル化
メッセージ ロギングは、デフォルトでイネーブルに設定されています。コンソール以外の宛先へメッセージを送信するには、メッセージ ロギングをイネーブルに設定する必要があります。イネーブルに設定されている場合、ログ メッセージはロギング プロセスに送信され、この結果、指定された場所に、メッセージを生成したプロセスとは非同期でメッセージがロギングされます。
メッセージ ロギングをディセーブルにするには、イネーブル 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 ] |
フラッシュ メモリ内のファイルにログ メッセージを保存します。
|
|
|
現在のセッション中に、メッセージをコンソール以外の端末にロギングします。 端末パラメータ設定コマンドはローカルに設定されていますが、セッションの終了後は無効になります。セッションごとにこのステップを実行し、デバッグ メッセージを表示する必要があります。 |
||
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 グローバル コンフィギュレーション コマンドをイネーブルにした場合のロギング出力の一部です。
*Mar 1 18:46:11: %SYS-5-CONFIG_I: Configured from console by vty2 (10.34.195.36)
次の例は、 service timestamps log uptime グローバル コンフィギュレーション コマンドをイネーブルにした場合のロギング出力の一部です。
00:00:46: %LINK-3-UPDOWN: Interface Port-channel1, changed state to up
ログ メッセージのシーケンス番号のイネーブル化およびディセーブル化
複数のログ メッセージが同じタイム スタンプを持つ可能性があるので、シーケンス番号を表示すると確実に 1 つのメッセージを参照できます。デフォルトでは、ログ メッセージにシーケンス番号は表示されません。
ログ メッセージのシーケンス番号をイネーブルにするには、イネーブル EXEC モードで次の手順を実行します。
シーケンス番号をディセーブルにするには、 no service sequence-numbers グローバル コンフィギュレーション コマンドを使用します。
次の例は、 シーケンス番号 をイネーブルにした場合のロギング出力の一部です。
000019: %SYS-5-CONFIG_I: Configured from console by vty2 (10.34.195.36)
メッセージの重大度の定義
メッセージの重大度( 表27-3 を参照)を指定すると、選択したデバイスに表示されるメッセージを限定できます。
メッセージ重大度を定義するには、イネーブル EXEC モードで次の手順を実行します。
|
デフォルトでは、コンソールは debugging メッセージおよび数値的に下位のレベルを受信します( 表27-3メッセージ ロギングの level キーワード を参照)。 |
||
|
デフォルトでは、端末は debugging メッセージおよび数値的に下位のレベルを受信します( 表27-3メッセージ ロギングの level キーワード を参照)。 |
||
|
Syslog サーバにロギングされるメッセージを制限します。 デフォルトでは、Syslog サーバは informational メッセージおよび数値的に下位のレベルを受信します( 表27-3メッセージ ロギングの level キーワード を参照)。 Syslog サーバの設定手順の詳細については、 UNIX Syslog サーバの設定 を参照してください。 |
||
コンソールへのロギングをディセーブルにするには、 no logging console グローバル コンフィギュレーション コマンドを使用します。コンソール以外の端末へのロギングをディセーブルにするには、 no logging monitor グローバル コンフィギュレーション コマンドを使用します。Syslog サーバへのロギングをディセーブルにするには、 no logging trap グローバル コンフィギュレーション コマンドを使用します。
表27-3 に、 level キーワードについて説明します。また、対応する UNIX Syslog 定義も重大度の高い順に示します。
ソフトウェアでは、これ以外に 4 つのカテゴリのメッセージを生成します。
-
・ ソフトウェアまたはハードウェアの誤動作に関するエラー メッセージ。
warnings
から
emergencies のレベルで表示されます。これらのメッセージは、スイッチの機能低下を示します。誤動作から回復する方法については、このリリースに対応するシステム メッセージ ガイドを参照してください。 - ・ debug コマンドからの出力。 debugging レベルで表示されます。デバッグ コマンドは、通常 Technical Assistance Center(TAC)でのみ使用されます。
- ・ インターフェイスの起動または停止の移行およびシステムの再起動メッセージ。 notifications レベルで表示されます。このメッセージは単なる情報です。スイッチの機能に影響はありません。
- ・ リロード要求および下位プロセス スタックのメッセージ。 informational レベルで表示されます。このメッセージは単なる情報です。スイッチの機能に影響はありません。
ヒストリ テーブルおよび SNMP に送信される Syslog メッセージの制限
snmp-server enable trap グローバル コンフィギュレーション コマンドを使用して、SNMP ネットワーク管理ステーションに送信する Syslog メッセージのトラップをイネーブルにしている場合は、送信してスイッチのヒストリ テーブルに保存するメッセージのレベルを変更できます。ヒストリ テーブルに保存するメッセージ数を変更することもできます。
SNMP トラップが宛先に到達する保証がないため、メッセージはヒストリ テーブルに保存されます。デフォルトでは、Syslog トラップがイネーブルになっていない場合でも、 warning レベルと数値的に下位レベル( 表27-3メッセージ ロギングの level キーワード を参照)の 1 つのメッセージが、ヒストリ テーブルに保存されます。
レベルとヒストリ テーブル サイズのデフォルト設定を変更するには、イネーブル EXEC モードで次の手順を実行します。
|
logging history level 1 |
ヒストリ ファイルに保存され、SNMP サーバに送信される Syslog メッセージのデフォルト レベルを変更します。 level キーワードのリストについては、 表27-3 を参照してください。 デフォルトでは、 warnings 、 errors 、 critical 、 alerts 、および emergencies メッセージが送信されます。 |
|
ヒストリ テーブルがいっぱいのとき( logging history size グローバル コンフィギュレーション コマンドで指定されたメッセージ エントリの最大数を格納しているとき)は、最も古いメッセージ エントリがテーブルから削除され、新しいメッセージ エントリが保存されます。
Syslog メッセージのロギングをデフォルト レベルに戻すには、 no logging history グローバル コンフィギュレーション コマンドを使用します。ヒストリ テーブルのメッセージ数をデフォルト値に戻すには、 no logging history size グローバル コンフィギュレーション コマンドを使用します。
UNIX Syslog サーバの設定
次に、UNIX サーバ Syslog デーモンを設定し、UNIX システム ロギング ファシリティを定義する方法について説明します。
UNIX Syslog デーモンへのメッセージのロギング
UNIX Syslog サーバにシステム ログ メッセージを送信するには、事前に UNIX サーバで Syslog デーモンを設定する必要があります。ルート(root)としてログインし、次の手順を実行します。
local7.debug/usr/adm/logs/ cisco. log
local7 キーワードは、使用するロギング ファシリティを指定します。ファシリティの詳細については、 表27-4 を参照してください。 debug キーワードは、Syslog レベルを指定します。重大度の詳細については、 表27-3 を参照してください。Syslog デーモンは、このレベル以上の重大なレベルで、次のフィールドで指定されているファイルにメッセージを送信します。ファイルが既に存在し、Syslog デーモンがそのファイルの書き込み権限を持っている必要があります。
ステップ 2 UNIX のシェル プロンプトで次のコマンドを入力し、ログファイルを作成します。
$ chmod 666/var/log/ cisco.log
ステップ 3 Syslog デーモンが新しい変更を読み取っていることを確認します。
$ kill -HUP `cat/etc/syslog.pid`
詳細については、使用している UNIX システムの man syslog.conf コマンドおよび man syslogd コマンドを参照してください。
UNIX システム ロギング ファシリティの設定
外部のデバイスにシステム ログ メッセージを送信すると、スイッチはそのメッセージがどの UNIX Syslog ファシリティから発信されたかを識別します。
UNIX システム ファシリティのメッセージ ロギングを設定するには、イネーブル EXEC モードで次の手順を実行します。
|
Syslog サーバにロギングされるメッセージを制限します。 デフォルトでは、Syslog サーバは通知メッセージより下位のメッセージを受信します。 level キーワードについては、 表27-3 を参照してください。 |
||
|
Syslog ファシリティを設定します。 facility-type キーワードについては、 表27-4 を参照してください。 |
||
Syslog サーバを削除するには、 no logging host グローバル コンフィギュレーション コマンドを使用し、Syslog サーバの IP アドレスを指定します。Syslog サーバへのロギングをディセーブルにするには、 no logging trap グローバル コンフィギュレーション コマンドを実行します。
表27-4 に、ソフトウェアによってサポートされる UNIX システム ファシリティを示します。このファシリティの詳細については、使用している UNIX オペレーティング システムのオペレータ向けマニュアルを参照してください。
ロギング情報の表示
ロギング設定およびログ バッファの内容を表示するには、 show logging イネーブル EXEC コマンドを使用します。この出力に表示されるフィールドの詳細については、『 Cisco IOS Configuration Fundamentals Command Reference 』Release 12.2 を参照してください。
