Cisco Active Network Abstraction 3.6.7 カスタマイゼーション ユーザ ガイド
Drools ルールの管理
Drools ルールの管理
発行日;2012/02/01 | 英語版ドキュメント(2009/11/06 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 3MB) | フィードバック

目次

Drools ルールの管理

Drools ルール エンジンについて

Drools ルールのコンポーネントおよび用語

Drools ルールおよび の統合

の Drools ルール定義

既存の Drools ルールの表示

Drools ルール ファイルのアップグレードおよび確認

Drools ルールの管理

この章では、Drools ルールについて説明します。ここでは、次の情報について説明します。

「Drools ルール エンジンについて」

「Drools ルールおよび Cisco ANA の統合」

「Cisco ANA の Drools ルール定義」

「既存の Drools ルールの表示」

「Drools ルール ファイルのアップグレードおよび確認」


) 新しい Drools ルールを追加して、ネットワークを管理し、トラブルシューティングを行う場合は、シスコの代理店に問い合せてください。


Drools ルール エンジンについて

Drools ルール エンジンは汎用エキスパート システム ジェネレータで、ルールベースの技術とオブジェクト指向プログラミングを組み合わせます。ビジネス アプリケーションに意思決定サポート機能およびデータ フロー制御機能を追加する、カスタマイズ可能なメカニズムも提供されます。

Drools ルール エンジンは、オブジェクト指向のパラダイムに基づいており、ユーザ定義ルールを使用して異なる条件でのパターン マッチが実行されます。Drools のシンタックスは、組み込み Java コードの XML ベースで、ソース ファイル(ルール ファイルとして知られている)に整理されます。ソース ファイルはプレーン ASCII ファイルです。

Drools ルールのコンポーネントおよび用語

Drools では、次のように、パターンによってマークされたオブジェクト、および、特定のアクションを起動するルールが使用されます。

Drools オブジェクトは Java オブジェクトで、Java クラスまたは XML スキーマによって表すことができます。

パターンは、1 つ以上のオブジェクトを操作して、設計されたロジックに従って動作を作成、調整、または形成するパターンを形成する、コード化された表現(プログラム)です。

作業メモリは、処理するすべてのオブジェクトが Drools によって保存される場所です。

アクションは、作業メモリを変更する可能性がある操作です。

ルールにより、次のような多くのタイプのアクションを実行できます。

作業メモリからオブジェクトを追加または削除する。

オブジェクトを変更する。

オブジェクトの 1 つでメソッドを実行する。

Drools により、ルールのリストが実行されるアジェンダに保存されます。

Drools ルールおよび Cisco ANA の統合

Drools ルール エンジンを使用すると、ユーザ定義ルールおよびビジネス ロジックで、Cisco ANA アラーム相関メカニズムを拡張できます。

Drools ルール エンジンは、Cisco ANA ゲートウェイ内で完全に統合され、同期またはメンテナンスは必要ではありません。すべての Cisco ANA 情報および機能にアクセスでき、これによって、次の操作を実行できます。

ルール処理の一部として、最新のネットワーク情報(トポロジ、階層、インベントリ)を使用する。

アラームを作成および操作し、NE にコマンドを送信する。

次のような、オペレータ ロジック ルールを定義する。

2 時間以内にアラームが処理されなかった場合、... を実行する。

このネットワーク要素で 5 より多いオープン アラームがある場合、... を実行する。

今日が火曜日の場合、... を実行する。

ルールは、組み込み Java コードで XML 形式によって記述されて、実行時に変更およびリロードできます。ルールをコンパイルしたり、Cisco ANA コンポーネントを再起動したりする必要はありません。

各ルールには、条件のセットが含まれ、条件が true の場合にだけ実行されます。Drools には、次のエントリに類似した XML エントリが含まれ、これによって、エントリがイネーブルにされるかどうかが指定されます。

<java:condition>true</java:condition>

イネーブルされるすべてのルールは、AVM11 によって Cisco ANA ゲートウェイにロードされ、イベント マネージャによって処理される前に各アラームで実行されます。

