Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Paragon Automation GUIでカスタムルールを設定する

Paragon Automation GUIを使用した新しいルールの作成

Paragon Automation GUIを使用して新しいルールを作成するには、まずルールに関する一般的な説明情報を入力してから、[ルール]ページでいくつかのルール定義ブロック間を移動して、Paragon Automationルールの特定の設定を指定します。

新しいParagon Automationルールの作成を開始するには、次の手順に従います。

  1. 左側のナビゲーション・バーにある「構成>ルール」アイコンをクリックします。Paragon Automationルールのリストが[ルール]ページの左側に表示されます。
  2. [ルールの追加] ボタンをクリックします([+ ルールの追加])。
  3. 次の入力パラメータを使用して、ルールに関する一般的な説明情報を入力します。

    パラメーター

    形容

    支配

    新しいルールの場合、このパラメーターには external / user_rule_random characters が事前に入力されています (例: external / user_rule_2p0ghk)。スラッシュ(/)で区切られたフィールドは、それぞれParagon Automationトピック名とParagon Automationルール名を表しています。

    external は、ユーザー定義トピックに使用されるトピック名です。ジュニパーが事前定義したParagon Automationルールについては、ジュニパーが事前定義されたデバイスコンポーネントベースのトピック名のセットをキュレーションしています。Paragon Automationのトピックの詳細については、「 Paragon Insightsのトピックについて」を参照してください。

    user_rule_random charactersルール名を、パケットインパケットアウトsystem_memoryなど、ルールの説明を適切に表す名前に置き換えます。

    ルールの頻度

    (ネットワーク ルールのみ)ネットワークルールのデータがParagon Automationによって収集される頻度を指定します。この設定は、ネットワーク・グループに適用される頻度プロファイルにルールが含まれている場合にオーバーライドされます。

    形容

    (オプション)ルールの詳細な説明を入力します。

    概要

    (オプション)ルールの簡単な説明を入力します。概要は、[ルール] ページの左側にリストされているルール名にカーソルを合わせると表示されます。

    フィールド集計の時間範囲

    このオプション値は、Paragon Automationがセンサーが受信したデータを集約する頻度を定義します。これにより、時系列データベース内のデータポイントエントリの数を減らすことができます。

  4. (ネットワーク ルールのみ)新しいルールがネットワーク ルールの場合は、[ネットワーク ルール] スイッチを右に切り替えます。
  5. 必要に応じて、ルール定義ブロックを設定します。

    [書式] 入力パラメーターのすぐ下には、センサーフィールドベクトル変数、関数トリガーおよびルール プロパティのルール定義ブロックへのリンクがあります。次のセクションでは、これらの各ルール定義ブロックの入力パラメーターについて説明します。

  6. 次のいずれかのオプションを選択して、新しいルールを保存します。

    セーブ

    定義されたトピック領域内にルールを保存しますが、更新された設定はデプロイしません。このオプションは、たとえば、複数の変更を行っていて、すべての更新プログラムを同時に展開する場合に使用できます。

    保存 & 展開

    設定をすぐに展開し、定義されたトピック領域内にルールを保存します。

ルールフィルタリング

「ルール」ページの左側に表示されるトピックとルールをフィルタリングできます。これにより、探しているルールをすばやく見つけることができます。検索機能は、トピック、ルール、センサータイプ、その他のカテゴリで機能します。タイトルだけでなく、定義されたルールの内容にも取り組みます。

次の手順では、このフィルタリング機能について説明します。

  1. 左側のナビゲーション バーで [構成] > [ルール] に移動します。

    ルール 」ページが表示されます。ルール定義領域の左側には、下の 図 1 に示すような新しいセクションがあります。

    図 1: ルール フィルタリング Rule Filtering
  2. プルダウンメニューから、実行する検索のタイプを選択します。
  3. 検索フィールドで、検索テキストの入力を開始します。

    以下のトピックリストが縮小され、検索条件に一致するトピックとルールのみが表示されます。

センサー

Sensor ブロックを使用して新しいルールの構成を開始します。図 2 は、OpenConfig センサー pppoe-error-statisticsのセンサー定義を示しています。

