ネットワーク管理コンフィギュレーション ガイド、 Cisco IOS XE Release 3S
Embedded Syslog Manager(ESM)
Embedded Syslog Manager(ESM)
発行日;2012/02/05 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 3MB) | フィードバック

目次

機能情報の検索

目次

Embedded Syslog Manager の制約事項

Embedded Syslog Manager について

Cisco IOS XE システム メッセージ ロギング

システム ロギング メッセージの形式

Embedded Syslog Manager

syslog フィルタ モジュール

Embedded Syslog Manager の使用方法

ESM syslog フィルタ モジュールの書き込み

ESM フィルタ プロセス

syslog フィルタ モジュールの入力

通常の ESM フィルタの処理

バックグラウンド ESM フィルタの処理

この次の手順

Embedded Syslog Manager の設定

前提条件

Embedded Syslog Manager の設定例

Embedded Syslog Manager の設定:例

Syslog フィルタ モジュール:例

重大度の拡大:例

メッセージのカウント:例

XML のタギング:例

SMTP ベースの E メール アラート:例

ストリーム:例

送信元 IP のタギング:例

その他の参考資料

関連資料

規格

MIB

RFC

シスコのテクニカル サポート

Embedded Syslog Manager の機能情報

用語集

Embedded Syslog Manager(ESM)

Embedded Syslog Manager(ESM)機能は、Cisco IOS XE システム メッセージ ロガーによって伝送される前に、システム ロギング メッセージのフィルタリング、拡大、相互の関連付け、ルーティング、およびカスタマイズを可能にするプログラマブル フレームワークを提供します。

機能情報の検索

最新の機能情報と注意事項については、ご使用のプラットフォームとソフトウェア リリースに対応したリリース ノートを参照してください。このモジュールに記載されている機能の詳細、および各機能がサポートされているリリースのリストについては、「Embedded Syslog Manager の機能情報」を参照してください。

プラットフォームのサポートおよび Cisco IOS XE ソフトウェア イメージのサポートに関する情報を検索するには、Cisco Feature Navigator を使用します。Cisco Feature Navigator には、 http://www.cisco.com/go/cfn からアクセスします。Cisco.com のアカウントは必要ありません。

Embedded Syslog Manager の制約事項

Embedded Syslog Manager(ESM)は、ESM フィルタが Tool Command Language(Tcl)で記述されているため、Tcl 8.3.4 Cisco IOS XE サブシステムに依存します。ESM は Tcl バージョン 8.3.4 以降をサポートするイメージでのみ使用できます。

ESM フィルタは Tcl で書かれています。このマニュアルは、Tcl プログラミングに精通している読者を想定しています。

ESM フィルタリングは、SNMP の「履歴」ロギングには適用できません。言い換えれば、ESM フィルタリングは、 logging history および snmp-server enable traps syslog コマンドを使用してロギングされたメッセージには適用されません。

Embedded Syslog Manager について

Embedded Syslog Manager を設定するには、次の概念を理解しておく必要があります。

「Cisco IOS XE システム メッセージ ロギング」

「システム ロギング メッセージの形式」

「Embedded Syslog Manager」

「syslog フィルタ モジュール」

Cisco IOS XE システム メッセージ ロギング

Cisco IOS XE System Message Logging(syslog; システム メッセージ ロギング)プロセスを使用すると、ローカルまたはリモート ロギング サーバにシステムで重要なエラーと通知メッセージを報告し、保存できます。これらの syslog メッセージには、標準化された形式のメッセージ(システム ロギング メッセージ、システム エラー メッセージ、または単にシステム メッセージと呼ばれる)と、 debug コマンドからの出力が含まれます。これらのメッセージはネットワーク動作中に生成され、問題の種類と重大度を特定してユーザと Cisco TAC 技術者を支援し、ユーザがルータ動作をモニタするために役立ちます。システム ロギング メッセージは、コンソール接続、モニタ(TTY)接続、システム バッファ、またはリモート ホストに送信できます。

Embedded Syslog Manager を導入すると、システム メッセージを標準メッセージ、XML 形式のメッセージ、または ESM でフィルタリングされたメッセージとして、別個にロギングできるようになります。これらの出力は、従来のあらゆる syslog ターゲットに送信できます。たとえば、コンソール接続への標準ロギング、XML 形式のメッセージのバッファへのロギング、および ESM でフィルタリングされたメッセージのモニタへのロギングをイネーブルにできます。同様に、各タイプの出力は異なるリモート ホストに送信できます。異なるロギング プロセスの利点は、たとえば、ESM フィルタ モジュールに問題がある場合、標準ロギングが影響を受けないことです。

システム ロギング メッセージの形式

システム ロギング メッセージの形式は次のとおりです。

%<ファシリティ>-<重大度>-<ニーモニック>: <メッセージ テキスト>

次に例を示します。

%LINK-5-CHANGED: Interface Serial3/3, changed state to administratively down

通常、これらのメッセージはタイムスタンプやエラー シーケンス番号などの追加のテキストの後に続きます。

<シーケンス番号>: <タイムスタンプ>:%<ファシリティ>-<重大度>-<ニーモニック>: <メッセージ テキスト>

次に例を示します。

000013: Mar 18 14:52:10.039:%LINK-5-CHANGED: Interface Serial3/3, changed state
to administratively down

) システム ロギング メッセージに使用されるタイムスタンプの形式は、service timestamps グローバル コンフィギュレーション モード コマンドによって決まります。service sequence-numbers グローバル コンフィギュレーション コマンドは、先行するシーケンス番号をイネーブルまたはディセーブルにします。時刻の前のアスタリスク(*)は、システム クロックが信頼できる時刻源と同期していないため、時刻が不正確である可能性があることを示しています。


Embedded Syslog Manager

Embedded Syslog Manager(ESM)は Cisco IOS XE ソフトウェアに統合された機能で、送信元でのシステム メッセージ ロギングを完全に制御できます。ESM は、システム ロギングの処理における特定のニーズを満たすカスタム フィルタを書くことができるプログラマティック インターフェイスを提供します。この機能の利点は次のとおりです。

カスタマイズ:複数の連携した syslog コレクタをサポートする、システム ロギング メッセージの完全にカスタマイズ可能な処理。

キー メッセージの重大度の拡大:システムで定義された重大度を使用する代わりに、syslog メッセージの独自の重大度を設定する機能。

特定のメッセージのターゲティング:ファシリティのタイプまたは重大度のタイプに基づいて、特定のメッセージまたはメッセージ タイプを異なる syslog コレクタにルーティングする機能。

SMTP ベースの E メール アラート:TCP ベースの syslog コレクタまたは Simple Mail TransferProtocol(SMTP; シンプル メール転送プロトコル)サーバなどの外部サーバへの TCP を使用した通知の機能。

メッセージの制限:デバイスレベルのイベントを相互に関連付けることによって、syslog の「メッセージ ストーム」を制限して管理する機能。

