Application Delivery Management

イベントルールの作成

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

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

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

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

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

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

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

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

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

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

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

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

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

ルールによるイベントの監視

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

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

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

イベントルールを設定するには、次のタスクが含まれます。

  1. ルールの定義

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

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

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

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

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

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

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

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

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

注:

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

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

イベントルールの作成

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

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

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

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

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

重大度レベルの定義

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

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

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

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

イベントカテゴリの定義

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

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

インスタンスの指定

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

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

重要

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

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

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

オブジェクトリスト

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

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

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

    コマンドの認証ステータスや実行ステータスによってイベントルールをさらにフィルタリングできます。たとえば、NetscalerConfigChange event の場合、[.]*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 Console で多数の仮想サーバーが設定されているため、毎日大量のメールを受信する可能性があります。メールには、イベントの重大度、イベントのカテゴリ、および障害オブジェクトに関する情報を提供するデフォルトの件名行があります。しかし、件名行には、これらのイベントが発生した仮想サーバーの名前に関する情報は含まれていません。影響を受けるエンティティの名前、障害オブジェクトの名前などの追加情報を含めるオプションが追加されました。

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

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

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

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

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

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

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

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

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

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

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

たとえば、負荷分散仮想サーバーのステータスが Down のときにコマンド実行アクションを設定したいとします。管理者として、別の仮想サーバーを追加することで迅速な回避策を提供することを検討したい場合があります。NetScaler Console では、次のことができます。

  • スクリプト (.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) に保存します。

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

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

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

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

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

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

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

  6. Event Rule Actions で、Add Action をクリックし、Action Type リストから Run Command Action を選択します。

  7. Command Execution List で、Add をクリックします。

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

    1. Profile Name に、任意の名前を指定します。

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

    3. Append OutputAppend Errors を選択します。

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

    4. Create をクリックします。

  8. Add Event Action ページで、OK をクリックします。

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

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

Execute ジョブアクションの設定

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

  1. Event Rule Actions で、Add Action をクリックし、Action Type ドロップダウンリストから Execute Job Action を選択します。

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

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

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

ジョブアクションの実行

抑制アクションの設定

抑制アクション イベントアクションを選択すると、イベントが抑制またはドロップされる時間 (分単位) を設定できます。イベントは最低 1 分間抑制できます。

抑制アクションの設定

NetScaler Console からの Slack 通知の設定

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

  1. NetScaler Console で、Infrasturcture > Events > Rules に移動し、Add をクリックしてルールを作成します。

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

  3. Event Rule Actions で、Add Action をクリックします。次に、Action Type リストから Send Slack Notifications を選択し、Slack Profile List を選択します。

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

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

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

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

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

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

注:

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

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

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

NetScaler Console からの PagerDuty 通知の設定

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

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

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

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

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

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

NetScaler Console で PagerDuty プロファイルを追加するには:

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

  2. Settings > Notifications > PagerDuty Profiles に移動します。

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

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

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

    2. Integration Key を入力します。

      Integration Key は PagerDuty ポータルから取得できます。

    3. Create をクリックします。

    ユースケース:

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

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

    • PagerDuty で電話をオプションとして設定し、通知を受け取りたい。

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

    設定するには:

    1. Events > Rules に移動します。

    2. Create Rule ページで、他のすべてのパラメーターを設定してルールを作成します。

    3. Create Rule Actions で、Add Action をクリックします。

      Add Event Action ページが表示されます。

      1. Action Type で、Send PagerDuty Notifications を選択します。

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

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

    • イベントを承認する

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

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

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

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

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

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

  1. Create Rule ページで、他のすべてのパラメーターを設定してルールを作成します。

  2. Create Rule Actions で、Add Action をクリックします。

    Add Event Action ページが表示されます。

    1. Action Type で、Send ServiceNow Notifications を選択します。

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

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