Application Delivery Management

イベントルールの作成

特定のイベントを監視するように規則を構成できます。ルールを使用すると、インフラストラクチャ全体で生成された多数のイベントを容易に監視できます。

特定の条件で規則を構成し、規則にアクションを割り当てることで、一連のイベントにフィルターを適用できます。生成されたイベントがルール内のフィルタ条件を満たすと、そのルールに関連付けられたアクションが実行されます。フィルターを作成できる条件は、重大度、Citrix Application Delivery Controller(NetScaler)インスタンス、カテゴリ、障害オブジェクト、構成コマンド、メッセージです。

次のアクションをイベントに割り当てられます。

  • メール送信アクション:フィルター条件に一致するイベントについてメールを送信します。

  • トラップ送信アクション:外部トラップ宛先に SNMP トラップを送信または転送します。

  • Run Command Action: 受信イベントが設定されたルールを満たしたときにコマンドを実行します。

  • [ ジョブアクションの実行]: 指定したフィルタ条件に一致するイベントに対してジョブを実行します。

  • 抑制処理: 特定の期間のイベントのドロップを抑制します。

  • Slack 通知を送信:フィルター条件に一致するイベントについて、設定した Slack チャンネルに通知を送信します。

  • PagerDuty 通知を送信:フィルター条件に一致するイベントの PagerDuty 設定に基づいてイベント通知を送信します。

  • ServiceNow 通知の送信: フィルタ条件に一致するイベントの ServiceNow インシデントを自動生成します。

詳細については、「 イベントルールのアクションを追加する」を参照してください。

イベントが解決されるまで指定した間隔で通知が再送信されるように設定することもできます。また、特定の件名、ユーザーメッセージ、および添付ファイルを使用して電子メールをカスタマイズすることもできます。

ルールを使用してイベントを監視する

たとえば、管理者が特定のNetScaler インスタンスの「高いCPU使用率」イベントを監視すると、NetScaler インスタンスが停止する可能性があります。次の操作を実行できます:

  • インスタンスを監視するルールを作成し、「高 CPU 使用率」カテゴリのイベントが発生したときに電子メール通知を送信するアクションを指定します。

  • イベントが発生するたびに通知されないように、ルールを午前 11 時から午後 11 時などの特定の時刻に実行するようにスケジュールします。

イベント規則の構成では以下の作業を行います。

  1. 規則を定義する

  2. 規則の検出対象イベントの重要度を選択する

  3. イベントのカテゴリを指定する

  4. ルールを適用するNetScaler インスタンスの指定

  5. 障害オブジェクトの選択

  6. 詳細フィルターの指定

  7. 規則でイベントが検出された場合に実行するアクションを指定する

ステップ 1-イベントルールを定義する

[ インフラストラクチャ] > [イベント] > [ルール] に移動し、[ 追加] をクリックします。ルールを有効にする場合は、[ ルールを有効にする ] チェックボックスをオンにします。

イベント経過時間オプションを設定して 、NetScaler ADM がイベントルールを更新するまでの時間間隔(秒単位)を指定できます。

注:

イベント期間の最小値は 60 秒です。[ Event Age ] フィールドを空白のままにすると、イベントが発生した直後にイベントルールが適用されます。

上記の例に基づくと、NetScaler インスタンスで「CPU使用率が高い」イベントが60秒以上発生するたびに電子メールで通知を受ける必要がある場合があります。イベントの経過時間を60秒に設定すると、NetScaler インスタンスで「CPU使用率が高い」イベントが60秒以上発生するたびに、イベントの詳細が記載されたメール通知が届きます。

イベントルールの作成

また、 イベントルールをインスタンスファミリーでフィルタリングして 、NetScaler ADM がイベントを受信するNetScaler インスタンスを追跡することもできます。

アスタリスク (*) パターンマッチング以外の正規表現を含める場合は、「 正規表現マッチングによる高度なフィルタを有効にする」を選択します。

ステップ2-イベントの重要度を選択する

デフォルトの重要度設定を使用したイベント規則を作成できます。重要度により、イベント規則に追加するイベントの現在の重要度を指定します。

重要度レベルは、Critical、Major、Minor、Warning、Clear、Informationで定義できます。

重要度レベルの定義

