イベントルールの作成
特定のイベントを監視するように規則を構成できます。ルールを使用すると、インフラストラクチャ全体で生成されたイベントを容易にフィルタリングできます。
特定の条件で規則を構成し、規則にアクションを割り当てることで、一連のイベントにフィルターを適用できます。生成されたイベントがルール内のフィルタ条件を満たすと、そのルールに関連付けられたアクションが実行されます。
次の条件のフィルターを作成できます:
- 重要度
- Citrixアプリケーションデリバリーコントローラー (NetScaler)インスタンス
- カテゴリ
- 障害オブジェクト
- 設定コマンド
- メッセージ
イベントを作成したら、イベントにアクションを割り当てることができます。詳細については、「 イベントルールのアクションを追加する」を参照してください。
たとえば、管理者として、機能停止につながる可能性があるNetScalerインスタンスの「CPU使用率が高い」イベントを監視したい場合があります。通知を受け取るには、次の操作のいずれかを実行できます:
-
インスタンスを監視するルールを作成し、そのようなイベントが発生したときに通知を受け取るアクションをルールに追加します。
-
特定の間隔でインスタンスを監視するルールをスケジュールします。したがって、そのようなイベントがその間隔内に発生すると、通知を受け取ります。
次の画像は、イベントルールがどのように機能するかのワークフローを説明しています。
イベントルールを設定する
イベントルールを設定するには、[ インフラストラクチャ] > [イベント] > [ルール] に移動し、[ 追加] をクリックします。「 ルールを作成 」ページで、次のタスクを実行します:
ステップ 1-名前とインスタンスファミリーの指定
-
名前。イベントルールの名前を入力します。
-
インスタンスファミリー。「インスタンスファミリー」 ドロップダウンリストからインスタンスファミリーを選択します 。
イベントルールをインスタンスファミリーでフィルタリングして 、NetScaler Consoleがイベントを受け取るNetScalerインスタンスを追跡できます。
ステップ 2-イベント期間を設定する
-
イベントエイジ。NetScaler Consoleがイベントルールを更新するまでの時間間隔(秒単位)を指定します。
たとえば、NetScalerインスタンスで「高CPU使用率」イベントが60秒以上続くたびにメールを送信したいとします。イベントの経過時間は 60 秒に設定できます。これで、NetScalerインスタンスで「CPU使用率が高い」イベントが60秒以上続くと、メール通知が届きます。
注:
イベントの年齢は必須のフィールドです 。イベント期間の最小値は 60 秒です。「 Event Age 」フィールドを空白のままにすると、イベントが発生した直後にイベントルールが適用されます。
-
イベントを追跡するには、次のオプションのいずれかを選択してください:
-
イベント期間に達するまでイベントロギングをスキップしてください。指定したイベント期間より前に発生したイベントは、NetScaler Consoleサーバーデータベースに記録されません。イベントの経過時間に達すると、イベントがデータベースに記録され、設定されたイベントアクションがトリガーされます。
-
イベントの経過期間に関係なく、イベントを即座に記録します。すべてのイベントは、指定されたイベント期間に関係なく、NetScaler Consoleサーバーデータベースに記録されます。イベントの経過時間に達すると、設定されたイベントアクションがトリガーされます。
-
-
正規表現マッチングによる高度なフィルターを有効にする。このオプションを選択すると、アスタリスク (*) パターンマッチング以外の正規表現が含まれます。このオプションは、障害オブジェクト、設定コマンド、およびメッセージに適用されます。
ステップ 3-イベントの重要度を選択する
-
重要度セクションで 、イベントルールの重要度を選択します。
重要度レベルは、Critical、Major、Minor、Warning、Clear、Informationで定義できます。
注:
汎用イベントとアドバンス固有のイベントの両方について、重大度を設定できます。NetScaler Consoleで管理されているNetScalerインスタンスのイベントの重要度を変更するには、[ インフラストラクチャ]>[イベント][イベント設定]に移動します。イベントの重大度を設定する カテゴリ を選択し、[Configure Sever ity] をクリックします。新しい重大度レベルを割り当てて、[ OK] をクリックします。
ステップ 4-イベントカテゴリの指定
NetScaler インスタンスによって生成されるイベントのカテゴリを指定できます。すべてのカテゴリは、NetScaler インスタンスに作成されます。その後、これらのカテゴリはNetScaler Consoleでマッピングされ、イベントルールの定義に使用できます。
-
検討するカテゴリを選択し、「 使用可能 」テーブルから「 構成済み 」テーブルに移動します。
この例では、表示されたテーブルからイベントカテゴリとして「cpuUtilization」を選択する必要があります。
ステップ5-NetScaler インスタンスの指定
「 インスタンス 」セクションで、次の操作を行います:
-
[ インスタンスを選択]をクリックします。[インスタンスの選択 ]ページで、イベントルールを定義するNetScalerインスタンスのIPアドレスを選択します。
-
[Select] をクリックします。
ステップ6-障害オブジェクトの選択
エラーオブジェクトは、イベント生成の対象となるエンティティのインスタンスまたはカウンターです。
-
「 障害オブジェクトを選択」をクリックします。
-
「 障害オブジェクト 」ページで、リストから障害オブジェクトを選択します。[Select] をクリックします。
-
障害オブジェクトを追加するには、「 障害オブジェクトの追加」に正規表現を入力します。指定された正規表現に応じて、失敗オブジェクトは自動的にリストに追加されます。
重要:
正規表現を使用してエラーオブジェクトを一覧表示するには、 手順 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 email Action] を選択すると、イベントが定義されたフィルタ条件を満たすと、電子メールがトリガーされます。
-
メール配布リスト。メール配布リストを選択します。配布リストを追加するには、[ 追加] をクリックします。
-
「 メール配布リストの作成 」ページで、次の操作を行います:
-
名前。配布リストの名前を追加します。
-
メールサーバー。メールサーバーを選択します。サーバーを追加したり、既存のサーバーを編集したりすることもできます。
-
From。送信者のメールアドレスを追加します。
-
To。受信者のメールアドレスを追加します。CC リストと Bcc リストに含める電子メールアドレスを指定することもできます。
-
[Create] をクリックします。
-
-
-
件名。影響を受けるエンティティの名前、つまり障害オブジェクトの名前など、電子メールの件名を追加します。この件名には、これらのイベントが発生する仮想サーバーに関する情報が記載されています。
注:
件名を追加しない場合、デフォルトの件名が表示されます。デフォルトの件名には、イベントの重要度、イベントのカテゴリ、および障害オブジェクトに関する情報のみが表示されます。イベントが発生した仮想サーバーの名前はわかりません。
-
アタッチメント。メールに添付ファイルをアップロードします。この添付ファイルは、受信イベントが設定されたルールと一致したときに送信されます。
-
テスト。電子メールサーバー、関連する配布リスト、およびその他の設定を構成した後に、このボタンをクリックしてテスト電子メールを送信します。このオプションでは、構成された設定をテストできます
-
イベントがクリアされるまで、Eメール通知を繰り返します。このオプションを選択すると、重大なイベントのメール通知を見逃さないようにできます。このオプションでは、選択した条件を満たすイベントルールに関する電子メールが繰り返し送信されます。たとえば、ディスク障害を伴うインスタンスのイベントルールを作成したとします。問題が解決するまで通知を受け取りたい場合は、それらのイベントに関する電子メール通知を繰り返し受け取ることを選択してください。
-
[OK] をクリックします。
注:
[ 設定] > [ **通知 ] > [メール]に移動して、メール配布リストを追加することもできます。[ **追加 ] をクリックしてリストを作成します。
Send Trap Action
[ Send Trap Action ] イベントアクションタイプを選択すると、SNMP トラップは外部トラップ宛先に送信または転送されます。イベントが定義済みのフィルタ条件を満たすと、トラップメッセージは特定のトラップリスナーに送信されます。
-
トラップ配布リスト。トラップ配布リスト (またはトラップ宛先とトラッププロファイルの詳細) を選択します。トラップ配布リストを作成するには、「 追加」をクリックします。
-
「 トラップ配布リストの作成 」ページで、次の操作を行います:
-
プロファイル名。プロファイル名を入力します。
-
トラップの宛先。トラップメッセージを受信するインスタンスの名前または IP アドレスを入力します。
-
SNMP トラップのポート番号。ポート番号を入力します。
-
トラップコミュニティ。インスタンスが属するグループを入力します。
-
[Create] をクリックします。
-
-
[OK] をクリックします。
Run Command Action
Run Command Actionイベントアクションを選択すると 、特定のフィルター条件に一致するイベントに対してNetScaler Consoleで実行できるコマンドまたはスクリプトを作成できます。
Run Command Action スクリプトには、次のパラメータを設定することもできます:
パラメーター | 説明 |
$source | このパラメーターは、受信したイベントのソースIPアドレスに相当します。 |
$category | このパラメーターは、フィルターのカテゴリで定義されているトラップのタイプに対応します |
$entity | このパラメーターは、イベント生成の対象となるエンティティのインスタンスまたはカウンターに相当します。このパラメーターには、しきい値関連のイベントではカウンター名、エンティティ関連のイベントではエンティティ名、すべての証明書関連のイベントでは証明書名が含まれます。 |
$severity | このパラメーターは、イベントの重要度に相当します。 |
$failureobj | 障害オブジェクトはイベントの処理方法に影響し、障害オブジェクトは通知されたとおりに問題を正確に表示します。このオブジェクトを使用すると、単にイベントをありのままレポートするのではなく、問題を素早く突き止めてエラーの原因を特定することができます。 |
注:
コマンドの実行中、これらのパラメータは実際の値に置き換えられます。
たとえば、 負荷分散仮想サーバーのステータスがダウンしているときにrun command アクションを設定するとします。管理者は、別の仮想サーバーを追加することで迅速な回避策を提供したい場合があります。NetScalerコンソールでは、次のことができます:
-
スクリプト (.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 ファイルをエージェントの任意の永続的な場所に保存します。例:
/var
。 -
ルール条件が満たされたときに実行する.shファイルの場所をNetScaler Consoleで指定します。
-
「 コマンド実行リスト」で、「 追加」をクリックします。
「コマンド配布リストの作成」ページが表示されます。
-
プロファイル名。任意の名前を指定してください
-
コマンドを実行。スクリプトを実行するエージェントの場所を指定します。例:
sh/var/demo.sh $source $failureobj
。 -
[ 出力を追加 ] と [ エラーを追加] を選択します
注:
コマンドスクリプトを実行したときに生成された出力とエラー (存在する場合)をNetScaler Consoleサーバーのログファイルに保存する場合は、[出力の追加 ]オプションと[エラーの追加]オプションを有効にできます。これらのオプションを有効にしない場合、NetScaler Consoleはコマンドスクリプトの実行中に生成されたすべての出力とエラーを破棄します。
-
[Create] をクリックします。
-
-
[ イベントアクションの追加 ] ページで、[ OK] をクリックします。
注:
コマンドスクリプトを実行したときに生成された出力とエラー (存在する場合)をNetScaler Consoleサーバーのログファイルに保存する場合は、[出力の追加 ]オプションと[エラーの追加]オプションを有効にできます。これらのオプションを有効にしない場合、NetScaler Consoleはコマンドスクリプトの実行中に生成されたすべての出力とエラーを破棄します。
Execute Job Action
構成ジョブを使用してプロファイルを作成すると、ジョブは、指定したフィルター条件に一致するイベントとアラームに対して、NetScalerおよびNetScaler SDXインスタンスの組み込みジョブまたはカスタムジョブとして実行されます。
-
「 ジョブプロファイルリスト」で、ジョブプロファイルを選択します。リストを追加するには、「 追加」をクリックします。
-
「 ジョブの作成 」ページで、次の操作を行います:
-
「ジョブ」を選択します。イベントが定義済みのフィルター条件を満たしたときに実行するジョブを含むプロファイルを作成します。プロファイル名、インスタンスタイプ、設定テンプレート、およびジョブのコマンドが失敗した場合に実行するアクションを指定します。
-
変数値を指定します。選択したインスタンスタイプと選択した設定テンプレートに基づいて、変数値を指定します。
-
[ 完了 ] をクリックしてジョブを作成します。
-
-
[OK] をクリックします。
Suppress Action
-
「 抑制時間」に、イベントを抑制または中止する期間を分単位で入力します。最短で1分間イベントを非表示にできます。
注:
抑制時間を 0 分に設定することもできます。これは無限時間を意味します。期間を指定しない場合、NetScaler Consoleは抑制時間をゼロと見なし、期限切れになることはありません。
Slack 通知を送信する
Slack チャンネルを設定すると、イベント通知がこのチャンネルに送信されます。これらの通知を受信するように多くの Slack チャンネルを設定できます
-
「 Slack プロファイルリスト」で、Slack プロファイルを選択します。Slack プロフィールを追加するには、「 追加」をクリックします。
-
「 Slack プロフィールの作成 」ページで、次の操作を行います:
-
プロファイル名。NetScaler コンソールで構成するプロファイルリストの名前を入力します。
-
チャンネル名。イベント通知の送信先となる Slack チャンネルの名前を入力します。
-
webbook URL。入力したチャンネルのウェブフック URL を入力します。受信webbookは、外部ソースからのメッセージを Slack に投稿する簡単な方法です。URL は内部的にチャンネル名にリンクされています。すべてのイベント通知はこの URL に送信され、選択した Slack チャンネルに投稿されます。webbookの例は次のとおりです。 https://hooks.slack.com/services/T0******E/B9X55DUMQ/c4tewWAiGVTT51Fl6oEOVirK
-
[Create] をクリックします。
-
-
[OK] をクリックします。
注意:
「 設定 」>「 通知 」>「Slack プロフィール」に移動して Slackプロフィールを追加することもできます。[ 追加 ] をクリックし、プロファイルを作成します。
PagerDuty通知を送信
PagerDutyプロファイルをNetScaler Consoleのオプションとして追加すると、PagerDuty構成に基づいてインシデント通知を監視できます。PagerDuty では、電子メール、SMS、プッシュ通知、および登録番号への電話による通知を設定できます。
-
PagerDuty プロファイルリストで、PagerDuty プロファイルを選択します。プロファイルを追加するには、「 追加」をクリックします。
-
PagerDuty プロファイルの作成ページでは 、以下を行います:
-
プロファイル名。任意のプロファイル名を入力します。
-
インテグレーションキー。統合キーを入力します。
インテグレーションキーは PagerDuty ポータルから取得できます。
-
[Create] をクリックします。
-
NetScaler コンソールにPagerDutyプロファイルを追加する前に、PagerDutyで必要な構成を完了していることを確認してください。詳細については、 PagerDutyのドキュメントを参照してください。
PagerDuty プロファイルをオプションの 1 つとして選択して、次の機能に関する通知を受け取ることができます:
-
イベント — NetScaler インスタンスに対して生成されるイベントのリスト。
-
[Licenses ]:現在アクティブで、間もなく期限切れになるなどのライセンスのリスト。
-
SSL証明書 — NetScaler インスタンスに追加されるSSL証明書のリスト。
ユースケース:
次のようなシナリオを考えてみましょう:
-
PagerDuty プロファイルに通知を送信します。
-
通知を受け取るには、PagerDuty のオプションとして電話を設定します。
-
NetScalerイベントの電話アラートを受信できます。
PagerDuty 設定を作成します。構成が完了すると、NetScalerインスタンスに対して新しいイベントが生成されるたびに、電話がかかってきます。電話から、次のことを決定できます:
-
イベントを確認する
-
解決済みとしてマークする
-
別のチームメンバーにエスカレーション
ServiceNow通知を送信
NetScalerコンソールGUIでServiceNowプロファイルを選択すると、NetScalerコンソールイベントのServiceNowインシデントを自動生成できます。イベントルールを構成するには、NetScaler コンソールでServiceNowプロファイルを選択する必要があります 。
ServiceNowインシデントを自動生成するようにイベントルールを構成する前に、NetScalerコンソールをServiceNowインスタンスと統合してください。詳細については、「 ServiceNow 用に ITSM アダプタを構成する」を参照してください。
-
ServiceNow プロファイルで、リストから Citrix_Workspace_SN プロファイルを選択します。
-
[OK] をクリックします。