図2:センサー定義 A Sensor Definition
  1. [センサーの追加] ボタンをクリックします (+ センサーの追加)。

    新しいセンサー定義が表示され、Sensor_2kgf04 のような Sensor_random characters という名前が付けられます。

    1 つのルールに複数のセンサーを設定できます。

  2. センサー名を、定義しているルールに適した名前に変更します。
  3. ドロップダウンリストから、センサータイプを選択します。 OpenConfigネイティブ GPB iAgentSNMP、SyslogNetFlow のいずれかを選択できます。

    センサータイプを定義するために必要な要素は、選択内容によって異なります。周波数は、#s、#m、#h、#d、#w、#y、または #o で表され、#は数値で、s、m、h、d、w、yはそれぞれ秒、分、時間、日、週、年、およびオフセットを示します。o 式は、数式、参照、トリガー、学習期間、およびホールド時間で使用するオフセット乗数を定義するために使用されます。

    次の一覧では、 選択したセンサーの種類に基づいて変化する要素について説明します。他のルール要素は、[ センサーの種類 ] を選択しても変更されません。

    • OpenConfig

      センサー パス は、使用可能な OpenConfig センサーのドロップダウン リストから定義されます。 頻度 とは、センサーがParagon Automationに報告する頻度(秒単位)を指します。センサーが周波数プロファイルに含まれている場合、周波数は上書きできます。

    • Native GPB

      センサー パス とは、ネイティブ GPB センサーのパスを指します。 ポート とは、センサーがParagon Automationと通信するGPBポートを指します。

    • iAgent

      File は、NETCONF でアクセス可能なセンサーを定義する YAML 形式のファイルの名前です。 テーブル は、YAMLファイルで使用可能なPyEZテーブルとビューのドロップダウンリストから定義されます。 周波数とは 、センサーがParagon Automationによってポーリングされる頻度を指し、周波数プロファイルにセンサーを含めることで上書きできます。

      選択したテーブルに基づいて、ターゲットまたは動的引数の入力フィールドも提供される場合があります。これらの追加フィールドでは、次のいずれかを実行できます。

      • 入力フィールドは空白のままにします。デフォルト値は適用されません。

      • 一定に保たれる固定値を入力します。

      • 二重中括弧または花括弧で囲んで変数名を入力します(例: {{test-variable}})。 変数名は、Paragon Automationルールで以前に定義された変数に属している必要があり、変数の [タイプ ]オプションが [センサー引数]に設定されている必要があります。

    • SNMP

      テーブル は、使用可能なSNMPテーブルのドロップダウンリストから定義されます。 周波数とは 、Paragon Automationがデバイスに対してデータをポーリングする頻度(秒単位)を指し、センサーを周波数プロファイルに含めることで上書きできます。

    • Syslog

      パターンセット は、1つ以上のパターンを含むユーザー設定要素です(監視するイベントごとにパターンを設定します)。 最大保持期間 は高度なケースで使用され、パターンセット内の複数のパターンを使用してイベントを関連付けるときにシステムが待機する最大時間を指します。

      手記:

      syslog センサーには、いくつかの事前設定が必要です。詳細については、「 Syslog Ingest 」を参照してください。

    • Flow

      テンプレート名 は、ジュニパーが提供する NetFlow v9 および IPFIX テンプレートの組み込みリストです。

田畑

センサーは通常、デバイス上のインターフェイスに関するすべての情報、シャーシ関連情報、システムプロセスおよびメモリ関連情報などの情報を伝送します。センサーを構成した後、特定のニーズのセンサー情報を処理するフィールドについて言及する必要があります。たとえば、インターフェイスの管理ステータスや運用ステータスを取得したり、トラフィック数のしきい値を設定したりするためのフィールドを定義します。