汎用イベントとアドバンス固有のイベントの両方について、重大度を設定できます。NetScaler ADM で管理されているNetScaler インスタンスのイベントの重要度を変更するには、[ インフラストラクチャ] > [イベント] > [イベント設定]に移動します。イベントの重大度を設定するカテゴリ を選択し、[Configure Sever ity] をクリックします。新しい重大度レベルを割り当てて、[ OK] をクリックします。

ステップ 3-イベントカテゴリの指定

NetScaler インスタンスによって生成されるイベントのカテゴリを指定できます。すべてのカテゴリは、NetScaler インスタンスに作成されます。これらのカテゴリは、イベントルールの定義に使用できるNetScaler ADM にマッピングされます。考慮するカテゴリを選択し、「 使用可能 」(Available) テーブルから「構成済み」( 構成済み ) テーブルに移動します。

上の例では、表示されたテーブルからイベントカテゴリとして「cpuUsageHigh」を選択する必要があります。

イベントカテゴリの定義

ステップ4-NetScaler インスタンスの指定

イベントルールを定義するNetScaler インスタンスのIPアドレスを選択します。「 インスタンス 」セクションで、「 インスタンスを選択」をクリックします。[ Select Instances] ページで、インスタンスを選択し、[ Select] をクリックします。

インスタンスを指定する

ステップ5-障害オブジェクトの選択

表示されたリストから障害オブジェクトを選択するか、イベントが生成された障害オブジェクトを追加できます。正規表現を指定して失敗オブジェクトを追加することもできます。指定された正規表現に応じて、失敗オブジェクトは自動的にリストに追加されます。エラーオブジェクトは、イベント生成の対象となるエンティティのインスタンスまたはカウンターです。

重要

:正規表現を使用して失敗オブジェクトを一覧表示するには、 手順 1 で [ 正規表現による高度なフィルタを有効にする] を選択します。

障害オブジェクトはイベントの処理方法に影響し、通知されたとおりに問題が反映されるようにします。このフィルターを使用すると、障害オブジェクトの問題をすばやく追跡し、問題の原因を特定できます。たとえば、ユーザーにログインの問題がある場合、ここでの失敗オブジェクトはユーザー名またはパスワード(nsrootなど) です。

このリストには、すべてのしきい値関連のイベントではカウンター名、すべてのエンティティ関連のイベントではエンティティ名、証明書関連のイベントでは証明書名などが含まれます。

オブジェクトリスト

ステップ6-高度なフィルタを指定する

イベント規則は以下の基準によりフィルタリングできます。

  • 設定コマンド -完全な設定コマンドを指定することも、イベントをフィルタリングする正規表現を指定することもできます。

    コマンドの認証ステータスや実行ステータスによってイベントルールをさらに絞り込むことができます。たとえば、NetscalerConfigChange event の場合は 、[.]*bind system global policy_name[.]*と入力します 。

    詳細設定コマンドフィルター

  • メッセージ-メッセージの詳細な説明を指定することも 、正規表現を指定してイベントをフィルタリングすることもできます。
    たとえば、 NetscalerConfigChange イベントの場合は、 [.]*ns_client_ipaddress :10.122.132.142[.]* or ns_client_ipaddress :^([.]*10.122.132.142[.]*)と入力します。

    アドバンスメッセージフィルタ

ステップ 7-イベントルールアクションを追加する

イベント規則アクションを追加して、イベントに対する通知アクションを割り当てることができます。指定した通知は、上の手順で設定したフィルター条件イベントをイベントが満たした場合に送信または実行されます。追加できるイベントアクションは以下のとおりです。

  • メール送信アクション

  • Send Trap Action

  • Run Command Action

  • ジョブアクションの実行

  • Suppress Action

  • Slack 通知を送信

  • PagerDuty 通知を送信

  • サービス通知の送信

電子メールイベントルールのアクションを設定するには

Send email Action イベントアクションタイプを選択すると、イベントが定義されたフィルター条件を満たすと E メールがトリガーされます。メールサーバーまたはメールプロファイルの詳細を指定してメール配布リストを作成するか、以前に作成したメール配布リストを選択する必要があります。

