イベントルールの作成
特定のイベントを監視するように規則を構成できます。ルールを使用すると、インフラストラクチャ全体で生成されたイベントを容易にフィルタリングできます。
特定の条件で規則を構成し、規則にアクションを割り当てることで、一連のイベントにフィルターを適用できます。生成されたイベントがルール内のフィルタ条件を満たすと、そのルールに関連付けられたアクションが実行されます。フィルターを作成できる条件は、重大度、Citrix Application Delivery Controller(NetScaler)インスタンス、カテゴリ、障害オブジェクト、構成コマンド、メッセージです。
次のアクションをイベントに割り当てられます。
-
メール送信アクション:フィルター条件に一致するイベントについてメールを送信します。
-
トラップ送信アクション:外部トラップ宛先に SNMP トラップを送信または転送します。
-
コマンドアクションの実行: 着信イベントが設定されたルールを満たしたときにコマンドを実行します。
-
[ ジョブアクションの実行]: 指定したフィルタ条件に一致するイベントに対してジョブを実行します。
-
抑制処理: 特定の期間のイベントのドロップを抑制します。
-
Slack 通知を送信:フィルター条件に一致するイベントについて、設定した Slack チャンネルに通知を送信します。
-
PagerDuty 通知を送信:フィルター条件に一致するイベントの PagerDuty 設定に基づいてイベント通知を送信します。
-
ServiceNow 通知の送信: フィルタ条件に一致するイベントの ServiceNow インシデントを自動生成します。
詳細については、「 イベントルールのアクションを追加する」を参照してください。
イベントが解決されるまで指定した間隔で通知が再送信されるように設定することもできます。また、特定の件名、ユーザーメッセージ、および添付ファイルを使用して電子メールをカスタマイズすることもできます。
たとえば、管理者として、ADC インスタンスの「高い CPU 使用率」イベントを監視し、停止につながる可能性があります。通知を受信するには、次のいずれかのアクションを実行できます。
-
インスタンスを監視するルールを作成します。また、そのようなイベントが発生したときに通知を受け取るアクションをルールに追加します。
-
特定の間隔でインスタンスを監視するルールをスケジュールします。したがって、そのようなイベントがその間隔内に発生すると、通知を受け取ります。
イベント規則の構成では以下の作業を行います。
ステップ 1-名前とインスタンスファミリーの指定
インフラストラクチャ > イベント > ルールに移動し、 追加をクリックします。
「 名前」で、イベントルールの名前を指定し、「インスタンスファミリー」 ドロップダウンリストからインスタンスファミリーを選択します 。
イベントルールをインスタンスファミリーでフィルタリングして 、NetScaler ADMがイベントを受信するNetScalerインスタンスを追跡できます。
ステップ 2-イベント期間を設定する
イベント経過時間オプションを設定して 、NetScaler ADM がイベントルールを更新するまでの時間間隔(秒単位)を指定できます。
たとえば、NetScalerインスタンスで「高CPU使用率」イベントが60秒以上続くたびにメールを送信したいとします。イベントの経過時間を60秒に設定することで、NetScalerインスタンスで60秒以上の「高いCPU使用率」イベントが発生するたびに、イベントの詳細が記載された電子メール通知を受け取ることができます。
注:
イベントの年齢は必須のフィールドです 。イベント期間の最小値は 60 秒です。
次のいずれかのオプションを選択してイベントを追跡できます。
-
イベントの経過時間に達するまでイベントのログ記録をスキップ-指定したイベント経過時間より前に発生したイベントは 、NetScaler ADMサーバーデータベースに記録されません。ただし、イベントの経過時間が経過すると、イベントがデータベースに記録され、設定されたイベントアクションがトリガーされます。
-
イベントの経過時間に関係なくイベントを即座に記録-指定したイベント経過時間に関係なく 、すべてのイベントがNetScaler ADMサーバーデータベースに記録されます。イベントの経過時間に達すると、設定されたイベントアクションがトリガーされます。
イベントアクションを割り当てるには、「 ステップ 8-イベントルールアクションの追加」を参照してください。
アスタリスク (*) パターンマッチング以外の正規表現を含める場合は、「 正規表現マッチングによる高度なフィルタを有効にする」を選択します。
ステップ3-イベントの重要度を選択する
デフォルトの重要度設定を使用したイベント規則を作成できます。[重要度] には、イベントルールを追加するイベントの現在の重大度を指定します。
重要度レベルは、Critical、Major、Minor、Warning、Clear、Informationで定義できます。
注
汎用イベントとアドバンス固有のイベントの両方について、重大度を設定できます。NetScaler ADM で管理されている NetScaler インスタンスのイベントの重要度を変更するには、[ インフラストラクチャ] > [イベント] > [イベント設定]に移動します。イベントの重大度を設定するカテゴリ を選択し、[Configure Sever ity] をクリックします。新しい重大度レベルを割り当てて、[ OK] をクリックします。
ステップ 4-イベントカテゴリの指定
NetScaler インスタンスによって生成されるイベントのカテゴリを指定できます。すべてのカテゴリは、NetScaler インスタンスに作成されます。これらのカテゴリは、イベントルールの定義に使用できるNetScaler ADMにマッピングされます。考慮するカテゴリを選択し、「 使用可能 」(Available) テーブルから「構成済み」( 構成済み ) テーブルに移動します。
上記の例では、表示されたテーブルからイベントカテゴリとして「cpuusageHigh」を選択する必要があります。
ステップ5-NetScaler インスタンスの指定
イベントルールを定義するNetScaler インスタンスのIPアドレスを選択します。「 インスタンス 」セクションで、「 インスタンスを選択」をクリックします。[ Select Instances] ページで、インスタンスを選択し、[ Select] をクリックします。
ステップ6-障害オブジェクトの選択
表示されたリストから障害オブジェクトを選択するか、イベントが生成された障害オブジェクトを追加できます。正規表現を指定して失敗オブジェクトを追加することもできます。指定された正規表現に応じて、失敗オブジェクトは自動的にリストに追加されます。エラーオブジェクトは、イベント生成の対象となるエンティティのインスタンスまたはカウンターです。
重要
:正規表現を使用して失敗オブジェクトを一覧表示するには、 手順 1 で [ 正規表現による高度なフィルタを有効にする] を選択します。
障害オブジェクトはイベントの処理方法に影響し、通知されたとおりに問題が反映されるようにします。このフィルターを使用すると、障害オブジェクトの問題をすばやく追跡し、問題の原因を特定できます。たとえば、ユーザーにログインの問題がある場合、ここでの失敗オブジェクトはユーザー名またはパスワード(nsroot
など) です。
このリストには、すべてのしきい値関連のイベントではカウンター名、すべてのエンティティ関連のイベントではエンティティ名、証明書関連のイベントでは証明書名などが含まれます。
ステップ7-高度なフィルタを指定する
イベント規則は以下の基準によりフィルタリングできます。
-
設定コマンド -完全な設定コマンドを指定することも、イベントをフィルタリングする正規表現を指定することもできます。
コマンドの認証ステータスや実行ステータスによってイベントルールをさらに絞り込むことができます。たとえば、
NetscalerConfigChange event
の場合は 、[.]*bind system global policy_name[.]*
と入力します 。 -
メッセージ-メッセージの詳細な説明を指定することも 、正規表現を指定してイベントをフィルタリングすることもできます。
たとえば、NetscalerConfigChange
イベントの場合は、[.]*ns_client_ipaddress :10.122.132.142[.]* or ns_client_ipaddress :^([.]*10.122.132.142[.]*)
と入力します。
重要アスタリスク
(*) パターンマッチング以外の正規表現を使用して設定コマンドとメッセージをフィルタリングするには、 ステップ 1 で「 正規表現マッチングによる高度なフィルタを有効にする」を選択します。
ステップ 8-イベントルールアクションを追加する
イベント規則アクションを追加して、イベントに対する通知アクションを割り当てることができます。これらの通知は、 イベントがステップ 7で設定した定義済みのフィルター条件を満たしたときに送信または実行されます。追加できるイベントアクションは以下のとおりです。
-
メール送信アクション
-
Send Trap Action
-
Run Command Action
-
ジョブアクションの実行
-
Suppress Action
-
Slack 通知を送信
-
PagerDuty 通知を送信
-
サービス通知の送信
電子メールイベントルールのアクションを設定するには
[ Send email Action] を選択すると、イベントが定義されたフィルタ条件を満たすと、電子メールがトリガーされます。
次のいずれかのオプションを実行できます。
- メール配布リストを作成し、メールサーバーまたはメールプロファイルの詳細を追加します。
- 以前に作成したメール配布リストを選択します。
NetScaler ADM では多数の仮想サーバーを構成しているため、毎日多数の電子メールを受信することがあります。電子メールには、イベントの重大度、イベントのカテゴリ、および障害オブジェクトに関する情報を提供するデフォルトの件名があります。ただし、件名には、これらのイベントが発生した仮想サーバーの名前に関する情報は含まれていません。これで、影響を受けるエンティティの名前、つまり障害オブジェクトの名前などの追加情報を含めることができるようになりました。
また、カスタマイズされた件名とユーザーメッセージを追加したり、受信イベントが設定されたルールと一致した場合にメールに添付ファイルをアップロードしたりすることもできます。
イベント通知の電子メールを送信するときに、テスト電子メールを送信して、構成済みの設定をテストすることができます。「テスト」ボタンでは、メールサーバー、関連する配布リスト、その他の設定を構成した後に、テストメールを送信できるようになりました。この機能により、設定が正常に動作することが保証されます。
また、[ イベントがクリアされるまで電子メール通知を繰り返す] チェックボックスをオンにして、選択した条件を満たすイベントルールに対して E メール通知を繰り返し送信することで、重要なイベントがすべて処理され 、重要な電子メール通知が失われないようにすることもできます。たとえば、ディスク障害に関連するインスタンスに対してイベントルールを作成し、問題が解決するまで通知を受け取るには、それらのイベントに関する電子メール通知を繰り返し受信するように選択できます。
トラップイベントルールアクションを設定するには
[ Send Trap Action ] イベントアクションタイプを選択すると、SNMP トラップは外部トラップ宛先に送信または転送されます。トラップ同報リスト(またはトラップ宛先およびトラッププロファイルの詳細)を定義することにより、イベントが定義されたフィルタ基準を満たしたときに、トラップメッセージが特定のトラップリスナーに送信されます。
[コマンドを実行] アクションを設定するには
Run Command Action イベントアクションを選択すると、特定のフィルター条件に一致するイベントに対してNetScaler ADM で実行できるコマンドまたはスクリプトを作成できます。
コマンドアクションの実行スクリプトには 、次のパラメータを設定することもできます。
パラメーター | 説明 |
$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ファイルの場所を指定します。
新しい仮想サーバーを作成するための「 コマンドの実行 」アクションを設定するには、次の手順で行います。
-
規則を定義する
-
イベントの重要度を選択してください
-
イベントカテゴリを選択してください entitydown
-
仮想サーバーが設定されているインスタンスを選択します。
-
仮想サーバーの障害オブジェクトを選択または作成します
-
「 イベントルールアクション」で、「 アクションを追加 」をクリックし、「 **アクションタイプ」リストから「コマンドアクションを実行** 」を選択します。
-
「 コマンド実行リスト」で、「 追加」をクリックします。
「コマンド配布リストの作成」ページが表示されます。
-
「 プロファイル名」で、任意の名前を指定します。
-
[ コマンドの実行]で、スクリプトを実行するNetScaler ADMエージェントの場所を指定します。例:
/sh/var/demo.sh $source $failureobj
。 -
[ 出力を追加 ] と [ エラーを追加] を選択します
注
コマンドスクリプトの実行時に生成された 出力 と エラー(存在する場合)をNetScaler ADM サーバーのログファイルに保存する場合は、[Append Output]オプションと[Append Errors]オプションを有効にできます。これらのオプションを有効にしないと、NetScaler ADM はコマンドスクリプトの実行中に生成されたすべての出力とエラーを破棄します。
-
[作成] をクリックします。
-
-
[ イベントアクションの追加 ] ページで、[ OK] をクリックします。
注
コマンドスクリプトの実行時に生成された 出力 と エラー(存在する場合)をNetScaler ADM サーバーのログファイルに保存する場合は、[Append Output]オプションと[Append Errors]オプションを有効にできます。これらのオプションを有効にしないと、NetScaler ADM はコマンドスクリプトの実行中に生成されたすべての出力とエラーを破棄します。
[ ジョブの実行] アクションを設定するには
構成ジョブを使用してプロファイルを作成すると、ジョブは組み込みジョブまたはNetScaler用のカスタムジョブとして実行され、指定したフィルター条件に一致するイベントとアラーム用のNetScaler SDXインスタンスとして実行されます。
-
[ イベントルールアクション] で、[ アクションの追加 ] をクリックし、[ **アクションの種類] リストから [ジョブアクションの実行** ] を選択します。
-
イベントが定義済みのフィルタ基準を満たすときに 実行するジョブを含むプロファイルを作成します。
-
ジョブの作成時に、プロファイル名、インスタンスタイプ、設定テンプレート、ジョブのコマンドが失敗した場合に実行するアクションを指定します。
-
選択したインスタンスタイプと選択した設定テンプレートに基づいて、変数の値を指定し、[ Finish ] をクリックしてジョブを作成します。
抑制アクションを設定するには
Suppress Action イベントアクションを選択すると、イベントが抑制またはドロップされる期間を分単位で設定できます。最短で1分間イベントを非表示にできます。
NetScaler ADM からSlack 通知を設定するには
NetScaler ADM GUIでプロファイル名とWebhook URLを指定して、必要なSlackチャネルを構成します。イベント通知はこのチャンネルに送信されます。複数のSlack チャンネルを設定して、これらの通知を受け取ることができます。
-
NetScaler ADM で、[ インフラストラクチャ]>[イベント]>[ルール]に移動し、[ 追加 ]をクリックしてルールを作成します。
-
「 ルールの作成 」ページで、重要度やカテゴリなどのルールパラメータを設定します。監視するインスタンスおよび障害オブジェクトを選択します。
-
「 イベントルールアクション」で、「 アクションを追加」をクリックします。次に、[ アクションタイプ ] リストから [ Slack 通知を送信 ] を選択し、[ Slack プロファイルリスト] を選択します。
-
Slack プロファイルリスト欄の横にある「 追加 」をクリックして、 Slack プロファイルリスト を追加することもできます。
-
次のパラメータを入力してプロファイルリストを作成します。
-
プロファイル名。NetScaler ADM で構成するプロファイルリストの名前を入力します。
-
チャンネル名。イベント通知の送信先となる Slack チャンネルの名前を入力します。
-
ウェブフック URL。先に入力したチャンネルのウェブフック URL を入力します。受信ウェブフックは、外部ソースからのメッセージを Slack に投稿する簡単な方法です。URL は内部的にチャンネル名にリンクされ、イベント通知はすべてこの URL に送信され、指定された Slack チャンネルに投稿されます。ウェブフックの例は次のとおりです。 https://hooks.slack.com/services/T0******E/B9X55DUMQ/c4tewWAiGVTT51Fl6oEOVirK
-
-
[ 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証明書のリスト。
NetScaler ADM に PagerDuty プロファイルを追加するには:
-
管理者の資格情報を使用してNetScaler ADM にログオンします。
-
アカウント > 通知 > PagerDuty プロファイルに移動します。
-
[ 追加 ] をクリックしてプロファイルを作成します。
-
「ページデューティプロファイルの作成」ページで、次の操作を行います。
-
任意のプロファイル名を入力します。
-
統合キーを入力します。
インテグレーションキーは PagerDuty ポータルから取得できます。
-
[作成] をクリックします。
ユースケース:
次のようなシナリオを考えてみましょう。
-
PagerDuty プロフィールに通知を送信したい。
-
PagerDuty で通知を受信するオプションとして電話を設定しました。
-
NetScalerイベントの電話アラートを受け取りたい。
構成するには、以下を実行します:
-
[ イベント ] > [ ルール] に移動します
-
「 規則の作成 」ページで、規則を作成するための他のすべてのパラメータを設定します。
-
「 ルールアクションの作成」で、「 アクションを追加」をクリックします。
「 イベントアクションの追加 」ページが表示されます。
-
[ アクションタイプ] で、[ PagerDuty 通知を送信] を選択します。
-
PagerDuty プロファイルを選択し、[ OK] をクリックします。
-
構成が完了すると、NetScalerインスタンスに対して新しいイベントが生成されるたびに、電話が送信されます。電話から、次のことを決定できます。
-
イベントを確認する
-
解決済みとしてマークする
-
別のチームメンバーにエスカレーション
-
NetScaler ADM から ServiceNow インシデントを自動生成するには
NetScaler ADM GUIでServiceNowプロファイルを選択すると、NetScaler ADMイベントのServiceNowインシデントを自動生成できます。イベントルールを構成するには、NetScaler ADMのServiceNowプロファイルを選択する必要があります 。
ServiceNowインシデントを自動生成するイベントルールを構成する前に、NetScaler ADM をServiceNowインスタンスと統合します。詳細については、「 ServiceNow 用に ITSM アダプタを構成する」を参照してください。
イベントルールを設定するには、[イベント] > [ **ルール ] に移動します。**
-
「 規則の作成 」ページで、規則を作成するための他のすべてのパラメータを設定します。
-
「 ルールアクションの作成」で、「 アクションを追加」をクリックします。
「 イベントアクションの追加 」ページが表示されます。
-
アクションタイプで、「 ServicNow 通知を送信」を選択します。
-
ServiceNow プロファイルで、リストから Citrix_Workspace_SN プロファイルを選択します。
-
[OK] をクリックします。
-