Cisco ANA の Drools ルール定義

Drools により、Cisco ANA ゲートウェイによって処理される各アラームに対するアラーム IMO 操作がサポートされます。Cisco ANA により、次のように、2 つのそれぞれ該当するルール ファイルとともに、2 つの Drools 処理インスタンス(コンテキスト)が管理されます。

事前相関コンテキスト:pre.drl ルール ファイルに定義されます。このルールは、アラームが Cisco ANA ゲートウェイに到達したときに実行されます。

事後相関コンテキスト:post.drl ルール ファイルに定義されます。このルールは、Cisco ANA ゲートウェイの処理後に実行されます。

ルール ファイルは、Cisco ANA ゲートウェイの ~sheer/Main/data の下にあります。ここで、~sheer は /export/home/sheer4 です。

次の Drools ルール パラメータは、 eventmanagement キーの下にあるレジストリ ファイル mmvm.xml に保存されます。

ContextId:Drools コンテキストの名前。これは、pre または Post のいずれかです。

ruleFilePath:対応するルールファイルの名前。指定されたルール(mmvm.xml の下のファイル名)。

mmvm.xml ファイルは、~sheer/Main/registry/ConfigurationFiles/127.0.0.1 の下にあります。

既存の Drools ルールの表示

Cisco ANA シェル イネーブル モードで次のコマンドを使用することによって、サポートされる Cisco ANA 事前相関ルールおよび事後相関ルールをチェックできます(「Drools ルールの管理」を参照)。

MetroShell# show rule

-------------------------------------------------

ContextId Rule Name is valid

-------------------------------------------------

Post deviceUnreachable true

Post sendNotificationOnChildren true

Post Forword Event true

pre BackUpInterfaceCorrelation true

pre sendGenericEvents true

pre Forword Event true

-------------------------------------------------

total rows in report: 6

それぞれの説明は次のとおりです。

「ContextID」では、ルールが事前相関(pre)か事後相関(Post)かが定義されます。

「Rule Name」には、ルール名が表示されます。

「is valid」には、ルールがアクティブ(true)か非アクティブ(false)かが表示されます。

Drools ルール ファイルのアップグレードおよび確認

ルール ファイルをアップグレードするには、次の操作を実行します。


ステップ 1 必要なルール ファイル(pre.drl または post.drl)のコピーを作成し、編集します。


) ANA 3.6.7 では、事前相関 Drools ルール(post.drl)だけの使用を推奨します。


ステップ 2 (一時的な名前の)アップデートされたファイルを、ゲートウェイ(ディレクトリ ~sheer/Main/data)にコピーします。


) ルール ファイルが PC で編集される場合、テキスト形式が、ゲートウェイで実行されている UNIX バージョンに準拠していることを確認してください。必要に応じ、DOS2UNIX などのユーティリティを使用して変換します。


ステップ 3 次のいずれかの方法で、新しいファイルの有効性をチェックします。

~sheer/Main ディレクトリで checkrules.csh コマンド実行します。

# checkrules.csh ~sheer/Main/data/rule-file-name
 

例:

# checkrules.csh /export/home/sheer4/Main/data/post.drl
JDK 1.4 detected, will use advanced VM features
(null: 4, 53): cvc-elt.1: Cannot find the declaration of element 'rule-set'.
File /export/home/sheer4/Main/data/post.drl seems to be valid.

または

Cisco ANA シェル設定モードで次のコマンドを実行します。

MetroShell(CONFIG)# rule contextID ruleName validate

ここで、 contextID は pre または Post です。

ステップ 4 ルール ファイルの確認後、次の操作を実行します。

a. 既存ルール ファイルの上に、新しいルール ファイルをコピーします。

b. Cisco ANA シェル設定モードで次のコマンドを実行することによって、ルール ファイルをリロードします。

MetroShell(CONFIG)# rule ContextId reload

ここで、 ContextId は、pre または Post のいずれかです。

例:

MetroShell(CONFIG)# rule Post reload


 

Drools の詳細については、 www.drools.org を参照してください。