フィールドを追加するには:

  1. [フィールド] リンクをクリックします。

    画面が更新され、定義された項目オブジェクトが表示されます。

  2. フィールドの追加ボタン(+フィールドの追加)をクリックします。
  3. ランダムなフィールド名を、interface-nameconfigured-thresholdなど、定義しているルールに意味のある名前に置き換えます。
  4. (オプション) 新しいフィールドに説明テキストを追加します。
  5. 適切なフィールドタイプを設定します。フィールド タイプのオプションは、文字列、整数、浮動小数点数、および符号なし整数です。文字列はデフォルトのフィールドタイプです。

    また、符号なし整数をフィールドタイプとして選択することもできます。符号なし整数は、0 から 4,294,967,295 までの値を含むことができるデータ型です。

  6. (オプション)[Add to rule key] スイッチを切り替えます。

    [キーにルールを追加]スイッチは、このフィールドをインデックス化して検索可能にする必要があることをParagon Automationに指示します。たとえば、このスイッチを有効にすると、[デバイス] ページの [キー ] 列にフィールド名が表示されます。

  7. プルダウンメニューから適切な取り込みタイプ(フィールドソース)を選択します。

    次のリストは、 取り込みタイプ(フィールドソース) メニューで使用できるオプションを示しています。

    • センサー - このセンサー定義または別のセンサー定義を使用します。

      • パス-センサー定義内でこのオープンコンフィグまたはNetconfパスをたどって、インターフェイス名などの特定のデータを収集します。iAgentセンサーの場合、 パス はYAMLファイルで定義されたパスを指します。

      • Where - 利用可能なデータをフィルタリングして、特定のインターフェイスなど、内部の特定の要素に関する情報を収集します。このフィールドは、ルール内の他の場所で定義されている 変数 を参照できます。変数を参照するときは、 {{interface_name}}のように、スラッシュで囲んだ口ひげ表記を使用します。

      • ゼロ抑制 - Junos Telemetry Interface Open Config やネイティブ GPB センサーなど、Junos OS を実行するデバイスに関連付けられた一部のセンサーでは、データの値が 0 の場合、センサーからフィールド データが送信されません。ゼロサプレッションスイッチを有効にして、センサーからフィールドデータが送信されない場合は常にフィールドデータ値をゼロに設定します。

      • [Data if missing]:センサーからデータが送信されない場合は常に、値をデフォルトのデータ値として指定します。指定した値の形式は、定義されたフィールド タイプ (文字列、整数、または浮動小数点数) と一致する必要があります。ゼロ抑制スイッチも有効になっている場合、指定された data-if-missing 値は無視され、デフォルトのセンサー・データ値はゼロに設定されます。

    • 参照 - 別のルールの項目またはトリガー値への参照。

      • 欠損した場合のデータ - 参照データが取得されないときは常に、値をデフォルトのデータ値として指定します。指定した値の形式は、定義されたフィールド タイプ (文字列、整数、または浮動小数点数) と一致する必要があります。

    • 定数 - ルール内で定義された 変数 を参照するときに定数を使用し、その値は変更されません IO_Drops_Threshold 定数は、変更されず、変数への参照ではない文字列または数値にすることもできます。

      • 定数値 - {{ IO_Drops_Threshold}} のように、口ひげ表記を使用して変数を参照します。

    • [Formula](数式)- [Formula](数式 )プルダウンメニューから目的の数式を選択します。

  8. (オプション)フィールド集計の時間範囲を設定します。この定期的な集計設定は、一般的なルール パラメーターを含む [フィールド] タブの上にあるため、データベースに入力されるデータ ポイントの数を減らすのに役立ちます。たとえば、センサー設定でParagon Automationが10秒ごとにデータを取り込むように指定されている場合、この設定を構成して、たとえば60秒ごとに関連するフィールドデータを集計して記録できます。この設定を使用する場合は、フィールド固有の時間範囲で同じ値を使用する必要があります。
手記:

受信データがタグ付けプロファイルで定義されたユーザー定義の条件を満たしているかどうかに基づいて、ルールにフィールドとキーを追加できます。タグ付けプロファイルは、左側のナビゲーションバーの「 管理>取り込み設定 」でParagon Automation定義します。詳細については、Paragon Insightsのタギング をご覧ください。

ベクトル