NetScaler ADM では多数の仮想サーバーを構成しているため、毎日多数の電子メールを受信することがあります。電子メールには、イベントの重大度、イベントのカテゴリ、および障害オブジェクトに関する情報を提供するデフォルトの件名があります。ただし、件名には、これらのイベントが発生した仮想サーバーの名前に関する情報は含まれていません。これで、影響を受けるエンティティの名前、障害オブジェクトの名前などの追加情報を含めることができるようになりました。

また、カスタマイズされた件名とユーザーメッセージを追加したり、受信イベントが設定されたルールと一致した場合にメールに添付ファイルをアップロードしたりすることもできます。

イベント通知の電子メールを送信するときに、テスト電子メールを送信して、構成済みの設定をテストすることができます。「テスト」ボタンでは、メールサーバー、関連する配布リスト、その他の設定を構成した後に、テストメールを送信できるようになりました。この機能により、設定が正常に動作することが保証されます。

また、「 イベントがクリアされるまで電子メール通知を繰り返す」チェックボックスをオンにして、選択した条件を満たすイベントルールについて電子メール通知を繰り返し送信することで 、すべての重要なイベントに対処し、重要な電子メール通知を見逃さないようにすることもできます。たとえば、ディスクエラーを伴うインスタンスに対するイベント規則を作成し、問題が解決するまで通知するようにする場合、それらのイベントに関して連続メール送信を指定できます。

電子メールイベントルールのアクションの設定

トラップイベントルールアクションを設定するには

[ Send Trap Action ] イベントアクションタイプを選択すると、SNMP トラップは外部トラップ宛先に送信または転送されます。トラップ配信リスト(またはトラップ送信先とトラッププロファイルの詳細)を定義すると、イベントが定義されたフィルター条件を満たしたときに、トラップメッセージが特定のトラップリスナーに送信されます。

[コマンドを実行] アクションを設定するには

Run Command Action イベントアクションを選択すると、特定のフィルター条件に一致するイベントに対してNetScaler ADM で実行できるコマンドまたはスクリプトを作成できます。

Run Command Action スクリプトには、次のパラメータを設定することもできます:

   
パラメーター 説明
$source このパラメーターは、受信したイベントのソースIPアドレスに相当します。
$category このパラメーターは、フィルターのカテゴリで定義したトラップのタイプに相当します。
$entity このパラメーターは、イベント生成の対象となるエンティティのインスタンスまたはカウンターに相当します。このパラメーターには、しきい値関連のイベントではカウンター名、エンティティ関連のイベントではエンティティ名、すべての証明書関連のイベントでは証明書名が含まれます。
$severity このパラメーターは、イベントの重要度に相当します。
$failureobj 障害オブジェクトはイベントの処理方法に影響を与え、障害オブジェクトに通知されたとおりの問題を反映するようにします。このオブジェクトを使用すると、単にイベントをありのままレポートするのではなく、問題を素早く突き止めてエラーの原因を特定することができます。

コマンドの実行中、これらのパラメータは実際の値に置き換えられます。

たとえば、 負荷分散仮想サーバーのステータスがダウンしているときにrun command アクションを設定するとします。管理者は、別の仮想サーバーを追加して簡単な回避策を提供することを検討することをお勧めします。NetScaler ADM では、次のことができます。

  • スクリプト (.sh) ファイルを記述します。

    次に、サンプルスクリプト (.sh) ファイルを示します。

     #!/bin/sh
     source=$1
     failureobj=$2
     payload='{"params":{"warning":"YES"},"lbvserver":{"name":"'$failureobj'","servicetype":"HTTP","ipv46":"x.x.x.x","port":"80","td":"","m":"IP","state":"ENABLED","rhistate":"PASSIVE","appflowlog":"ENABLED","
     bypassaaaa":"NO","retainconnectionsoncluster":"NO","comment":""}}'
     url="http://$source/nitro/v1/config/lbvserver"
     curl --insecure -basic -u nsroot:nsroot -H "Content-type: application/json" -X POST -d $payload $url
    
     <!--NeedCopy-->
    
  • .shファイルをNetScaler ADM エージェントの任意の永続的な場所に保存します。例:/var

  • ルールの条件が満たされたときに実行するNetScaler ADM内の.shファイルの場所を指定します。

