Application Delivery Management

イベントルールの作成

特定のイベントを監視するためのルールを設定できます。ルールを使用すると、インフラストラクチャ全体で生成される多数のイベントを簡単に監視できます。

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

イベントには次のアクションを割り当てることができます。

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

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

  • コマンド実行アクション: 受信イベントが設定されたルールを満たした場合にコマンドを実行します。

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

  • 抑制アクション: 特定の期間、イベントを抑制または破棄します。

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

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

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

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

イベントがクリアされるまで、指定された間隔で通知を再送信することもできます。また、特定の件名、ユーザーメッセージ、および添付ファイルでメールをカスタマイズできます。

イベントをルールで監視

たとえば、管理者として、特定のNetScalerインスタンスで「CPU使用率が高い」イベントがNetScalerインスタンスの停止につながる可能性がある場合、そのイベントを監視したいと考えるかもしれません。次のことができます。

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

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

イベントルールを設定するには、次のタスクが必要です。

  1. ルールの定義

  2. ルールが検出するイベントの重大度の選択

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

  4. ルールが適用されるNetScalerインスタンスの指定

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

  6. 高度なフィルタの指定

  7. ルールがイベントを検出したときに実行するアクションの指定

ステップ1 - イベントルールの定義

[Infrastructure] > [Events] > [Rules] の順に移動し、[Add] をクリックします。ルールを有効にする場合は、[Enable Rule] チェックボックスをオンにします。

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

注:

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

上記の例に基づくと、NetScalerインスタンスで「CPU使用率が高い」イベントが60秒以上発生するたびに、メールで通知を受けたい場合があります。イベント期間を60秒に設定すると、NetScalerインスタンスで「CPU使用率が高い」イベントが60秒以上発生するたびに、イベントの詳細を含むメール通知を受け取ることができます。

イベントルールの作成

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

アスタリスク (*) パターンマッチング以外の正規表現を含める場合は、[Enable Advanced Filter with Regex Matching] を選択します。

ステップ2 - イベントの重大度の選択

デフォルトの重大度設定を使用するイベントルールを作成できます。重大度は、イベントルールを追加したいイベントの現在の重大度を指定します。

次の重大度レベルを定義できます: Critical、Major、Minor、Warning、Clear、および Information。

重大度レベルの定義

一般的なイベントと高度なイベントの両方で重大度を設定できます。NetScaler ADMで管理されているNetScalerインスタンスのイベント重大度を変更するには、[Infrastructure] > [Events] > [Event Settings] の順に移動します。イベント重大度を設定したい[Category] を選択し、[Configure Severity] をクリックします。新しい重大度レベルを割り当てて、[OK] をクリックします。

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

NetScalerインスタンスによって生成されるイベントのカテゴリを指定できます。すべてのカテゴリはNetScalerインスタンスで作成されます。これらのカテゴリは、イベントルールを定義するために使用できるNetScaler ADMにマッピングされます。考慮したいカテゴリを選択し、[Available] テーブルから [Configured] テーブルに移動します。

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

イベントカテゴリの定義

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

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

インスタンスの指定

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

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

重要

正規表現を使用して障害オブジェクトをリストするには、「ステップ1 - イベントルールの定義」で [Enable Advanced Filter with Regex Matching] を選択します。

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

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

オブジェクトリスト

ステップ6 - 高度なフィルタの指定

イベントルールをさらにフィルタリングできます。

  • 構成コマンド - 完全な構成コマンドを指定するか、正規表現を指定してイベントをフィルタリングできます。

    コマンドの認証ステータスや実行ステータスでイベントルールをさらにフィルタリングできます。たとえば、NetscalerConfigChange イベントの場合、[.]*bind system global policy_name[.]* と入力します。

    高度な構成コマンドフィルタ

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

    高度なメッセージフィルタ

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

イベントに通知アクションを割り当てるために、イベントルールアクションを追加できます。これらの通知は、イベントが上記で設定した定義済みフィルタ条件を満たした場合に送信または実行されます。次のイベントアクションを追加できます。

  • メール送信アクション

  • トラップ送信アクション

  • コマンド実行アクション

  • ジョブ実行アクション

  • 抑制アクション

  • Slack通知の送信

  • PagerDuty通知の送信

  • ServiceNow通知の送信

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

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

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

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