ESM は現在の UDP ベースの syslog メカニズムに代わるものではなく、現在のシステム ロギング プロセスと並行して動作できるオプションのサブシステムです。たとえば、フィルタリングされているか、相互に関連しているか、またはカスタマイズされた ESM ロギング ストリームがサーバ B に送信される間に、元の syslog メッセージ ストリームをサーバ B によって収集できます。syslog メッセージのすべての現在のターゲット(コンソール、モニタ、バッファ、および syslog ホスト リスト)は、元の syslog ストリームまたは ESM ストリームのいずれかを受信するように設定できます。ESM ストリームは、それに応じて、ユーザ定義のストリームにさらに分割し、コレクタにルーティングできます。

syslog フィルタ モジュール

システム ロギング メッセージを処理するために、ESM は syslog フィルタ モジュールを使用します。syslog フィルタ モジュールは、単に、ローカル システム メモリまたはリモート ファイル サーバに保存された Tcl スクリプト言語で書かれたスクリプトです。ESM は、独自のスクリプトを書いて参照できるため、カスタマイズ可能です。

syslog フィルタ モジュールは、プレーンテキスト ファイルまたはコンパイル済みファイルとして書いて、保存できます。Tcl スクリプトの事前コンパイルは、TclPro などのツールを使用して実行できます。コンパイル済みスクリプトは編集できないため、セキュリティおよび管理された一貫性の尺度になります。


) Tcl スクリプト モジュールには実行可能なコマンドが含まれているため、コンフィギュレーション ファイルの管理と同じ方法で、これらのファイルのセキュリティを管理する必要があります。


Embedded Syslog Manager の使用方法

ここでは、次の各手順について説明します。

「ESM syslog フィルタ モジュールの書き込み」

「Embedded Syslog Manager の設定」

ESM syslog フィルタ モジュールの書き込み

ESM 設定の syslog フィルタ モジュールを参照する前に、システム ロギング メッセージに適用するモジュールを書き込むか取得する必要があります。syslog フィルタ モジュールは、ローカル システム メモリまたはリモート ファイル サーバに保存できます。syslog フィルタ モジュールを書き込むには、次の概念を理解しておく必要があります。

「ESM フィルタ プロセス」

「syslog フィルタ モジュールの入力」

「通常の ESM フィルタの処理」

「バックグラウンド ESM フィルタの処理」

ESM フィルタ プロセス

ESM がイネーブルの場合、すべてのシステム ロギング メッセージは、参照された syslog フィルタ モジュールを通して処理されます。syslog フィルタ モジュールは、フィルタ チェーンで順番に処理されます。フィルタ チェーンでの syslog フィルタ モジュールの位置は、 logging filter グローバル コンフィギュレーション モード コマンドで適用された位置タグによって決定されます。位置が指定されていない場合、モジュールは、設定に追加された順番で処理されます。

各フィルタ モジュールの出力は、チェーン内の次のフィルタ モジュールの入力として使用されます。言い換えれば、元の syslog メッセージ(::orig_msg)を含む Tcl グローバル変数は、チェーン内の次のフィルタを呼び出す前に、各フィルタの戻り値に設定されます。したがって、フィルタが NULL を戻した場合、メッセージは ESM ストリームに送信されません。すべてのフィルタがメッセージを処理すると、メッセージは、ロガーによって配信のためのキューに入れられます。

コンソール、バッファ、モニタ、および syslog ホストは、特定のメッセージ ストリーム(通常、XML、または ESM)を受信するように設定できます。syslog ホストは、ユーザ定義の番号が付いたストリームを受信するように、さらに限定できます。各ターゲットは各メッセージを検査し、そのストリーム タグに基づいてメッセージを受け入れるか、または拒否します。ESM フィルタは、Tcl グローバル変数「::stream」を変更することによってメッセージのストリーム タグを変更し、宛先ストリームを変更できます。

syslog フィルタ モジュールの入力

ESM がイネーブルの場合、システム ロギング メッセージは、ロギング プロセスに送信されます。システム ロギング メッセージ内の各データ エレメントは、フォーマットされた syslog メッセージ全体とともに、Tcl グローバル変数として記録されます。syslog メッセージのデータ エレメントは、次のとおりです。

<シーケンス番号>: <タイムスタンプ>:%<ファシリティ>-<重大度>-<ニーモニック>: <メッセージ テキスト>

メッセージ テキストには、しばしばメッセージ引数が含まれます。

メッセージが syslog ホストで受信される場合、「syslog カウント」番号も追加されます。

<syslog カウント>: < シーケンス番号>: < タイムスタンプ>:%<ファシリティ>-< 重大度>-< ニーモニック>:
< メッセージ テキスト>

次に例を示します。

000415: .Jan 15 21:56:00: %SYS-5-CONFIG_I: Configured from console by console
 

表 1 に、syslog フィルタ モジュールで使用される Tcl スクリプト入力変数を示します。フィルタが動作する必要がある syslog メッセージ データは、Tcl グローバル名前空間変数として渡されます。したがって、スクリプト モジュール内で変数の前に二重のコロンを付ける必要があります。

 

表 1 syslog フィルタ モジュールの有効な変数

変数名
定義

::orig_msg

システムによってフォーマットされる元の完全なシステム ロギング メッセージ。

フィルタ モジュールがメッセージを送信するかどうかを決定している場合、NULL またはこの変数の値($::orig_msg)のいずれかを返します。

::hostname

ルータのホスト名。

ホスト名は、 logging origin-id hostname グローバル コンフィギュレーション モード コマンドを使用して、リモート ホストに送信される syslog メッセージの最初に追加できます。

::buginfseq

エラー メッセージ シーケンス番号。

service sequence-numbers グローバル コンフィギュレーション コマンドは、先行するシーケンス番号をイネーブルまたはディセーブルにします。

::timestamp

システム ロギング メッセージのタイムスタンプ。

システム ロギング メッセージに使用されるタイムスタンプの形式は、 service timestamps グローバル コンフィギュレーション モード コマンドによって決まります。

::facility

メッセージを生成したシステム ファシリティの名前。

FACILITY は、複数の大文字で構成されたコードで、メッセージが言及しているファシリティを示します。ファシリティはハードウェア デバイス、プロトコル、またはシステム ソフトウェアのモジュールである可能性があります。一般的な例には、SYS、LINK、LINEPROTO などがあります。

::severity

重大度の値。

SEVERITY は、状態の重大度を表す 0 ~ 7 の 1 桁のコードです。数字が小さいほどメッセージは深刻です。

重大度を拡大する場合、syslog フィルタ モジュールはこの変数を変更する必要があります。

::mnemonic

メッセージのニーモニック。

MNEMONIC は、エラーまたはイベントの種類を特定するコード(通常は省略された説明)です。一般的な例には、CONFIG_I、UPDOWN などがあります。

::format

メッセージ テキストの文字列。

フォーマット文字列は、元のメッセージを作成するために使用されます。メッセージ テキストには、しばしば引数が含まれます。たとえば、「Configured from %s by %」というメッセージでは、%s はメッセージの引数を示します。

メッセージ テキストの文字列は、Tcl format コマンドに渡すことができるメッセージ形式です。

::msg_args

メッセージ テキストの引数。

msg_args 変数は、フォーマット文字列の引数を含むリストです。

