この章では、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 グローバル コンフィギュレーション コマンドの設定に応じて異なります。
表26-1 に、Syslogメッセージの要素を示します。
|
service sequence-numbers グローバル コンフィギュレーション コマンドが設定されている場合に限り、シーケンス番号を付けてログ メッセージにスタンプを押します。 詳細については、 ログ メッセージのシーケンス番号のイネーブル化およびディセーブル化 を参照してください。 |
|
|
メッセージまたはイベントの日時です。この情報が表示されるのは、 service timestamps log [ datetime | log ] グローバル コンフィギュレーション コマンドが設定されている場合に限られます。 詳細については、 ログ メッセージのタイム スタンプのイネーブル化およびディセーブル化 を参照してください。 |
|
|
メッセージが参照するファシリティ(SNMP[簡易ネットワーク管理システム]、SYSなど)を示します。サポートされているファシリティのリストについては、 表26-4 を参照してください。 |
|
|
メッセージの重大度を示す0〜7の1桁のコードです。重大度については、 表26-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)
システム メッセージ ロギングのデフォルト設定
表26-2 に、システム メッセージ ロギングのデフォルト設定を示します。
|
debugging(および数値的に下位のレベル。 表26-3メッセージ ロギングのlevelキーワード を参照) |
|
|
Local7( 表26-4ロギングfacility-typeキーワード を参照) |
|
|
informational(および数値的に下位のレベル。 表26-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)
メッセージの重大度の定義
メッセージの重大度( 表26-3 を参照)を指定すると、選択したデバイスに表示されるメッセージを限定できます。
メッセージ重大度を定義するには、イネーブルEXECモードで次の手順を実行します。
|
デフォルトでは、コンソールはdebuggingメッセージおよび数値的に下位のレベルを受信します( 表26-3メッセージ ロギングのlevelキーワード を参照)。 |
||
|
デフォルトでは、端末はdebuggingメッセージおよび数値的に下位のレベルを受信します( 表26-3メッセージ ロギングのlevelキーワード を参照)。 |
||
|
デフォルトでは、Syslogサーバはinformationalメッセージおよび数値的に下位のレベルを受信します( 表26-3メッセージ ロギングのlevelキーワード を参照)。 Syslogサーバの設定手順の詳細については、 UNIX Syslogサーバの設定 を参照してください。 |
||
コンソールへのロギングをディセーブルにするには、 no logging console グローバル コンフィギュレーション コマンドを使用します。コンソール以外の端末へのロギングをディセーブルにするには、 no logging monitor グローバル コンフィギュレーション コマンドを使用します。Syslogサーバへのロギングをディセーブルにするには、 no logging trap グローバル コンフィギュレーション コマンドを使用します。
表26-3 に、 level キーワードについて説明します。また、対応するUNIX Syslog定義も重大度の高い順に示します。
ソフトウェアでは、これ以外に4つのカテゴリのメッセージを生成します。
- ソフトウェアまたはハードウェアの誤動作に関するエラー メッセージ。 warnings から emergencies のレベルで表示されます。これらのメッセージは、スイッチの機能低下を示します。誤動作から回復する方法については、このリリースに対応するシステム メッセージ ガイドを参照してください。
- debug コマンドからの出力。 debugging レベルで表示されます。デバッグ コマンドは、通常TACでのみ使用されます。
- インターフェイスの起動または停止の遷移およびシステムの再起動メッセージ。 notifications レベルで表示されます。このメッセージは単なる情報です。スイッチの機能に影響はありません。
- リロード要求および下位プロセス スタックのメッセージ。 informational レベルで表示されます。このメッセージは単なる情報です。スイッチの機能に影響はありません。
ヒストリ テーブルおよびSNMPに送信されるSyslogメッセージの制限
snmp-server enable trap グローバル コンフィギュレーション コマンドを使用して、SNMPネットワーク管理ステーションに送信するSyslogメッセージのトラップをイネーブルにしている場合は、送信してスイッチのヒストリ テーブルに保存するメッセージのレベルを変更できます。ヒストリ テーブルに保存するメッセージ数を変更することもできます。
SNMPトラップが宛先に到達する保証がないため、メッセージはヒストリ テーブルに保存されます。デフォルトでは、Syslogトラップがイネーブルになっていない場合でも、 warning レベルと数値的に下位レベル( 表26-3メッセージ ロギングのlevelキーワード を参照)の1つのメッセージが、ヒストリ テーブルに保存されます。
レベルとヒストリ テーブル サイズのデフォルト設定を変更するには、イネーブルEXECモードで次の手順を実行します。
|
logging history level 1 |
ヒストリ ファイルに保存され、SNMPサーバに送信されるSyslogメッセージのデフォルト レベルを変更します。 level キーワードのリストについては、 表26-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 キーワードは、使用するロギング ファシリティを指定します。ファシリティの詳細については、 表26-4 を参照してください。 debug キーワードは、Syslogレベルを指定します。重大度の詳細については、 表26-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サーバは情報メッセージより下位のメッセージを受信します。 level キーワードについては、 表26-3 を参照してください。 |
||
|
Syslogファシリティを設定します。 facility-type キーワードについては、 表26-4 を参照してください。 |
||
Syslogサーバを削除するには、 no logging host グローバル コンフィギュレーション コマンドを使用し、SyslogサーバのIPアドレスを指定します。Syslogサーバへのロギングをディセーブルにするには、 no logging trap グローバル コンフィギュレーション コマンドを実行します。
表26-4 に、ソフトウェアによってサポートされるUNIXシステム ファシリティを示します。このファシリティの詳細については、使用しているUNIXオペレーティング システムのオペレータ向けマニュアルを参照してください。
ロギング情報の表示
ロギング設定およびログ バッファの内容を表示するには、 show logging イネーブルEXECコマンドを使用します。この出力に表示されるフィールドの詳細については、『 Cisco IOS Configuration Fundamentals Command Reference 』Release 12.2を参照してください。