イベント通知のメールを送信する際、設定された設定をテストするためにテストメールを送信したい場合があります。「テスト」ボタンを使用すると、メールサーバー、関連する配布リスト、およびその他の設定を構成した後でテストメールを送信できます。この機能により、設定が正常に機能していることを確認できます。

また、選択した条件を満たすイベントルールに対して繰り返しメール通知を送信するために、[Repeat Email Notification until the event is cleared] チェックボックスを選択することで、すべての重要なイベントが対処され、重要なメール通知が見逃されないようにすることもできます。たとえば、ディスク障害を含むインスタンスのイベントルールを作成し、問題が解決するまで通知を受け取りたい場合、それらのイベントに関する繰り返しメール通知を受け取ることを選択できます。

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

トラップイベントルールアクションの設定

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

コマンド実行アクションの設定

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

[コマンド実行アクション] スクリプトには、次のパラメータも設定できます。

パラメータ 説明
$source このパラメータは、受信したイベントの送信元IPアドレスに対応します。
$category このパラメータは、フィルタのカテゴリで定義されたトラップのタイプに対応します。
$entity このパラメータは、イベントが生成されたエンティティインスタンスまたはカウンターに対応します。これには、すべてのしきい値関連イベントのカウンター名、すべてのエンティティ関連イベントのエンティティ名、およびすべての証明書関連イベントの証明書名を含めることができます。
$severity このパラメータは、イベントの重大度に対応します。
$failureobj 障害オブジェクトは、イベントが処理される方法に影響を与え、障害オブジェクトが通知された正確な問題を反映するようにします。これは、生のイベントを報告するだけでなく、問題を迅速に追跡し、障害の原因を特定するために使用できます。

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

たとえば、ロードバランシング仮想サーバーのステータスが [Down] の場合にコマンド実行アクションを設定したいとします。管理者として、別の仮想サーバーを追加することで迅速な回避策を提供することを検討したい場合があります。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エージェント上の永続的な場所(例: /var)に保存します。

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

新しい仮想サーバーを作成するための [コマンド実行] アクションを設定するには:

  1. ルールを定義します。

  2. イベントの重大度を選択します。

  3. イベントカテゴリ entitydown を選択します。

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

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

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

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

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

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

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

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

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

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

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

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

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

ジョブ実行アクションの設定

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

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

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

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

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

ジョブ実行アクション

抑制アクションの設定

[抑制アクション] イベントアクションを選択すると、イベントが抑制または破棄される期間を分単位で設定できます。イベントは最低1分間抑制できます。

抑制アクションの設定

NetScaler ADMからのSlack通知の設定

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

  1. NetScaler ADMで、[Infrastructure] > [Events] > [Rules] の順に移動し、[Add] をクリックしてルールを作成します。

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

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

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

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

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

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

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

  6. [作成] をクリックし、[イベントアクションの追加] ウィンドウで [OK] をクリックします。

注:

[System] > [Notifications] > [Slack Profiles] の順に移動してSlackプロファイルを追加することもできます。[追加] をクリックし、前のセクションで説明したようにプロファイルを作成します。

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

これで、適切なフィルタと明確に定義されたイベントルールアクションを持つイベントルールが作成されました。

NetScaler ADMからのPagerDuty通知の設定

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

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

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

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

  • ライセンス – 現在アクティブなライセンス、期限切れ間近のライセンスなどのリスト。

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

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

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

  2. [Settings] > [Notifications] > [PagerDuty Profiles] の順に移動します。

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

  4. [PagerDutyプロファイルの作成] ページで:

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

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

      統合キーはPagerDutyポータルから取得できます。

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

    ユースケース:

    次のシナリオを検討してください。

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

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

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

    設定するには:

    1. [Events] > [Rules] の順に移動します。

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

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

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

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

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

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

    • イベントを承認する

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

    • 別のチームメンバーにエスカレートする

NetScaler ADMからのServiceNowインシデントの自動生成

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

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

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

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

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

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

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

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

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