(オプション)これで、ルールのセンサーとフィールドが定義されたので、ベクトルを定義できます。

ベクトルは、1 つのフィールドに複数の値がある場合、または別のフィールドから値を受け取る場合に使用されます。

ベクトルの構文は次のとおりです。

  1. Vectorsリンクをクリックします。図 3 は、新しく追加されたベクトルの Vectors ブロックを示しています。
    図 3: Vectors ブロック Vectors Block
  2. ベクトルの追加ボタン(+ベクトルの追加)をクリックします
  3. ランダムなベクトル名を、ルールに適した名前に置き換えます。
  4. ドロップダウンリストから取り込みタイプを選択します。追加の入力フィールドは、選択した内容によって異なります。

    パスの場合:

    パラメーター

    形容

    フィールドのリスト

    ドロップダウンリストからフィールドを選択します。フィールドのリストは、このルールで定義されているすべてのフィールドから派生します。

    時間範囲

    データを収集する時間範囲を指定します。時間範囲は、#s、#m、#h、#d、#w、#y で表され、#は数値で、s、m、h、d、w、yはそれぞれ秒、分、時間、日、週、および年を示します。たとえば、「7 日」を「7d」と入力します。

    数式の場合:

    パラメーター

    形容

    ベクトル名

    (一意の数式タイプのみ)ドロップダウンリストからベクトル名を選択します。ベクトルのリストは、このルールで定義されたすべてのベクトルから導出されます。

    数式の種類

    ドロップダウンリストから数式タイプを選択します。

    unique

    別のベクトルの一意の要素を持つベクトルを作成します。

    and

    2 つのベクトルを比較し、両方のベクトルに共通する要素をもつベクトルを返します。

    or

    2 つのベクトルを比較し、両方のベクトルの要素を持つベクトルを返します。

    unless

    2 つのベクトルを比較し、左ベクトルの要素を持つベクトルを返しますが、右ベクトルの要素は返しません。

    左ベクトル

    ドロップダウンリストからベクトル名を選択します。ベクトルのリストは、このルールで定義されたすべてのベクトルから導出されます。

    右ベクトル

    ドロップダウンリストからベクトル名を選択します。ベクトルのリストは、このルールで定義されたすべてのベクトルから導出されます。

変数

(オプション) Variables ブロックでは、関心のあるセンサーの部分を定義します。たとえば、インターフェイスのスループットを監視するルールには、デバイスで使用可能なインターフェイスのリストから特定のインターフェイスを識別する方法が必要です。フィールドの詳細については、以下で説明します。

  1. 変数」タブをクリックします。
  2. 変数の追加ボタン (+ 変数の追加) をクリックします。
  3. ランダムな変数名を、pem-power-usage-thresholdなどのルールに適した変数名に置き換えます。
    ベスト プラクティス:

    ジュニパーでは、Paragon Automation内の要素の命名規則として、常に小文字で始め、ハイフンを使用して単語を区切ります。変数名が一意で、明確な名前が付けられており、他の人が変数の目的を理解できるように、認識可能なパターンに従っていることを確認してください。省略形は、全体を通して一貫して使用する必要があります。

  4. デフォルト値」フィールドに適切なデフォルト値を設定します。

    デフォルト値は、フィールド タイプによって異なります。整数フィールドタイプは数値のデフォルト値を使用しますが、文字列フィールドタイプは文字列を使用して正確なデフォルトを設定し、リストからデフォルトを設定できる正規表現を使用します。ルール定義時に設定したデフォルト値は、適用時にデバイスレベルまたはデバイスグループレベルで上書きできます。

  5. 「タイプ」ドロップダウンリストから適切な変数タイプを選択します。

    使用可能なフィールド タイプは、整数、浮動小数点、文字列、ブール値、デバイス、デバイス グループ、および符号なし整数です。

    また、符号なし整数を変数の型として選択することもできます。符号なし整数は、0 から 4,294,967,295 までの値を含むことができるデータ型です。

関数

(オプション)必要な関数を定義します。