たとえば、「2w0d: %SYS-5-CONFIG_I: Configured from console by console」というシステム ロギング メッセージでは、フォーマットは「Configured from %s by %s」で、msg_args は「console, console」です。

::process

プロセス名および割り込みレベル文字列。

一部のシステム メッセージは内部エラーを説明し、トレースバック情報を含みます。次の出力例は、プロセスおよび interrupt level(ipl; 割り込みレベル)情報の形式を示します。

-Process= "Net Background", ipl= 2, pid= 82

::pid

Process ID(PID; プロセス ID)。

一部のシステム メッセージには、トリガーするプロセスの PID が含まれています。次の出力例は、PID 情報の形式を示します。

-Process= "Net Background", ipl= 2, pid= 12345

::traceback

トレースバック文字列。

一部のシステム メッセージは内部エラーを説明し、トレースバック情報を含みます。この情報(含まれる場合)は、一般的に、エラー メッセージの最後に表示されます。次の出力例は、トレースバック情報の形式を示します。

Apr 23 07:14:02: %ATMPA-3-CMDFAIL: ATM2/1/0 Command Failed
at ../src-rsp/rsp_vip _atmdx.c - line 113, arg 32784
-Process= "Net Background", ipl= 2, pid= 82
-Traceback= 602D12AC 602CED14 60050B6C 602CFF74

::syslog_facility

外部の syslog コレクタ(syslog ホスト)に送信される syslog メッセージの PRI 部分で使用される syslog ファシリティ番号。

syslog ファシリティは、0 ~ 184 の番号として指定されます。

デフォルトは 184(local7)ですが、この値は、 logging facility グローバル コンフィギュレーション コマンドを使用して変更できます。

::clear

「- event cleared」または「NULL」の文字列を含みます。

::version

「SYS_MAJORVERSION. SYS_MINORVERSION」形式での Cisco IOS XE ソフトウェア バージョン。

::module_position

フィルタ チェーンにおけるこの syslog フィルタ モジュールの位置。フィルタ チェーンは、1 から始まります。

この引数の値は、 logging filter グローバル コンフィギュレーション モード コマンドによってスクリプトが参照される順番によって決定されます。

::stream

ESM メッセージ ストリーム番号。

ストリーム番号は、最初のフィルタが実行される前に、常に 2(フィルタリングされたストリーム)に設定されます。

syslog フィルタ モジュールは、メッセージを特定の syslog コレクタにルーティングするために、この値をユーザ定義のストリーム番号に変更できます。

ストリーム番号は次のように割り当てられます。

ストリーム 0:デフォルト(標準)syslog ストリーム

ストリーム 1:XML タグ付き syslog ストリーム

ストリーム 2:デフォルトのフィルタリングされた syslog ストリーム

ストリーム 3~9:予約済み

ストリーム 10 ~ 65536:ユーザ定義

通常の ESM フィルタの処理

システム ロギング メッセージが生成されるたびに、syslog フィルタ モジュールがシリーズで呼び出されます。このシリーズは ::module_position 変数によって決定されますが、これは一般的にシステム設定内でモジュールが参照される順番(モジュールが設定される順番)です。

あるフィルタ モジュールの出力が、次のフィルタ モジュールへの入力になります。フィルタへの入力は Tcl グローバル名前空間変数( 表 1 に示す)であるため、各フィルタは、フィルタの目的に応じて、これらの変数のいずれかまたはすべてを変更できます。

その後のフィルタ実行の間に ESM フレームワークによって自動的にアップデートされる Tcl グローバル変数は、::orig_msg 変数と ::cli_args 変数だけです。フレームワークは、自動的に ::orig_msg の値をフィルタ モジュールの戻り値に設定します。したがって、元のメッセージを変更するかフィルタリングするように設定されているフィルタでは、::orig_msg 変数の値を手動で設定しないでください。フィルタは目的の値を返すことだけが必要です。たとえば、次の 1 行の ESM フィルタ

return “This is my new syslog message.”

は、渡されたメッセージを無視し、常に出力を「This is my new syslog message」という固定文字列に変更します。モジュールがチェーンの最後のフィルタである場合、すべての ESM ターゲットは、この文字列を最終的な syslog メッセージとして受信します。

1 行の ESM フィルタは、

return “”

ESM ストリームへのすべての syslog メッセージをブロックします。たとえば、

return $::orig_msg

という行は、メッセージをチェーンの次のフィルタに渡すだけです。したがって、不要なメッセージを抑制するように設定されている ESM フィルタは次のように見えます。

if { [my_procedure_to_check_this_message] == 1 } {
return $::orig_msg
} else {
return “”
}

 

その設計によって、一部のフィルタは ::orig_msg 変数をまったく使用せず、そのデータ エレメントから syslog メッセージを再構築する(::format、::msg_args、::timestamp などを使用)場合があります。たとえば、XML タグ付きフィルタは個々のデータ エレメントにタグを付け、元のフォーマットされたメッセージを無視します。このようなモジュールが Tcl スクリプトの最初にある ::orig_msg 変数をチェックすることは重要であるため、以前のフィルタがメッセージを送信してはならないと示した場合(::orig_msg が NULL)、フィルタはメッセージを処理せず、単に NULL を返します。

Cisco IOS XE コマンドは、 exec および config Tcl コマンドを使用して、syslog フィルタ モジュールに追加することもできます。たとえば、syslog メッセージに送信元 IP アドレスを追加し、syslog メッセージがイーサネット 2/0 インターフェイスから送信されるように設定する場合( logging source-interface コマンドを使用)、スクリプト内で exec Tcl コマンドを使用して、モジュールの初期化中に show interface Ethernet 2/0 コマンドを発行します。

set source_ip_string [exec show ip int E2/0 | inc Internet]
 
puts $source_ip_string
 
" Internet address is 10.4.2.63/24"

スクリプトはそのコマンドの出力を syslog メッセージに渡します。

バックグラウンド ESM フィルタの処理

Tcl では、 after Tcl コマンドを使用して、今後の処理に対するコマンドをキューに入れることができます。このコマンドの最も一般的な使用方法は、一定の時間間隔(「相関関係ウィンドウ」と呼ばれる)にわたって、イベントを相互に関連付ける(収集して要約する)ことです。対象のウィンドウが期限切れになると、フィルタは「ウェイクアップ」し、ウィンドウの間に発生したイベントを計算または要約し、イベントを報告する新しい syslog メッセージを頻繁に送信する必要があります。このバックグラウンド プロセスは、特定の時間の経過後、Tcl インタープリタがキューに入れられたコマンドを実行できるようにする ESM イベント ループ プロセスによって処理されます。

syslog フィルタ モジュールが相関関係ウィンドウを利用する必要がある場合、相関関係ウィンドウが期限切れになったら、 after Tcl コマンドを使用して、要約手順を呼び出す必要があります(付録 A の例を参照)。バックグラウンド プロセスが実行されている場合、通常のフィルタ チェーンの処理は行われないため、出力を生成するには、これらのフィルタは 2 つの ESM Tcl 拡張子( errmsg または esm_errmsg )のいずれかを使用する必要があります。