新しい仮想サーバーを作成するための「 コマンドの実行 」アクションを設定するには、次の手順で行います。

  1. 規則を定義する

  2. イベントの重要度を選択してください

  3. イベントカテゴリを選択してください entitydown

  4. 仮想サーバーが設定されているインスタンスを選択します。

  5. 仮想サーバーの障害オブジェクトを選択または作成します

  6. イベントルールアクション」で、「 アクションを追加 」をクリックし、「 **アクションタイプ」リストから「コマンドアクションを実行** 」を選択します。

  7. コマンド実行リスト」で、「 追加」をクリックします。

    「コマンド配布リストの作成」ページが表示されます。

    1. プロファイル名」で、任意の名前を指定します。

    2. コマンドの実行]で、スクリプトを実行するNetScaler ADMエージェントの場所を指定します。例:/sh/var/demo.sh $source $failureobj

    3. [ 出力を追加 ] と [ エラーを追加] を選択します

      コマンドスクリプトの実行時に生成された 出力エラー(存在する場合)をNetScaler ADM サーバーのログファイルに保存する場合は、[Append Output]オプションと[Append Errors]オプションを有効にできます。これらのオプションを有効にしないと、NetScaler ADM はコマンドスクリプトの実行中に生成されたすべての出力とエラーを破棄します。

    4. [作成] をクリックします。

  8. [ イベントアクションの追加 ] ページで、[ OK] をクリックします。

    イベントアクションの追加

    コマンドスクリプトの実行時に生成された 出力エラー(存在する場合)をNetScaler ADM サーバーのログファイルに保存する場合は、[Append Output]オプションと[Append Errors]オプションを有効にできます。これらのオプションを有効にしないと、NetScaler ADM はコマンドスクリプトの実行中に生成されたすべての出力とエラーを破棄します。

Execute ジョブアクションを設定するには

構成ジョブを含むプロファイルを作成すると、指定したフィルター条件に一致するイベントやアラームに対して、NetScaler および NetScaler SDX インスタンスの組み込みジョブまたはカスタムジョブとしてジョブが実行されます。

  1. [ イベントルールアクション] で、[ アクションの追加 ] をクリックし、[ アクションタイプ]ドロップダウンリストから[ジョブアクションの実行] を選択します。

  2. イベントが定義済みのフィルター条件を満たしたときに実行するジョブを含むプロファイルを作成します。

  3. ジョブの作成では、プロファイル名、インスタンスタイプ、構成テンプレート、ジョブのコマンドが失敗した場合に実行するアクションを指定します。

  4. 選択したインスタンスタイプと選択した設定テンプレートに基づいて、変数の値を指定し、[ Finish ] をクリックしてジョブを作成します。

ジョブアクションの実行

抑制アクションを設定するには

Suppress Action イベントアクションを選択すると、イベントが抑制またはドロップされる期間を分単位で設定できます。最短で1分間イベントを非表示にできます。

抑制アクションを設定

NetScaler ADM からSlack 通知を設定するには

NetScaler ADM GUIでプロファイル名とWebhook URLを指定して、必要なSlack チャネルを構成します。イベント通知はこのチャンネルに送信されます。複数のSlack チャンネルを設定して、これらの通知を受け取ることができます。

  1. NetScaler ADM で、[インフラストラクチャ]>[イベント]>[ルール]に移動し、[追加]をクリックしてルールを作成します。

  2. ルールの作成」ページで、重要度やカテゴリなどのルールパラメータを設定します。監視する必要のあるインスタンスと障害オブジェクトを選択します。

  3. 「イベントルールアクション」 で、「アクション追加」をクリック します。次に、「アクションタイプ」リストから「Slack 通知を送信 」を選択し、「 Slack プロフィールリスト」を選択します。

  4. Slack プロファイルリスト欄の横にある「 追加 」をクリックして、 Slack プロファイルリスト を追加することもできます。

  5. 次のパラメータを入力してプロファイルリストを作成します。

    1. プロファイル名。NetScaler ADM で構成するプロファイルリストの名前を入力します。

    2. チャンネル名。イベント通知の送信先となる Slack チャンネルの名前を入力します。

    3. ウェブフック URL。先に入力したチャンネルのウェブフック URL を入力します。受信ウェブフックは、外部ソースからのメッセージを Slack に投稿する簡単な方法です。URL は内部的にチャンネル名にリンクされ、イベント通知はすべてこの URL に送信され、指定された Slack チャンネルに投稿されます。ウェブフックの例は次のとおりです。 https://hooks.slack.com/services/T0******E/B9X55DUMQ/c4tewWAiGVTT51Fl6oEOVirK

  6. [ Create ] をクリックし、[ Add Event Action ] ウィンドウで [ OK ] をクリックします。