Functions ブロックを使用すると、ユーザーは Python ファイルに関数を作成し、そのファイルで使用可能なメソッドを参照できます。Pythonファイルは、Paragon Automationの外部で作成する必要があります。メソッド名と引数は、関数を定義するときに必要になるため、知っておく必要があります。

Paragon Automationでは、Pythonユーザー定義関数を使用して複数の値を返すことができます。値は、データベース内の複数のフィールドに格納されます。

たとえば、3 つの戻り値を持つ関数example_function.pyがあるとします。ルールでexample_function.pyを呼び出すと、ユーザー定義関数 (UDF) の最初の戻り値が、関数を呼び出すルール フィールドに格納されます。残りの 2 つの戻り値に対してのみ、 r2r3 などの戻り値フィールドを構成する必要があります。戻り値のこれらのフィールドは、[関数] タブの [戻り値リスト] で構成できます。

時系列データベースでは、リターン リスト フィールドの名前の前には、UDF を使用するルール フィールドの名前が付きます。 たとえば、rule_field_name-r2 です。

図 4 は、Functions ブロックの構成例を示しています。

図 4: Functions ブロックの The Functions Block

関数を設定するには:

  1. 関数」リンクをクリックします。
  2. [+ 関数の追加] をクリックします。
  3. 関数名を入力します。たとえば、used-percentageです。
  4. [関数へのパス] フィールドに、関数を含む Python ファイルの名前を入力します。これらのファイルは、/var/local/healthbot/input/hb-default ディレクトリに保存する必要があります。リストには、そのディレクトリ内のすべての Python (.py) ファイルが入力されます。
  5. [Method Name] フィールドに、python ファイルで定義されているメソッドの名前を入力します。たとえば、used_percentageです。
  6. (オプション)説明ボックスに機能の説明を入力します。
  7. (オプション) Python 関数が取ることができる引数ごとに、[+ 引数の追加] をクリックします。

    [引数の追加] ボタンをクリックするたびに、引数の名前を入力し、引数が必須かどうかのトグル スイッチを設定する必要があります。デフォルトでは、どの引数も必須ではありません。

  8. (オプション)関数に戻り値を持つ引数が複数ある場合は、「+戻りリストの追加」をクリックします。
  9. 戻り値の名前とデータ型 (整数など) を入力します。

トリガー

設定する必要があるルール定義の必須要素は、trigger 要素です。図 5 は、system.memory/check-system-memory ルールの Triggers ブロックを示しています。フィールドの詳細については、以下で説明します。

図 5: トリガー ブロック The Triggers Block