バックグラウンド処理中、 after コマンドによってキューに入れられたコマンドは、フィルタ チェーンのコンテキスト(通常の処理のように)では実行されず、Tcl インタープリタによって連続して実行される自律的な手順となります。したがって、これらのバックグラウンド手順は、通常の Tcl グローバル名前空間変数( esm_errmsg を使用する際の次のフィルタへのグローバル名前空間変数の設定を除く)では動作せず、独自の名前空間に保存された変数で動作します。これらの変数が手順の定義の外側で宣言される場合、すべてのコールで永続的です。

errmsg Tcl コマンドの目的は、新しいメッセージを作成して配信用に送信し、他の syslog フィルタ モジュールを回避することです。 errmsg コマンドの構文は次のとおりです。

errmsg <severity> <stream> <message_string>

esm_errmsg Tcl コマンドの目的は、新しいメッセージを作成し、フィルタ チェーンのメッセージの下にある syslog フィルタ モジュールでメッセージを処理し、配信用に送信することです。 esm_errmsg コマンドの構文は次のとおりです。

esm_errmsg <module_position>
 

errmsg() Tcl 関数と esm_errmsg() Tcl 関数の主な相違点は、 errmsg がフィルタを無視し、配信用メッセージを直接キューに入れるのに対して、 esm_errmsg は syslog メッセージをフィルタのチェーンに送信することです。

次の例では、新しい syslog メッセージが作成され、アラート重大度 1 のタグを付けられて、設定された ESM ロギング ターゲット(ストリーム 2)に送信されます。このフィルタの目的は、30 分の相関関係ウィンドウで個々の SYS-5-CONFIG メッセージを抑制し、ウィンドウの最後で要約メッセージを送信することであると想定できます。

errmsg 1 2 “*Jan 24 09:34:02.539: %SYS-1-CONFIG_I: There have been 12
configuration changes to the router between Jan 24 09:04:02.539 and Jan 24
09:34:01.324”
 

このフィルタの下にある残りのフィルタが呼び出されるので、 esm_errmsg を使用するには、このバックグラウンド プロセスは、 esm_errmsg を呼び出す前に、必要な TCL グローバル名前空間変数を読み込む必要があります。::module_position を渡すと、開始するフィルタが ESM フレームワークに通知されます。したがって、 esm_errmsg コマンドを使用するフィルタは、バックグラウンドの処理で使用するために、::module_position(通常の処理中にグローバル名前空間変数で渡される)を独自の名前空間変数に保存する必要があります。次に例を示します。

proc ::my_filter_namespace::my_summary_procedure{}
{
set ::orig_msg “*Jan 24 09:34:02.539: %SYS-1-CONFIG_I: There have been 12
configuration changes to the router between Jan 24 09:04:02.539 and Jan 24
09:34:01.324”
set ::timestamp “*Jan 24 09:34:02.539”
set ::severity 1
set ::stream 2
set ::traceback “”
set ::pid “”
set ::process “”
set ::format “There have been %d configuration changes to the router
between %s and %s”
set ::msg_args {12 “Jan 24 09:04:01.539” “Jan 24 09:34:01.324”}
esm_errmsg $::my_filter_namespace::my_module_position
}

esm_errmsg コマンドにすべてのグローバル名前空間変数を設定する利点は、フィルタがモジュラで、ESM フレームワークで使用される順番が重要でなくなることです。たとえば、ESM ターゲットに宛てられたすべてのメッセージの後ろにメッセージ発信者のホスト名を付ける場合、1 行の「hostname」フィルタを作成し、フィルタ チェーンの下部に配置できます。

return “$::orig_msg -- $::hostname”

この例では、いずれかのフィルタがバックグラウンド処理中に新しいメッセージを生成し、 errmsg の代わりに、 esm_errmsg を使用した場合、これらのメッセージの後ろには、明確にホスト名が付けられます。

この次の手順

syslog フィルタ モジュールを作成後、ファイルをルータにアクセス可能な場所に保存する必要があります。ファイルは、ローカル システム メモリにコピーするか、ネットワーク ファイル サーバに保存できます。

Embedded Syslog Manager の設定

ESM を設定するには、生成された syslog メッセージに適用する 1 つまたは複数のフィルタを指定し、syslog メッセージのターゲットを指定します。

前提条件

1 つまたは複数の syslog フィルタ モジュールがルータで使用できる必要があります。

手順の概要

1. enable

2. configure terminal

3. logging filter filter-url

4. システム ロギング出力に適用する必要がある各 syslog フィルタ モジュールに対して、ステップ 3 を繰り返します。

5. logging [ console | buffered | monitor ] filtered [ level ]

または

logging host { ip-address | host-name } filtered [ stream stream-id ]

6. 希望する各システム ロギング宛先に対して、ステップ 5 を繰り返します。

7. logging source-interface

8. logging origin-id

9. end

10. show logging

手順の詳細

コマンドまたはアクション
目的

ステップ 1

enable

 

Router> enable

特権 EXEC モードをイネーブルにします。

プロンプトが表示されたら、パスワードを入力します。

ステップ 2

configure terminal

 

Router# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 3

logging filter filter-url [ position ] [ args filter-arguments ]

 

Router(config)# logging filter slot0:/escalate.tcl 1 args CONFIG_I 1

生成されたシステム ロギング メッセージに適用する 1 つまたは複数の syslog フィルタ モジュールを指定します。

使用する必要がある各 syslog フィルタ モジュールに対して、このコマンドを繰り返します。

filter-url 引数は、syslog フィルタ モジュール(スクリプト)の Cisco IOS ファイル システムの場所です。場所はローカル メモリ、または tftp: ftp: 、または rcp: を使用するリモート サーバ内です。

オプションの position 引数は、syslog フィルタ モジュールを実行する順番を指定します。この引数を省略した場合、指定されたモジュールは、チェーンの最後のモジュールとして配置されます。

フィルタは、 logging filter コマンドを再入力し、異なる位置を指定することによって、実行中に再び指示できます。

オプションの args filter-arguments 構文を追加し、引数を指定されたフィルタに渡すことができます。複数の引数を指定できます。引数の数とタイプは、syslog フィルタ モジュールで定義する必要があります。たとえば、syslog フィルタ モジュールが特定の E メール アドレスを引数として受け入れるように設計されている場合、 args user@host.com 構文を使用して E メール アドレスを渡すことができます。複数の引数は、一般的にスペースで区切ります。

実行するモジュールのリストからモジュールを削除するには、このコマンドの no 形式を使用します。

ステップ 4

システム ロギング出力に適用する必要がある各 syslog フィルタ モジュールに対して、ステップ 3 を繰り返します。

--

ステップ 5

logging [ console | buffered | monitor ] filtered [ level ]

または

logging host { ip-address | host-name } filtered [ stream stream-id ]

 

Router(config)# logging console filtered informational

または

 

Router(config)# logging host 209.165.200.225 filtered stream 20

ESM のフィルタリングされた syslog 出力のターゲットを指定します。

ESM のフィルタリングされた syslog メッセージは、コンソール、モニタ(TTY および Telnet 接続)、システム バッファ、またはリモート ホストに送信できます。

