この章では、Catalyst 3750スイッチにシステム メッセージ ロギングを設定する方法について説明します。特に明記しないかぎり、 スイッチ という用語はスタンドアロン スイッチおよびスイッチ スタックを意味します。
システム メッセージ ロギングの概要
デフォルトでは、システム メッセージおよび debug イネーブルEXECコマンドの出力はロギング プロセスに送信されます。スタック メンバーはシステム メッセージをトリガできます。システム メッセージを生成するスタック メンバーは、ホスト名を hostname-n の形式で付加し( n は1〜9のスイッチ番号)、出力をスタック マスターのロギング プロセスにリダイレクトします。スタック マスターはスタック メンバーの1つですが、システム メッセージにホスト名を付加 しません 。ロギング プロセスは、ロギング バッファ、端末回線、UNIX Syslogサーバといったさまざまな宛先へのロギング メッセージの配信を、設定に応じて制御します。ロギング プロセスはコンソールにもメッセージを送信します。
ロギング プロセスがディセーブルになっている場合、メッセージはコンソールにのみ送信されます。メッセージは生成された時点で送信されるので、メッセージとデバッグ出力には、プロンプトまたは他のコマンドからの出力が各所に挿入されます。メッセージがアクティブなコンソールに表示されるのは、メッセージを生成したプロセスが終了してからです。
メッセージの重大度を設定し、コンソールに表示されるメッセージのタイプとそれぞれの宛先を制御できます。ログ メッセージにタイムスタンプを設定したり、Syslog送信元アドレスを設定して、リアルタイムでのデバッグおよび管理を強化することができます。表示されるメッセージについては、このリリースに対応するシステム メッセージ ガイドを参照してください。
ロギングされたシステム メッセージにアクセスするには、スイッチのCLI(コマンドライン インターフェイス)を使用するか、または適切に設定されたSyslogサーバにシステム メッセージを保存します。スイッチ ソフトウェアはSyslogメッセージをスタンドアロン スイッチ(スイッチ スタックの場合はスタック マスター)の内部バッファに保存します。スタンドアロン スイッチまたはスタック マスターに障害が発生すると、フラッシュ メモリに保存されていないログは失われます。
システム メッセージをリモートでモニタするには、Syslogサーバ上でログを表示するか、またはTelnetあるいはコンソール ポートを通じてスイッチにアクセスします。 スイッチ スタックの場合は、すべてのスタック メンバーのコンソールに同じコンソール出力が表示されます。
システム メッセージ ロギングの設定
ここでは、システム メッセージ ロギングの設定方法について説明します。
- システム ログ メッセージ形式
- システム メッセージ ロギングのデフォルト設定
- メッセージ ロギングのディセーブル化 (任意)
- メッセージ出力先デバイスの設定 (任意)
- ログ メッセージの同期化 (任意)
- ログ メッセージのタイム スタンプのイネーブル化およびディセーブル化 (任意)
- ログ メッセージのシーケンス番号のイネーブル化およびディセーブル化 (任意)
- メッセージの重大度の定義 (任意)
- 履歴テーブルおよびSNMPに送信されるSyslogメッセージの制限 (任意)
- UNIX Syslogサーバの設定 (任意)
システム ログ メッセージ形式
システム ログ メッセージには、最大80文字とパーセント記号(%)が使用され、そのあとにオプションのシーケンス番号とタイムスタンプ情報(設定されている場合)が続きます。メッセージは次のフォーマットで表示されます。
seq no:timestamp:%facility-severity-MNEMONIC:description (hostname-n)
メッセージのパーセント記号より前の部分は、 service sequence-numbers 、 service timestamps log datetime 、 service timestamps log datetime [ localtime ] [ msec ] [ show-timezone ] 、または service timestamps log uptime グローバル コンフィギュレーション コマンドの設定に応じて異なります。
システム ログ メッセージ要素 に、Syslogメッセージの要素を示します。
|
service sequence-numbers グローバル コンフィギュレーション コマンドが設定されている場合に限り、シーケンス番号を付けてログ メッセージにスタンプを押します。 詳細については、 ログ メッセージのシーケンス番号のイネーブル化およびディセーブル化 を参照してください。 |
|
|
メッセージまたはイベントの日時。この情報が表示されるのは、 service timestamps log [ datetime | log ] グローバル コンフィギュレーション コマンドが設定されている場合に限られます。 詳細については、 ログ メッセージのタイム スタンプのイネーブル化およびディセーブル化 を参照してください。 |
|
|
メッセージが参照するファシリティ(SNMP、SYSなど)を示します。サポートされているファシリティのリストについては、 ロギングfacility-typeキーワード を参照してください。 |
|
|
メッセージの重大度を示す0〜7の1桁のコード。重大度については、 メッセージ ロギングのlevelキーワード を参照してください。 |
|
|
スタック メンバーのホスト名およびスタック内のスイッチ番号。スタック マスターはスタック メンバーの1つですが、システム メッセージにホスト名を付加 しません 。 |
次に、スタック マスターおよびスタック メンバー(ホスト名 Switch-2 )に対するスイッチ システム メッセージの一部の例を示します。
00:00:46: %LINK-3-UPDOWN: Interface Port-channel1, changed state to up
00:00:47: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/1, changed state to up
00:00:47: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/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 GigabitEthernet1/0/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)
00:00:46: %LINK-3-UPDOWN: Interface Port-channel1, changed state to up (Switch-2)
00:00:47: %LINK-3-UPDOWN: Interface GigabitEthernet2/0/1, changed state to up (Switch-2)
00:00:47: %LINK-3-UPDOWN: Interface GigabitEthernet2/0/2, changed state to up (Switch-2)
00:00:48: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to down (Switch-2)
00:00:48: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet2/0/1, changed state to down 2 (Switch-2)
システム メッセージ ロギングのデフォルト設定
システム メッセージ ロギングのデフォルト設定 に、システム メッセージ ロギングのデフォルト設定を示します。
|
debugging(および数値的に下位のレベル。 メッセージ ロギングのlevelキーワード を参照) |
|
|
Local7( ロギングfacility-typeキーワード を参照) |
|
|
informational(および数値的に下位のレベル。 メッセージ ロギングのlevelキーワード を参照) |
メッセージ ロギングのディセーブル化
メッセージ ロギングは、デフォルトでイネーブルに設定されています。コンソール以外の宛先へメッセージを送信するには、メッセージ ロギングをイネーブルに設定する必要があります。イネーブルに設定されている場合、ログ メッセージはロギング プロセスに送信され、この結果、指定された場所に、メッセージを生成したプロセスとは非同期でメッセージがロギングされます。
ロギング プロセスをディセーブルにすると、スイッチの処理速度が低下します。コンソールにメッセージが書き込まれるのを待ってからプロセスを続行するためです。ロギング プロセスがディセーブルになると、メッセージの生成後ただちにコンソールに表示されます。コマンド出力の途中に表示されることもあります。
logging synchronous グローバル コンフィギュレーション コマンドも、コンソールへのメッセージの表示に影響を与えます。このコマンドがイネーブルの場合は、 Return キーを押さない限りメッセージが表示されません。詳細については、 ログ メッセージの同期化 を参照してください。
ディセーブルにしたメッセージ ロギングを再度イネーブルにするには、 logging on グローバル コンフィギュレーション コマンドを使用します。
メッセージ出力先デバイスの設定
メッセージ ロギングがイネーブルになっている場合、コンソール以外の特定の場所へもメッセージを送信できます。メッセージを受信する場所を指定するには、イネーブルEXECモードで、次のコマンドを1つまたは複数使用します。この手順は任意です。
|
スタンドアロン スイッチ(スイッチ スタックの場合はスタック マスター)の内部バッファにメッセージをロギングします。デフォルトのバッファ サイズは4096バイトです。指定できる範囲は4096〜2147483647バイトです。 スタンドアロン スイッチまたはスタック マスターに障害が発生すると、フラッシュ メモリに保存されていないログは失われます。ステップ4を参照してください。 |
||
|
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コマンドを使用します。
特定のPower over Ethernet(PoE)対応ポートでPoEイベントのロギングをイネーブルまたはディセーブルにするには、 logging event power-inline-status インターフェイス コンフィギュレーション コマンドを使用します。このポートでのロギングは、デフォルトでイネーブルです。
コンソールへのロギングをディセーブルにするには、 no logging console グローバル コンフィギュレーション コマンドを使用します。ファイルへのロギングをディセーブルにするには、no logging file [ severity-level-number | type ] グローバル コンフィギュレーション コマンドを使用します。
ログ メッセージの同期化
非送信請求メッセージおよび debug イネーブルEXECコマンドの出力を、送信請求デバイス出力および特定のコンソール ポート回線または仮想端末回線のプロンプトと同期させることができます。重大度に基づいて、非同期に出力するメッセージのタイプを特定したり、端末の非同期メッセージを廃棄する前に、これらを保存するバッファの最大数を設定することもできます。
非送信請求メッセージと debug コマンド出力の同期ロギングをイネーブルにすると、送信請求デバイス出力の表示または印刷後に、非送信請求デバイス出力がコンソールに表示または印刷されます。非送信請求メッセージと debug コマンド出力は、ユーザに入力を求めるプロンプトが表示されたのち、コンソールに表示されます。非送信請求メッセージと debug コマンド出力が、送信請求デバイス出力およびプロンプトに挿入されることはありません。非送信請求メッセージが表示されると、コンソールはユーザ プロンプトを再表示します。
非送信請求メッセージおよびデバッグ出力の同期をディセーブルにするには、 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) (Switch-2)
次には、 service timestamps log uptime グローバル コンフィギュレーション コマンドをイネーブルにした場合のロギング出力の一部の例を示します。
00:00:46: %LINK-3-UPDOWN: Interface Port-channel1, changed state to up (Switch-2)
ログ メッセージのシーケンス番号のイネーブル化およびディセーブル化
複数のログ メッセージが同じタイム スタンプを持つ可能性があるので、シーケンス番号を表示すると確実に1つのメッセージを参照できます。デフォルトでは、ログ メッセージにシーケンス番号は表示されません。
ログ メッセージのシーケンス番号をイネーブルにするには、イネーブルEXECモードで次の手順を実行します。この手順は任意です。
シーケンス番号をディセーブルにするには、 no service sequence-numbers グローバル コンフィギュレーション コマンドを使用します。
次に、 シーケンス番号 をイネーブルにした場合のロギング出力の一部の例を示します。
000019: %SYS-5-CONFIG_I: Configured from console by vty2 (10.34.195.36) (Switch-2)
メッセージの重大度の定義
メッセージの重大度( メッセージ ロギングのlevelキーワード を参照)を指定すると、選択したデバイスに表示されるメッセージを限定することができます。
|
デフォルトでは、コンソールはdebuggingメッセージおよび数値的に下位のレベルを受信します( メッセージ ロギングのlevelキーワード を参照)。 |
||
|
デフォルトでは、端末はdebuggingメッセージおよび数値的に下位のレベルを受信します( メッセージ ロギングのlevelキーワード を参照)。 |
||
|
デフォルトでは、Syslogサーバはinformationalメッセージおよび数値的に下位のレベルを受信します( メッセージ ロギングのlevelキーワード を参照)。 Syslogサーバの設定手順の詳細については、 UNIX Syslogサーバの設定 を参照してください。 |
||
コンソールへのロギングをディセーブルにするには、 no logging console グローバル コンフィギュレーション コマンドを使用します。コンソール以外の端末へのロギングをディセーブルにするには、 no logging monitor グローバル コンフィギュレーション コマンドを使用します。Syslogサーバへのロギングをディセーブルにするには、 no logging trap グローバル コンフィギュレーション コマンドを使用します。
メッセージ ロギングのlevelキーワード に、 level キーワードについて説明します。また、対応するUNIX Syslog定義も重大度の高い順に示します。
ソフトウェアでは、これ以外に4つのカテゴリのメッセージを生成します。
- ソフトウェアまたはハードウェアの誤動作に関するエラー メッセージ。 warnings から emergencies のレベルで表示されます。これらのメッセージは、スイッチの機能低下を示します。誤動作から回復する方法については、このリリースに対応するシステム メッセージ ガイドを参照してください。
- debug コマンドからの出力。 debugging レベルで表示されます。デバッグ コマンドを使用するのは、通常Technical Assistance Centerのみです。
- インターフェイスの起動または停止の移行およびシステムの再起動メッセージ。 notifications レベルで表示されます。このメッセージは単なる情報です。スイッチの機能に影響はありません。
- リロード要求および下位プロセス スタックのメッセージ。 informational レベルで表示されます。このメッセージは単なる情報です。スイッチの機能に影響はありません。
履歴テーブルおよびSNMPに送信されるSyslogメッセージの制限
snmp-server enable trap グローバル コンフィギュレーション コマンドを使用して、SNMP(簡易ネットワーク管理プロトコル)ネットワーク管理ステーションに送信するSyslogメッセージのトラップをイネーブルにしている場合は、送信されるメッセージのレベルおよびスイッチの履歴テーブルに保存されるメッセージのレベルを変更できます。履歴テーブルに保存されるメッセージ数も変更できます。
SNMPトラップが宛先に到達する保証がないため、メッセージは履歴テーブルに保存されます。デフォルトでは、Syslogトラップがイネーブルになっていない場合でも、 warning レベルと数値的に下位レベル( メッセージ ロギングのlevelキーワード を参照)の1つのメッセージが、履歴テーブルに保存されます。
レベルと履歴テーブル サイズのデフォルト設定を変更するには、イネーブルEXECモードで次の手順を実行します。この手順は任意です。
|
logging history level 1 |
履歴ファイルに保存され、SNMPサーバに送信されるSyslogメッセージのデフォルト レベルを変更します。 level キーワードのリストについては、 メッセージ ロギングのlevelキーワード を参照してください。 デフォルトでは、 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デーモンを設定する必要があります。この手順は任意です。
local7.debug /usr/adm/logs/ cisco.log
local7 キーワードは、使用するロギング ファシリティを指定します。ファシリティの詳細については、 ロギングfacility-typeキーワード を参照してください。 debug キーワードは、Syslogレベルを指定します。重大度の詳細については、 メッセージ ロギングのlevelキーワード を参照してください。Syslogデーモンは、重大度がこのレベル以上であるメッセージを、次のフィールドで指定されているファイルに送信します。ファイルが先に作成されていて、Syslogデーモンが書き込み権限を持っていることが必要となります。
$ chmod 666 /var/log/ cisco.log
$ kill -HUP `cat /etc/syslog.pid`
詳細については、使用しているUNIXシステムの man syslog.conf および man syslogd コマンドを参照してください。
UNIXシステム ロギング ファシリティの設定
外部のデバイスにシステム ログ メッセージを送信すると、スイッチはそのメッセージがどのUNIX Syslogファシリティから発信されたかを識別します。
UNIXシステム ファシリティのメッセージ ロギングを設定するには、イネーブルEXECモードで次の手順を実行します。この手順は任意です。
|
デフォルトでは、Syslogサーバはinformationalメッセージより下位のメッセージを受信します。 level キーワードについては、 メッセージ ロギングのlevelキーワード を参照してください。 |
||
|
Syslogファシリティを設定します。 facility-type キーワードについては、 ロギングfacility-typeキーワード を参照してください。 |
||
Syslogサーバを削除するには、 no logging host グローバル コンフィギュレーション コマンドを使用し、SyslogサーバのIPアドレスを指定します。Syslogサーバへのロギングをディセーブルにするには、 no logging trap グローバル コンフィギュレーション コマンドを実行します。
ロギングfacility-typeキーワード に、ソフトウェアでサポートされているUNIXシステム ファシリティを示します。このファシリティの詳細については、使用しているUNIXオペレーティング システムのオペレータ向けマニュアルを参照してください。
ロギング設定の表示
ロギング設定およびログ バッファの内容を表示するには、 show logging イネーブルEXECコマンドを使用します。この出力内のフィールドについては、『 Cisco IOS Configuration Fundamentals Command Reference 』Release 12.1を参照してください。
- 1.