トリガーを設定するには、ポリシーの設定に使用する用語を作成する必要があります。トリガー内の用語が一致すると、何らかのアクションが実行されます。用語は、ルール内で定義されているフィールド、関数、変数などを相互に評価したり、特定の値を検索したりできます。用語は、用語リストの上位から下位の順に評価されます。一致するものが見つからない場合は、一致するものが見つかるまで、または項スタックの一番下に達するまで、次の用語(存在する場合)が評価されます。

  1. [トリガー] リンクをクリックします。
  2. トリガーの追加ボタン(+トリガーの追加)をクリックします。
  3. ランダムなトリガー名を、定義するトリガーに適した名前 (foo-link-operation-state など) に置き換えます。2 つ以上のルールで同じトリガー名を使用しないように、ルールとトリガーに非常に一意の名前を使用することをお勧めします。
  4. (オプション)[頻度(Frequency)] フィールドに値を入力します。この値は、フィールドデータとトリガーをクエリーおよび評価する頻度をParagon Automationに指示します。ここに入力が行われない場合、この値にはセンサー周波数が適用されます。ここに入力する周波数は、2oなどのセンサー周波数の倍数またはオフセットとして入力できます。たとえば、センサー周波数が10秒で、トリガー周波数が2oの場合、トリガー周波数は20秒(2 * 10秒)になります。
  5. 用語の追加ボタン(+用語の追加)をクリックします。

    [用語] 領域が展開され、[条件] セクションの [条件の追加] ボタン (+ 条件の追加) と、[Then] セクションの [色] フィールドと [メッセージ] フィールドが表示されます。

  6. 用語で評価される条件を定義するには、[+ 条件の追加] ボタンをクリックします。

    とき 」セクションが展開され、「 左オペランド」、「 演算子」、および 「時間範囲 」フィールドが表示されます。

    手記:

    条件の設定は必須ではありません。 用語 が特定のアクションを実行することを保証する場合は、条件を設定しないでください。これは、たとえば、トリガー内のどの用語も一致しなかったことを示す必要がある場合などに、用語スタックの下部に便利です。

  7. これらの各フィールドのプルダウンメニューから値を選択します。

    選択した [演算子] に応じて、[演算子] フィールドと [時間範囲] フィールドの間に新しいフィールド [右オペランド] が表示される場合があります。

    左右のオペランドのプルダウン・メニューには、ルールで定義されたフィールドと変数が入力されます。演算子フィールドは、実行する比較の種類を決定します。時間範囲フィールドを使用すると、トリガーは、直前の 1 分間にドロップされたパケットがあったかどうかなどを評価できます。

  8. (オプション) [] フィールドと [メッセージ] フィールドの値を設定し、[Then] セクションにアクションエンジン情報を追加します。

    これらのフィールドはアクションフィールドです。同じ条件内で設定された条件に一致すると、ここで定義するアクションが実行されます。緑、黄、赤の色の値を設定できます。メッセージも設定でき、色が設定されているかどうかには依存しません。

    トリガーの設定時に、アクションワークフロー(アクションエンジン)をルールにリンクできます。また、アクション ワークフローをリンクするときに入力引数を追加することもできます。 [アクション エンジン ] セクションは、PIN-Advanced ライセンスでのみ有効になります。詳細については、「 アクションエンジンワークフローの概要 」および「 Paragon Insightsライセンスの概要」を参照してください。

    色またはメッセージが設定されている場合は、[次の 用語を評価 ] というラベルの付いたクリックしが [ Then ] セクションの下部に表示されます。このボタンのデフォルト値はオフ(非アクティブ)です。

    手記:

    用語の [ When ] セクションで一致がない場合、[ Then ] セクションは無視されます。この場合、次の下降項があれば、それが評価されます。

    「とき」セクションで一致すると、「次の用語の評価」ボタンがオン(アクティブ)に設定されていない限り、「Then」セクションのアクション(存在する場合)が実行され、用語の処理が停止します。

    [ 次の条件を評価] ボタンを設定すると、Paragon Automationに「ある条件と別の条件の両方が真である場合、このアクションを実行する」などのより複雑な評価を行わせることができます。

ルールのプロパティ

(オプション)[ ルールのプロパティ ]ブロックでParagon Automationルールのメタデータを指定します。利用可能なオプションは次のとおりです。

属性

形容

バージョン

Paragon Automationルールのバージョンを入力します。

投稿者

ドロップダウンリストからオプションを選択します。

著者

有効な電子メール アドレスを指定してください。

日付

ポップアップカレンダーから日付を選択します。

サポートされているParagon Automationバージョン

ルールが有効な最も早いParagon Automationリリースを指定します。

サポートされているデバイス>ジュニパーデバイス

「Junos」または「Junos Evolved」のいずれかを選択してください。デバイスメタデータには、製品名、リリース名、リリースサポート(ドロップダウンリスト)、およびプラットフォームが含まれます。複数のデバイス、デバイスごとに複数の製品、および製品ごとに複数のリリースのメタデータを追加できます。

サポートされているすべてのデバイスに適用する既定のセンサーを選択できます。また、ジュニパーデバイスや、特定のOSを実行するジュニパーデバイスに適用するデフォルトセンサーを選択するオプションもあります。

サポートされているデバイス>他のベンダーのデバイス

ベンダー識別子、ベンダー名、製品、プラットフォーム、リリース、ジュニパー以外のベンダーのオペレーティングシステム関連情報を追加できます。

ジュニパー以外のすべてのデバイスに適用するデフォルトのセンサーを選択できます。

ヘルパー ファイル

Paragon Automationルールで必要なファイルを指定します。