オプションの level 引数は、メッセージの送信を指定された値またはそれより低い値のメッセージに制限します。たとえば、レベル 1 が指定されている場合、レベル 1(アラート)またはレベル 0(緊急事態)でメッセージだけが指定されたターゲットに送信されます。レベルはキーワードまたは数字として指定できます。

コンソール、モニタ、接続、またはシステム バッファにロギングする場合、 level 引数によって指定された重大度のしきい値は、ESM フィルタリングよりも優先されます。言い換えれば、ESM フィルタが ESM ターゲットに送信されるメッセージを返した場合でも、重大度が設定されたしきい値を満たさない(レベルの値より高い)場合、メッセージは送信されません。

リモート ホストにロギングする場合、ストリーム タグを使用すると、メッセージのタイプに基づいて宛先を指定できます。 stream stream-id 構文を使用すると、ESM が指定されたストリーム値を持つメッセージだけを特定のホストに送信するように設定できます。

ストリーム値は、設定された syslog フィルタ モジュールによって、メッセージに適用されます。たとえば、すべての重大度 5 のメッセージでは、ストリーム タグ「20」を適用できます。次のコマンドを使用して、「20」のストリーム タグを持つすべてのメッセージが 209.165.200.225 のホストに送信されるように指定できます。

logging host 209.165.200.225 filtered
stream 20

ステップ 6

希望する各システム ロギング宛先に対して、ステップ 5 を繰り返します。

ロギング ホスト コマンドを複数回発行することによって、異なるシステム ロギング ストリームに異なるターゲットを指定できます。

同様に、コンソール、モニタ接続、またはシステム バッファに異なる重大度のメッセージを送信するように設定できます。たとえば、Network Operations Center(NOC; ネットワーク オペレーション センター)の画面に非常に重要なメッセージだけを表示できます(モニタまたはコンソール接続を使用)。

ステップ 7

logging source-interface type number

 

Router(config)# logging source-interface ethernet 0

(任意)リモート syslog ホストに送信する syslog メッセージの送信元インターフェイスを指定します。

通常では、リモート ホストに送信される syslog メッセージは、メッセージ生成の時点で使用できるあらゆるインターフェイスを使用します。このコマンドを使用すると、ルータは、強制的に syslog メッセージを指定されたインターフェイスだけからリモート ホストに送信します。

ステップ 8

logging origin-id { hostname | ip | string user-defined-id }

 

Router(config)# logging origin-id string “Domain 2, Router 5”

 

(任意)リモート ホストに送信される syslog メッセージに発信元 ID を追加できます。

発信元 ID は、リモート ホストに送信されるすべての syslog メッセージの最初に追加されます。ID はホスト名、IP アドレス、または指定する任意のテキストです。

発信元 ID は、syslog 出力を複数のデバイスから 1 つの syslog ホストに送信する場合、システム ロギング メッセージの送信元を識別するのに役立ちます。

ステップ 9

end
 

Router(config)# end

現在のコンフィギュレーション セッションを終了し、CLI を特権 EXEC モードに返します。

ステップ 10

show logging

 

Router# show logging

 

 

(任意)ESM のフィルタリングされたロギングのステータスを含む、システム ロギングのステータスを表示します。

バッファへのフィルタリングされたロギングがイネーブルの場合、このコマンドは、バッファに保存されたデータも表示します。

syslog フィルタ モジュールをこのコマンドの出力に示す順番は、フィルタ モジュールが実行される順番です。

Embedded Syslog Manager の設定例

ここでは、次の設定例について説明します。

「Embedded Syslog Manager の設定:例」

「Syslog フィルタ モジュール:例」

Embedded Syslog Manager の設定:例

次の例では、ESM フィルタ ロギングがコンソール接続でイネーブル、標準ロギングがモニタ接続とバッファでイネーブル、XML 形式のロギングが 209.165.200.225 のホストでイネーブルです。

Router(config)# logging filter tftp://209.165.200.225/ESM/escalate.tcl
Router(config)# logging filter slot0:/email.tcl user@example.com
Router(config)# logging filter slot0:/email_guts.tcl
Router(config)# logging console filtered
Router(config)# logging monitor 4
Router(config)# logging buffered debugging
Router(config)# logging host 209.165.200.225 xml
Router(config)# end
Router# show logging
Syslog logging: enabled (0 messages dropped, 8 messages rate-limited,
0 flushes, 0 overruns, xml disabled, filtering enabled)
Console logging: level debugging, 21 messages logged, xml disabled,
filtering enabled
Monitor logging: level warnings , 0 messages logged, xml disabled,
filtering disabled
Buffer logging: level debugging, 30 messages logged, xml disabled,
filtering disabled
Logging Exception size (8192 bytes)
Count and timestamp logging messages: disabled
Filter modules:
tftp://209.165.200.225/ESM/escalate.tcl
slot0:/email.tcl user@example.com
Trap logging: level informational, 0 message lines logged
Logging to 209.165.200.225, 0 message lines logged, xml enabled,
filtering disabled
Log Buffer (8192 bytes):
*Jan 24 09:34:28.431: %SYS-5-CONFIG_I: Configured from console by console
*Jan 24 09:34:51.555: %SYS-5-CONFIG_I: Configured from console by console
*Jan 24 09:49:44.295: %SYS-5-CONFIG_I: Configured from console by console
Router#

Syslog フィルタ モジュール:例

syslog スクリプト モジュールは Tcl スクリプトです。独自の syslog スクリプト モジュールの開発に役立つよう、次の例を示します。


) これらのスクリプト モジュールは単に例として提供するものであり、米国シスコシステムズ社によってサポートされていません。これらのスクリプトの機能性または影響に対する明示的または黙示的な保証はいたしません。


この付録には、次の syslog フィルタ モジュールの例が含まれています。

「重大度の拡大:例」

「メッセージのカウント:例」

「XML のタギング:例」

「SMTP ベースの E メール アラート:例」

「ストリーム:例」

「送信元 IP のタギング:例」

重大度の拡大:例

この ESM syslog フィルタ モジュール例では、1 つのニーモニック(最初の CLI 引数経由で供給される)を監視し、メッセージの重大度を 2 つめの CLI 引数によって指定される重大度に拡大します。

# ===================================================================
# Embedded Syslog Manager || ||
# || ||
# Severity Escalation Filter |||| ||||
# ..:||||||:..:||||||:..
# ------------------------
# C i s c o S y s t e m s
# ====================================================================
#
# Usage: Set CLI Args to "mnemonic new_severity"
#
# Namespace: global
 
# Check for null message
 
if { [string length $::orig_msg] == 0} {
return ""
}
if { [info exists ::cli_args] } {
set args [split $::cli_args]
if { [ string compare -nocase [lindex $args 0] $::mnemonic ] == 0 } {
set ::severity [lindex $args 1]
set sev_index [ string first [lindex $args 0] $::orig_msg ]
if { $sev_index >= 2 } {
incr sev_index -2
return [string replace $::orig_msg $sev_index $sev_index \
[lindex $args 1]]
}
}
}
return $::orig_msg

メッセージのカウント:例