注:

[ システム ] > [ 通知 ] > [Slack プロフィール] に移動して Slackプロフィールを追加することもできます。[ 追加 ] をクリックし、前のセクションの説明に従ってプロファイルを作成します。

作成した Slack プロフィールのステータスを表示できます。

これで、適切なフィルターが設定され、適切なイベント規則アクションが定義されたイベント規則が作成されました。

NetScaler ADMからPagerDuty通知を設定するには

NetScaler ADM オプションとしてPagerDutyプロファイルを追加して、PagerDuty構成に基づいてインシデント通知を監視できます。PagerDutyでは、電子メール、SMS、プッシュ通知、登録番号への電話による通知を設定できます。

NetScaler ADM でPagerDutyプロファイルを追加する前に、PagerDutyで必要な構成が完了していることを確認します。詳細については、 PagerDuty のドキュメントを参照してください

PagerDuty プロファイルをオプションの 1 つとして選択して、次の機能に関する通知を受け取ることができます。

  • イベント — NetScaler インスタンスに対して生成されるイベントのリスト。

  • [Licenses ]:現在アクティブで、間もなく期限切れになるなどのライセンスのリスト。

  • SSL証明書 — NetScaler インスタンスに追加されるSSL証明書のリスト。

ADM に PagerDuty プロファイルを追加するには:

  1. 管理者の資格情報を使用してNetScaler ADM にログオンします。

  2. 設定 > 通知 > PagerDuty プロファイルに移動します

  3. [ 追加 ] をクリックして、新しいプロファイルを作成します。

  4. 「ページデューティプロファイルの作成」ページで、次の操作を行います。

    1. 任意のプロファイル名を入力します。

    2. 統合キーを入力します

      インテグレーションキーは PagerDuty ポータルから取得できます。

    3. [作成] をクリックします。

    ユースケース:

    次のようなシナリオを考えてみましょう。

    • PagerDuty プロフィールに通知を送信したい。

    • PagerDuty で通知を受信するオプションとして電話を設定しました。

    • NetScalerイベントの電話アラートを受け取りたい。

    構成するには、以下を実行します:

    1. [ イベント ] > [ ルール] に移動します

    2. 規則の作成 」ページで、規則を作成するための他のすべてのパラメータを設定します。

    3. ルールアクションの作成」で、「 アクションを追加」をクリックします。

      イベントアクションの追加 」ページが表示されます。

      1. [ アクションタイプ] で、[ PagerDuty 通知を送信] を選択します。

        PagerDuty 通知

      2. PagerDuty プロファイルを選択し、[ OK] をクリックします。

        PagerDuty プロファイルの作成

    構成が完了すると、NetScaler インスタンスに対して新しいイベントが生成されるたびに、電話が送信されます。電話から、次のことを決定できます。

    • イベントを確認する

    • 解決済みとしてマークする

    • 別のチームメンバーにエスカレーション

NetScaler ADM から ServiceNow インシデントを自動生成するには

NetScaler ADM GUIでServiceNowプロファイルを選択すると、NetScaler ADMイベントのServiceNowインシデントを自動生成できます。イベントルールを構成するには、NetScaler ADMのServiceNowプロファイルを選択する必要があります 。

ServiceNowインシデントを自動生成するようにイベントルールを構成する前に、NetScaler ADMとServiceNowインスタンスを統合します。詳細については、「 ServiceNow 用に ITSM アダプタを構成する」を参照してください。

イベントルールを設定するには、[イベント] > [ **ルール ] に移動します。**

  1. 規則の作成 」ページで、規則を作成するための他のすべてのパラメータを設定します。

  2. ルールアクションの作成」で、「 アクションを追加」をクリックします。

    イベントアクションの追加 」ページが表示されます。

    1. アクション・タイプ」で、「 ServiceNow 通知を送信」を選択します。

    2. ServiceNow プロファイルで、リストから Citrix_Workspace_SN プロファイルを選択します。

    3. [OK] をクリックします。

イベントルールの作成