この ESM syslog フィルタ モジュール例は、読みやすくするために 2 つのファイルに分割されています。最初のファイルでは、ユーザは、msg_to_watch アレイを読み込むことによって、カウントするメッセージおよび要約する頻度(相関関係ウィンドウ)を設定できます。実際の手順は counting_guts.tcl ファイルに含まれています。バックグラウンド処理を行う可能性がある他の ESM フィルタとの競合を避けるため、分離された名前空間の「カウント」の使用に注意してください。

# ===================================================================
# Embedded Syslog Manager || ||
# || ||
# Message Counting Filter |||| ||||
# ..:||||||:..:||||||:..
# ------------------------
# C i s c o S y s t e m s

# ====================================================================

#
# Usage:
# 1) Define the location for the counting_guts.tcl script
#
# 2) Define message categories to count and how often to dump them (sec)
# by populating the "msg_to_watch" array below.
# Here we define category as facility-severity-mnemonic
# Change dump time to 0 to disable counting for that category
#
# Namespace: counting
 
 
namespace eval ::counting {
 
set sub_script_url tftp://123.123.123.123/ESM/counting_guts.tcl
 
array set msg_to_watch {
SYS-5-CONFIG_I 5
}
 
# ======================= End User Setup ==============================
 
# Initialize processes for counting
 
if { [info exists init] == 0 } {
source $sub_script_url
set position $module_position
}
 
# Process the message
 
process_category
 
} ;# end namespace counting

メッセージ カウント サポート モジュール(counting_guts.tcl)

# ===================================================================
# Embedded Syslog Manager || ||
# || ||
# Message Counting Support Module |||| ||||
# ..:||||||:..:||||||:..
# (No User Modification) ------------------------
# C i s c o S y s t e m s

# ====================================================================

namespace eval ::counting {
# namespace variables
array set cat_msg_sev {}
array set cat_msg_traceback {}
array set cat_msg_pid {}
array set cat_msg_proc {}
array set cat_msg_ts {}
array set cat_msg_buginfseq {}
array set cat_msg_name {}
array set cat_msg_fac {}
array set cat_msg_format {}
array set cat_msg_args {}
array set cat_msg_count {}
array set cat_msg_dump_ts {}
 
# Should I count this message ?
 
proc query_category {cat} {
variable msg_to_watch
if { [info exists msg_to_watch($cat)] } {
return $msg_to_watch($cat)
} else {
return 0
}
}
 
proc clear_category {index} {
variable cat_msg_sev
variable cat_msg_traceback
variable cat_msg_pid
variable cat_msg_proc
variable cat_msg_ts
variable cat_msg_buginfseq
variable cat_msg_name
variable cat_msg_fac
variable cat_msg_format
variable cat_msg_args
variable cat_msg_count
variable cat_msg_dump_ts
 
unset cat_msg_sev($index) cat_msg_traceback($index) cat_msg_pid($index)\
cat_msg_proc($index) cat_msg_ts($index) \
cat_msg_buginfseq($index) cat_msg_name($index) \
cat_msg_fac($index) cat_msg_format($index) cat_msg_args($index)\
cat_msg_count($index) cat_msg_dump_ts($index)
}
 
# send out the counted messages
 
proc dump_category {category} {
variable cat_msg_sev
variable cat_msg_traceback
variable cat_msg_pid
variable cat_msg_proc
variable cat_msg_ts
variable cat_msg_buginfseq
variable cat_msg_name
variable cat_msg_fac
variable cat_msg_format
variable cat_msg_args
variable cat_msg_count
variable cat_msg_dump_ts
variable poll_interval
 
set dump_timestamp [cisco_service_timestamp]
 
foreach index [array names cat_msg_count $category] {
set fsm "$cat_msg_fac($index)-$cat_msg_sev($index)-$cat_msg_name($index)"
set ::orig_msg \
[format "%s%s: %%%s: %s %s %s %s - (%d occurence(s) between %s and %s)"\
$cat_msg_buginfseq($index)\
$dump_timestamp\
$fsm \
[uplevel 1 [linsert $cat_msg_args($index) 0 ::format \
$cat_msg_format($index) ]] \
$cat_msg_pid($index) \
$cat_msg_proc($index) \
$cat_msg_traceback($index) \
$cat_msg_count($index) \
$cat_msg_ts($index) \
$dump_timestamp]
 
# Prepare for remaining ESM filters
 
set ::severity $cat_msg_sev($index)
set ::traceback $cat_msg_traceback($index)
set ::pid $cat_msg_pid($index)
set ::process $cat_msg_proc($index)
set ::timestamp $cat_msg_ts($index)
set ::buginfseq $cat_msg_buginfseq($index)
set ::mnemonic $cat_msg_name($index)
set ::facility $cat_msg_fac($index)
set ::format $cat_msg_format($index)
set ::msg_args [split $cat_msg_args($index)]
 
esm_errmsg $counting::position
clear_category $index
}
}
 
# See if this message already has come through since the last dump.
# If so, increment the count, otherwise store it.
 
proc process_category {} {
variable cat_msg_sev
variable cat_msg_traceback
variable cat_msg_pid
variable cat_msg_proc
variable cat_msg_ts
variable cat_msg_buginfseq
variable cat_msg_name
variable cat_msg_fac
variable cat_msg_format
variable cat_msg_args
variable cat_msg_count
variable cat_msg_dump_ts
 
if { [string length $::orig_msg] == 0} {
return ""
}
 
set category "$::facility-$::severity-$::mnemonic"
 
set correlation_window [expr [ query_category $category ] * 1000]
 
if { $correlation_window == 0 } {
return $::orig_msg
}
 
set message_args [join $::msg_args]
set index "$category,[lindex $::msg_args 0]"
if { [info exists cat_msg_count($index)] } {
incr cat_msg_count($index)
} else {
set cat_msg_sev($index) $::severity
set cat_msg_traceback($index) $::traceback
set cat_msg_pid($index) $::pid
set cat_msg_proc($index) $::process
set cat_msg_ts($index) $::timestamp
set cat_msg_buginfseq($index) $::buginfseq
set cat_msg_name($index) $::mnemonic
set cat_msg_fac($index) $::facility
set cat_msg_format($index) $::format
set cat_msg_args($index) $message_args
set cat_msg_count($index) 1
set cat_msg_dump_ts($index) [clock seconds]
catch [after $correlation_window counting::dump_category $index]
}
return ""
}
 
 
 
# Initialized
set init 1
 
} ;#end namespace counting

XML のタギング:例

この ESM syslog フィルタ モジュールは、ユーザ定義の XML タグを syslog メッセージに適用します。

# ===================================================================
# Embedded Syslog Manager || ||
# || ||
# XML Tagging Filter |||| ||||
# ..:||||||:..:||||||:..
# ------------------------
# C i s c o S y s t e m s
# ===================================================================
#
# Usage: Define desired tags below.
#
# Namespace: xml
 
# Check for null message
 
if { [string length $::orig_msg] == 0} {
return ""
}
 
namespace eval xml {
 
#### define tags ####
set MSG_OPEN "<ios-log-msg>"
set MSG_CLOSE "</ios-log-msg>"
set FAC_OPEN "<facility>"
set FAC_CLOSE "</facility>"
set SEV_OPEN "<severity>"
set SEV_CLOSE "</severity>"
set MNE_OPEN "<msg-id>"
set MNE_CLOSE "</msg-id>"
set SEQ_OPEN "<seq>"
set SEQ_CLOSE "</seq>"
set TIME_OPEN "<time>"
set TIME_CLOSE "</time>"
set ARGS_OPEN "<args>"
set ARGS_CLOSE "</args>"
set ARG_ID_OPEN "<arg id="
set ARG_ID_CLOSE "</arg>"
set PROC_OPEN "<proc>"
set PROC_CLOSE "</proc>"
set PID_OPEN "<pid>"
set PID_CLOSE "</pid>"
set TRACE_OPEN "<trace>"
set TRACE_CLOSE "</trace>"
 
# ======================= End User Setup ==============================
 
#### clear result ####
 
set result ""
 
#### message opening, facility, severity, and name ####
append result $MSG_OPEN $FAC_OPEN $::facility $FAC_CLOSE $SEV_OPEN $::severity
$SEV_CLOSE $MNE_OPEN $::mnemonic $MNE_CLOSE
 
#### buginf sequence numbers ####
 
if { [string length $::buginfseq ] > 0 } {
append result $SEQ_OPEN $::buginfseq $SEQ_CLOSE
}
 
#### timestamps ####
 
if { [string length $::timestamp ] > 0 } {
append result $TIME_OPEN $::timestamp $TIME_CLOSE
}
 
#### message args ####
if { [info exists ::msg_args] } {
if { [llength ::msg_args] > 0 } {
set i 0
append result $ARGS_OPEN
foreach arg $::msg_args {
append result $ARG_ID_OPEN $i ">" $arg $ARG_ID_CLOSE
incr i
}
append result $ARGS_CLOSE
}
}
 
#### traceback ####
 
if { [string length $::traceback ] > 0 } {
append result $TRACE_OPEN $::traceback $TRACE_CLOSE
}
 
#### process ####
 
if { [string length $::process ] > 0 } {
append result $PROC_OPEN $::process $PROC_CLOSE
}
 
#### pid ####
 
if { [string length $::pid ] > 0 } {
append result $PID_OPEN $::pid $PID_CLOSE
}
 
#### message close ####
 
append result $MSG_CLOSE
 
 
return "$result"
 
} ;# end namespace xml

SMTP ベースの E メール アラート:例

この ESM syslog フィルタ モジュール例では、コンフィギュレーション メッセージを監視し、CLI 引数として供給される E メール アドレスに送信します。このフィルタは 2 つのファイルに分割されています。最初のファイルはフィルタを実装し、2 つめのファイルは SMTP クライアントを実装します。

# ===================================================================
# Embedded Syslog Manager || ||
# || ||
# Email Filter |||| ||||
# (Configuration Change Warning) ..:||||||:..:||||||:..
# ------------------------
# C i s c o S y s t e m s
# ===================================================================
 
# Usage: Provide email address as CLI argument. Set email server IP in
# email_guts.tcl
#
# Namespace: email
 
if { [info exists email::init] == 0 } {
source tftp://123.123.123.123/ESM/email_guts.tcl
}
 
# Check for null message
 
if { [string length $::orig_msg] == 0} {
return ""
}
 
if { [info exists ::msg_args] } {
if { [string compare -nocase CONFIG_I $::mnemonic ] == 0 } {
email::sendmessage $::cli_args $::mnemonic \
[string trim $::orig_msg]
}
}
return $::orig_msg

 

E メール サポート モジュール(email_guts.tcl)

# ===================================================================
# Embedded Syslog Manager || ||
# || ||
# Email Support Module |||| ||||
# ..:||||||:..:||||||:..
# ------------------------
# C i s c o S y s t e m s
# ===================================================================
#
# Usage: Set email host IP, from, and friendly strings below.
#
 
namespace eval email {
 
set sendmail(smtphost) 64.102.17.214
set sendmail(from) $::hostname
set sendmail(friendly) $::hostname
 
 
proc sendmessage {toList subject body} {
 
variable sendmail
 
set smtphost $sendmail(smtphost)
set from $sendmail(from)
set friendly $sendmail(friendly)
 
set sockid [socket $smtphost 25]
 
## DEBUG
set status [catch {
puts $sockid "HELO $smtphost"
flush $sockid
set result [gets $sockid]
 
puts $sockid "MAIL From:<$from>"
flush $sockid
set result [gets $sockid]
 
foreach to $toList {
puts $sockid "RCPT To:<$to>"
flush $sockid
}
 
set result [gets $sockid]
 
puts $sockid "DATA "
flush $sockid
set result [gets $sockid]
 
puts $sockid "From: $friendly <$from>"
foreach to $toList {
puts $sockid "To:<$to>"
}
puts $sockid "Subject: $subject"
puts $sockid "\n"
 
foreach line [split $body "\n"] {
puts $sockid " $line"
}
 
puts $sockid "."
puts $sockid "QUIT"
flush $sockid
set result [gets $sockid]
 
} result]
 
catch {close $sockid }
if {$status} then {
return -code error $result
}
}
 
} ;# end namespace email
 
set email::init 1
 

ストリーム:例

この ESM syslog フィルタ モジュール例では、特定のファシリティを監視し(最初の CLI 引数)、これらのメッセージを特定のストリームにルーティングします(2 番めの CLI 引数)。

# ===================================================================
# Embedded Syslog Manager || ||
# || ||
# Stream Filter (Facility) |||| ||||
# ..:||||||:..:||||||:..
# ------------------------
# C i s c o S y s t e m s
# ===================================================================
 
# Usage: Provide facility and stream as CLI arguments.
#
# Namespace: global
 
# Check for null message
 
# ======================= End User Setup ==============================
 
set args [split $::cli_args]
 
if { [info exists ::msg_args] } {
if { $::facility == [lindex $args 0] } {
set ::stream [lindex $args 1]
}
}
return $::orig_msg}

送信元 IP のタギング:例

logging source-interface CLI コマンドを使用して、ルータから送信されるすべての syslog パケットで送信元 IP アドレスを指定できます。次の syslog フィルタ モジュール例では、フィルタ モジュール内で show CLI コマンド(この場合、 show running-config および show ip interface )を使用して、syslog メッセージに送信元 IP アドレスを追加する例を示します。スクリプトは 最初に「source_ip::init」というローカル名前空間変数を検索します。変数が処理された最初の syslog メッセージで定義されていない場合、フィルタは show コマンドを実行し、正規表現を使用して、送信元インターフェイスとその IP アドレスを取得します。

このスクリプトでは、 show コマンドが 1 回だけ実行されることに注意してください。送信元インターフェイスとその IP アドレスを変更する場合、フィルタを再初期化し、新しい情報を取得する必要があります(show コマンドはすべての syslog メッセージで実行できますが、これはうまく拡張できません)。

# ===================================================================
# Embedded Syslog Manager || ||
# || ||
# Source IP Module |||| ||||
# ..:||||||:..:||||||:..
# ------------------------
# C i s c o S y s t e m s
# ===================================================================
 
# Usage: Adds Logging Source Interface IP address to all messages.
#
# Namespace:source_ip
#
# ======================= End User Setup ==============================
 
namespace eval ::source_ip {
 
if { [info exists init] == 0 } {
if { [catch {regexp {^logging source-interface (.*$)} [exec show
run | inc logging source-interface] match source_int}]} {
set suffix "No source interface specified"
} elseif { [catch {regexp {Internet address is (.*)/.*$} [exec
show ip int $source_int | inc Internet] match ip_addr}]} {
set suffix "No IP address configured for source interface"
} else {
set suffix $ip_addr
}
set init 1
}
 
if { [string length $::orig_msg] == 0} {
return ""
}
 
return "$::orig_msg - $suffix"
 
} ;# end namespace source_ip

その他の参考資料

ここでは、Embedded Syslog Manager 機能に関する参考資料について説明します。

関連資料

関連項目
参照先

Cisco IOS XE ソフトウェアでの Tcl 8.3.4 サポート

Cisco IOS Scripting with Tcl 」の章

Cisco IOS XE コマンド

Cisco IOS XE の全コマンドについては、
http://tools.cisco.com/Support/CLILookup で Command Lookup Tool を使用するか、または『 Cisco IOS Master Command List, All Releases 』( http://www.cisco.com/en/US/docs/ios/mcl/allreleasemcl/all_book.html )にアクセスしてください。

規格

規格
タイトル

新しい規格または変更された規格はサポートされていません。また、既存の規格に対するサポートに変更はありません。

--

MIB

MIB
MIB リンク

新しい規格または変更された規格はサポートされていません。また、既存の規格に対するサポートに変更はありません。

選択したプラットフォーム、Cisco IOS XE ソフトウェア リリース、およびフィーチャ セットの MIB の場所を検索しダウンロードするには、次の URL にある Cisco MIB Locator を使用します。

http://www.cisco.com/go/mibs

RFC

RFC1
タイトル

RFC-3164

『The BSD Syslog Protocol』

この RFC は、情報提供のために記載しています。シスコによる syslog の実装では、この RFC で言及されているプロトコル ガイドラインとの完全な準拠性を要求していません。

1.サポートされている RFC がすべて記載されているわけではありません。

シスコのテクニカル サポート

説明
リンク

Cisco Support Web サイトには、豊富なオンライン リソースが提供されており、それらに含まれる資料やツールを利用して、トラブルシューティングやシスコ製品およびテクノロジーに関する技術上の問題の解決に役立てることができます。

以下を含むさまざまな作業にこの Web サイトが役立ちます。テクニカル サポートを受けるソフトウェアをダウンロードするセキュリティの脆弱性を報告する、またはシスコ製品のセキュリティ問題に対する支援を受けるツールおよびリソースへアクセスする Product Alert の受信登録 Field Notice の受信登録 Bug Toolkit を使用した既知の問題の検索 Networking Professionals(NetPro)コミュニティで、技術関連のディスカッションに参加するトレーニング リソースへアクセスする TAC Case Collection ツールを使用して、ハードウェアや設定、パフォーマンスに関する一般的な問題をインタラクティブに特定および解決する

Japan テクニカル サポート Web サイトでは、Technical Support Web サイト( http://www.cisco.com/techsupport )の、利用頻度の高い ドキュメントを日本語で提供しています。Japan テクニカル サポート Web サイトには、次のURLからアクセスしてください。http://www.cisco.com/jp/go/tac

http://www.cisco.com/en/US/support/index.html

Embedded Syslog Manager の機能情報

表 2 に、この機能のリリース履歴を示します。

Cisco Feature Navigator を使用すると、プラットフォームおよびソフトウェア イメージのサポート情報を検索できます。Cisco Feature Navigator を使用すると、特定のソフトウェア リリース、フィーチャ セット、またはプラットフォームをサポートする Cisco IOS XE のソフトウェア イメージを判別できます。Cisco Feature Navigator には、 http://www.cisco.com/go/cfn からアクセスします。Cisco.com のアカウントは必要ありません。


表 2 には、一連の Cisco IOS XE ソフトウェア リリースのうち、特定の機能が初めて導入された Cisco IOS XE ソフトウェア リリースだけが記載されています。特に明記していないかぎり、その機能は、一連の Cisco IOS XE ソフトウェア リリースの以降のリリースでもサポートされます。


 

表 2 Embedded Syslog Manager の機能情報

機能名
リリース
機能情報

Embedded Syslog Manager

Cisco IOS XE Release 2.1

Embedded Syslog Manager(ESM)機能は、Cisco IOS システム メッセージ ロガーによって伝送される前に、システム ロギング メッセージのフィルタリング、拡大、相互の関連付け、ルーティング、およびカスタマイズを可能にするプログラマブル フレームワークを提供します。

この機能により、次のコマンドが導入または変更されました。

logging buffered filtered logging console filtered logging filter logging host logging monitor filtered logging origin-id show logging

用語集

SEM :システム エラー メッセージの略。「システム エラー メッセージ」という用語は、以前、システムロギング(syslog)プロセスによって生成されるメッセージに対して使用されていました。syslog メッセージは標準化された形式を使用し、「緊急」(レベル 0)から「デバッグ」(レベル 7)まで 8 つの重大度があります。これらのメッセージには、「エラー」とはいえない(情報の通知など)ルータ動作の通知が含まれる場合もあるため、「システム エラー メッセージ」という用語は、実際に誤解を招くおそれがあります。

syslog :Cisco IOS XE ソフトウェアでのシステム メッセージ ロギング プロセスの略。「syslog メッセージ」などとして、生成されたメッセージを特定するためにも使用されます。専門的には、「syslog」という用語はリモート ホストへのメッセージのロギング プロセスのみを示しますが、一般的に Cisco IOS システム ロギング プロセスすべてを示すために使用されます。

コンソール :この機能のコンテキストでは、ルータのコンソール ポートへの接続(CTY またはコンソール回線)を示します。一般的にこれはコンソール ポートに直接接続された端末または端末エミュレーション プログラムを備えた PC です。 show terminal コマンドに対応します。

トラップ :エラー メッセージを送信するためのシステム ソフトウェアのトリガー。この機能のコンテキストでは、「トラップ ロギング」とは、リモート ホストへのメッセージのロギングを意味します。リモート ホストはトラップ メッセージを送信するデバイスから見ると実際には syslog ホストですが、受信デバイスは一般的に収集した syslog データを別のデバイスに提供するため、受信デバイスも「syslog サーバ」と呼ばれます。

モニタ :この機能のコンテキストでは、ライン ポートでの TTY(TeleTYpe 端末)ライン接続を示します。つまり、「モニタ」キーワードは端末回線接続または Telnet(端末エミュレーション)接続に対応します。TTY ライン(ポートとも呼ばれます)は、端末、モデム、シリアル プリンタなどの周辺装置と通信します。TTY 接続の例は、ダイヤルアップ モデムを使用してデバイスに接続する端末エミュレーション プログラムを備えた PC です。