Comments
Description
Transcript
Splunk Enterprise 6.2.0 アラートマニュアル
Splunk Enterprise 6.2.0 アラートマニュアル 作成:2014 年 11 ⽉ 21 ⽇ 午後 4 時 09 分 Copyright (c) 2015 Splunk Inc. All Rights Reserved Table of Contents アラートの概要 アラートについて 3 3 Splunk Web を使ったアラートの作成 結果単位アラートの作成 スケジュール済みアラートの作成 ローリング・ウィンドウ・アラートの作成 アラート機能の更新と拡張 アラートアクションの設定 アラートの例 ⽣成されたアラート 5 5 6 10 11 14 20 24 .conf ファイルによるアラートの⼿動設定 savedsearches.conf 内のアラート設定 アラート・アクションのスクリプトの設定 SNMP トラップの他のシステムへの送信 26 26 30 31 アラートの概要 アラートについて アラートは、指定したサーチの結果に基づいて⽣成されるアクションです。アラートの作成時には、アラートの⽣ 成条件を指定します。⼀般的にアクションは、サーチ結果に基づいたメールになります。ただし、スクリプトを実 ⾏したり、⽣成されたアラートを [設定] に表⽰したりすることもできます。アラートを作成する場合、基本的に はアラートの⽣成条件を指定した保存済みサーチを作成することになります。 アラートの頻繁な送信を回避するために、アラートの抑制条件を指定できます。 3 種類のアラートが⽤意されています。 結果単位のアラート リアルタイム・サーチをベースにしています。⽣成条件は、サーチが結果を返した時になります。 スケジュール済みアラート アラートの作成時に指定したスケジュールによってサーチを実⾏します。アラートを⽣成する契機となる サーチ結果を指定します。 ローリング・ウィンドウ・アラート リアルタイム・サーチをベースにしています。⽣成条件は、指定した時間ウィンドウ内の、指定したサーチ 結果の組み合わせになります。 アラートのシナリオ このセクションでは、各タイプのアラートに該当するシナリオを取り上げていきます。 結果単位のアラート 結果単位のアラートは、リアルタイム・サーチが条件を満たす結果を返した時に、それを知らせるために使⽤しま す。⼀般的には、指定した期間に対してアラートが 1 回のみ⽣成されるように、抑制条件を指定します。結果単 位のアラートの例を以下に⽰します。 各ログイン失敗に対してアラートを⽣成する。 任意のホスト上でファイル・システム満杯エラーが発⽣した時にアラートを⽣成する。 このアラート通知を受け取りたくないホストを抑制する、フィールド値を指定することができます。 ホストの CPU の使⽤率が⼀定期間を超えて 100% になった場合にアラートを⽣成する。 警告: 結果単位のアラートを可⽤性が⾼いデプロイ環境で使⽤する場合は注意する必要があります。⾼可⽤ 性のデプロイ環境であるピアが利⽤できない場合、リアルタイム・サーチではサーチが不完全な可能性があ ることが警告されません。このような場合は、スケジュール済みアラートを使⽤することをお勧めします。 スケジュール済みアラート スケジュール済みサーチが特定の条件を満たす結果を返した時に通知するには、スケジュール済みアラートを使⽤ します。スケジュール済みアラートは、アラートへの即座の対処がさほど重要ではない場合に役⽴ちます。スケ ジュール済みアラートの例を以下に⽰します。 ⽇ごとに実⾏し、その⽇の売り上げ商品数が 500 未満の場合に、その旨を通知するアラートを⽣成する。 時間ごとに実⾏し、その時間内の 404 エラー数が 100 を超えた場合に、その旨を通知するアラートを⽣成 する。 ローリング・ウィンドウ・アラート 指定した期間 (10 分ごと、4時間ごとなど) 内のリアルタイム・サーチの結果をモニターする場合、ローリング・ ウィンドウ・アラートを使⽤します。ローリング・ウィンドウ・アラートの例を以下に⽰します。 10 分間の期間内に、ユーザーが 3 回連続してログインに失敗した場合にアラートを⽣成する。 ユーザーに対するアラートの⽣成を 1 時間あたり 1 回に抑制するように、抑制条件を設定できます。 あるホストが 1 時間かかっても他のホストへのファイル転送を完了できない場合にアラートを⽣成する。 任意のホストに対して、毎時間 1 回のみアラートが⽣成されるように抑制条件を設定します。 警告: リアルタイム・サーチを可⽤性が⾼いデプロイ環境で使⽤する場合は注意する必要があります。⾼可 ⽤性のデプロイ環境であるピアが利⽤できない場合、リアルタイム・サーチではサーチが不完全な可能性が あることが警告されません。このような場合は、スケジュール済みアラートを使⽤することをお勧めしま す。 抑制を使ったアラート数の制限 抑制機能を使って、アラートの⽣成頻度を減らすことができます。サーチが返す類似の結果やアラートの実⾏スケ ジュールに基づいて、アラートが頻繁に⽣成されることもあります。アラート⽣成の頻度を減らすために、以下の 事項を設定することができます。 結果を抑制する期間。 3 (オプション) サーチが返すフィールド値。 たとえば、システム・エラーが発⽣した時に⽣成されるアラートを作成することができます。この例では、システ ム・エラーが発⽣した場合、⼀般的に毎分 20 回以上発⽣すると仮定します。しかし、これらのエラーに対するア ラートを、毎時間 1 回のみ⽣成したいと考えています。アラート⽣成の頻度を減らすために、アラートの抑制を 設定します。結果単位のアラートの抑制の設定⽅法を以下の⼿順に⽰します。 1. [サーチ] ページで、以下のサーチを⼊⼒します。 index=_internal log_level=ERROR 2. [名前を付けて保存] > [アラート] を選択します。 3. [結果タイプ] で [リアルタイム] をクリックします。 これにより結果単位アラートが設定されます。 4. [次へ] をクリックします。 5. 有効にするアクションを選択します。 この例でここの詳細は必要ではありません。 6. [抑制] を選択します。 7. log_level フィールドのアラートを抑制するには、「log_level 」と⼊⼒します。 複数のフィールドを抑制するように設定することができます。抑制するフィールドの指定には、カンマ区切 りリストを使⽤します。 8. アラートの⽣成を抑制する期間として、「1 時間」を指定します。 9. [保存 ] をクリックします。 たとえば、同じ clientip および host 値を共有するイベントを抑制する結果単位アラートを設定することができま す。この例では、60 秒のウィンドウを持つリアルタイム・サーチが、「ディスクエラー (disk error)」イベント が発⽣すると毎回アラートを⽣成します。ウィンドウ内でエラー・メッセージを持つイベントが 10 件発⽣する と、5 件のディスク・エラー・アラートが⽣成されます (1 分間に 10 件のアラート)。アラートが⽣成された時に 毎回メール通知が送信されたら、メールの受信箱が通知メールであふれかえってしまいます。 このような場合、抑制を設定して、この種類のアラートが 1 件⽣成されたら、その後 10 分間は同種のアラート の⽣成をすべて抑制することができます。10 分間の期間が経過すると、再びアラートが⽣成されるようになりま す。 スケジュール済みサーチとリアルタイム・サーチの抑制 ⼀般的に、スケジュール済みサーチに抑制の設定は必要ありません。スケジュール済みサーチは、サーチの実⾏あ たり 1 つのアラートのみを送信します。ただし、サーチが頻繁に実⾏される状況で、実⾏ごとに通知を受け取り たくない場合は、抑制機能を使って⼤きな時間ウィンドウに対してアラートを抑制することができます。 リアルタイム・サーチの場合、⽣成条件に対して 1 回のみ⽣成されるようにアラートを設定した場合、抑制を設 定する必要はありません。⽣成条件に対してアラートが複数回⽣成される場合は、抑制を設定して結果を抑制する ことを検討してください。 リアルタイム・サーチに対して抑制を設定する場合、まずベース・サーチの時間ウィンドウに合わせた抑制期間で 試すことをお勧めします。次に必要に応じて抑制期間を延ばしていきます。こうすることによって、特定のイベン トに対して複数の通知を受け取ることを防⽌することができます。 スケジュール済みレポートとアラートの⽐較 スケジュール済みレポートには、アラートといくつかの類似点があります。スケジュール済みレポートは、その実 ⾏時に毎回アクションを実施することができます。たとえば、失敗したログインの⽇時レポートを送信するスケ ジュール済みレポートは、失敗したログインがない場合でもメールを送信します。 アラートは、指定された条件に⼀致した場合にのみアクションを実施します。毎時間の失敗したログインを通知す るアラートは、その時間に失敗したログインがない場合、メールを送信しません。 詳細は、『レポートマニュアル』の「レポートのスケジュール」を参照してください。 アラートの作成および共有権限 デフォルトでは、admin または power ロールを持つユーザーのみが以下の作業を⾏えます。 4 アラートを作成する。 リアルタイムサーチを実⾏する。 サーチをスケジュールする。 サーチを保存する。 アラートを共有する。 App 内のアラートを、App の他のユーザーと共有して、アラートを有効活⽤することができます。アラートを共 有するには、アラートの権限を編集します。 Admin ユーザーまたは Power ユーザー以外のユーザーとアラートを共有する場合、そのユーザーがアラートの機 能を利⽤するために⼗分な権限を持っていることを確認してください。たとえば、結果単位アラートを共有する場 合、ユーザーがリアルタイム・サーチを実⾏する権限があることを確認してください。 アラートを作成する場合、設定後に権限を編集することができます。アラートの権限を編集するには、[アラート] ページを利⽤します。[アラート] ページからのアラートの共有⼿順を以下に⽰します。 1. [アラート] ページに移動します。 2. 共有するアラートで、[編集] > [権限の編集] を選択します。 3. [権限の編集] ダイアログで、アラートを表⽰する⼈を選択します。 所有者 アラートの作成者専⽤ (プライベート) のアラートにします。 App App のすべてのユーザーにアラートを表⽰します。 すべての App Splunk Enterprise インスタンスのすべてのユーザーにアラートを表⽰します。 4. [権限] ウィンドウに記載されているユーザー・ロールに対して与える、読み取りおよび書き込み権限を選択 します。 読み取り :ユーザーは [アラート] ページでアラートを参照し、アラートを実⾏することができます。 書き込み :適切な権限を持つユーザーは、アラートを変更、有効化、無効化することができます。 アラートを実⾏または編集できるかどうかは、ユーザーのロールおよびそのロールに割り当てられている権 限によって決まります。アラートなどのナレッジ・オブジェクトの権限の管理については、『ナレッジ管 理』マニュアルの「ナレッジオブジェクト権限の管理」を参照してください。 Splunk Web を使ったアラートの作成 結果単位アラートの作成 結果単位アラートは、もっとも基本的なタイプのアラートです。「全時間」に対してリアルタイムに実⾏されま す。サーチが結果を返した時にアラートが⽣成されます。 注意: インデックスからイベントを取得するサーチを作成できます。変換コマンドを使って、取得されたイ ベントの処理に基づいた結果を返すこともできます。結果単位アラートは、サーチがイベントを返した時、 または変換コマンドが結果を返した時に⽣成されます。 結果単位アラートの作成 結果単位のアラートの作成⽅法を以下の⼿順に⽰します。 1. [サーチ] ページで、以下のサーチを⼊⼒します。 index=_internal (log_level=ERROR OR log_level=WARN* OR log_level=FATAL OR log_level=CRITICAL) | stats count as 5 log_events 2. [名前を付けて保存] > [アラート] を選択します。 3. [アラートとして保存] ダイアログで、アラートの [タイトル] を⼊⼒します。 4. [アラート・タイプ] で [リアルタイム] を選択します。 結果単位のアラートは、常にリアルタイム・アラートになります。 5. ⽣成条件として、[結果あたり] を選択します。 アラートには、他の⽣成条件を選択することもできます。しかし、結果単位アラートの場合、[結果あたり] 条件しか選択できません。 6. [次へ] をクリックします。 7. 有効にするアクションを選択します。 この例では、[⽣成されたアラートに⼀覧表⽰] を選択します。他のアクションについては、「アラート・ アクションの設定」を参照してください。 8. [保存 ] をクリックします。 9. [編集の続⾏] をクリックします。 スケジュール済みアラートの作成 スケジュール済みアラートは、標準スケジュールの指定された時間範囲に対して実⾏される履歴サーチの結果を評 価します。アラートは⽣成条件を満たした時に⽣成されます。 たとえば、オンラインの売り上げをモニターするスケジュール済みアラートを作成できます。このサーチは毎⽇午 前 0 時に実⾏され、前⽇の特定の商品の売り上げ合計が 500 を下回った時にアラートが⽣成されます。アラート の⽣成時には、売り上げをモニターしている適切な管理者にメールが送信されます。 スケジュール済みアラートの作成 スケジュール済みアラートの作成⽅法を以下の⼿順に⽰します。 1. [サーチ] ページで、以下のサーチを作成します。時間範囲には、[過去 24 時間] を指定します。 index=_internal (log_level=ERROR OR log_level=WARN* OR log_level=FATAL OR log_level=CRITICAL) | stats count as log_events 2. [名前を付けて保存] > [アラート] を選択します。 3. [アラートとして保存] ダイアログで、以下の項⽬を指定します。 タイトル :Server Errors Last 24 hours アラート・タイプ :スケジュール済み 時間範囲 :毎⽇実⾏ スケジュール :0:00 ⽣成条件 :結果数 結果数が次の場合に⽣成 :5 より⼤きい (次の値より⼤きい)。 4. [次へ] をクリックします。 5. [アラートとして保存] ダイアログで、以下の項⽬を指定します。 アクションを有効にする :⽣成されたアラートに⼀覧表⽰ ⽣成時にアクションを実⾏ :1 回 他のアクションについては、「アラート・アクションの設定」を参照してください。 6 6. [保存 ] をクリックします。 7. [編集の続⾏] をクリックします。 Cron 表記 アラートをスケジュールする場合、cron 表記を使ってスケジュールをカスタマイズすることができます。cron ス ケジュールを指定する場合、5 つの cron パラメータのみを利⽤できます。6 つではありません。他の cron 表記 で利⽤できる 6 番⽬の年に関するパラメータは利⽤できません。 以下の cron パラメータは: * * * * * それぞれが以下に対応しています。 minute hour day month day-of-week いくつかの cron 例を以下に⽰します。 */5 * * * * Every 5 minutes. */30 * * * * Every 30 minutes. 0 */12 * * * Every 12 hours, on the hour. */20 Every 20 minutes, Monday through Friday. * * * 1-5 0 9 1-7 * 1 First Monday of each month, at 9am. スケジュール済みアラートの時間範囲に対して [cron スケジュールを実⾏] を選択した場合、サーチに earliest および latest パラメータを指定する必要があります。ここに指定した値は、最初のサーチの実⾏時に設定された 時間範囲に優先します。 オーバーラップ/ギャップを避けるために、実⾏スケジュールはサーチの時間範囲と合わせることをお勧めしま す。たとえば、サーチを 20 分ごとに実⾏する場合、サーチの時間範囲も 20 分 (-20m) にしてください。 7 スケジュール済みアラートのベスト・プラクティス ここでは、スケジュール済みアラートのベスト・プラクティスを説明していきます。 アラートのスケジュールをサーチの時間範囲と合わせる アラートのスケジュールをサーチの時間範囲と合わせることで、サーチがイベント・データを 2 回評価すること を防⽌できます。これは、サーチの時間範囲がサーチのスケジュールを超えている場合に発⽣します (イベント・ データ・セットがオーバーラップする)。 サーチの時間範囲がスケジュール済みアラートの時間範囲よりも短い場合、いくつかのイベントが評価されないこ とがあります。 アラートを最低 6 0 秒の遅延時間でスケジュールする このことは、⽣成時にインデクサーにイベント・データが正しく到着しないことがある、分散サーチ環境の場合に 重要になります。遅延を設定することにより、先にインデックスが作成されたイベントだけでなく、すべてのイベ ントが正しくカウントされます。 ベスト・プラクティス例 この例は、アラート・スケジュールに 30 分の遅延を取り⼊れたアラートの設定⽅法を表しています。サーチ期間 とアラートのスケジュール間隔はどちらも 1 時間で、イベント・データの重複や漏れはありません。 アラートは、毎時間の 30 分に実⾏されます。サーチ実⾏の 1 時間半前から開始する、1 時間のイベント・データ を収集します。たとえば、スケジュール済みサーチを指定した時間の午後 3 時 30 分に開始した場合、午後 2 時 から午後 3 時までのイベント・データのインデックスが作成されます。 スケジュール済みアラートの設定⽅法を以下の⼿順に⽰します。 1. [サーチ] ページで、サーチを作成し [名前を付けて保存] > [アラート] を選択します。 2. [アラートとして保存] ダイアログで、アラートをスケジュールするために以下の項⽬を指定します。 タイトル :Alert Example (30 Minute Delay) アラート・タイプ :スケジュール済み 時間範囲 :Cron スケジュールを実⾏ もっとも早い :-90m もっとも遅い :-30 このように指定すると、サーチ対象時間範囲が、サーチ起動時の 90 分前から 30 分前までの期間に設 定されます。 Cron 式 :30 * * * * アラートは、毎時間の 30 分に実⾏されます。 3. [次へ] をクリックして、アラートのアクションを定義します。 同時スケジュール済みサーチの優先度の管理 デプロイ環境によっては、スケジュール済みサーチを 1 回に 1 つしか実⾏できない場合もあります。このような 制限がある場合に、複数のサーチがほぼ同じ時刻に実⾏するようにスケジュールすると、設定されている期間の データを収集するように、順番にサーチが実⾏されます。 ただし、特定のサーチを他のサーチよりも前に実⾏しなければならないようなこともあります。これには、サーチ が最新のデータを取得するため、または収集されたデータ内にギャップが発⽣しないようにするなどの理由が挙げ られます。 スケジュール済みサーチの優先度は、savedsearches.conf 設定ファイルに設定できます。詳細は、『レポート・マ ニュアル』の「スケジュール済みレポートの優先度の設定」を参照してください。 8 スケジュール済みアラートの⽣成条件の設定 スケジュール済みアラートの⽣成条件には、2 種類のカテゴリが存在しています。 基本条件アラート 詳細条件アラート 以降のトピックで説明するように、⽣成条件は [アラートとして保存] ダイアログの [⽣成条件] フィールドで設 定します。 基本条件アラート 基本条件アラート は、スケジュール済みサーチの結果数が、指定した数値と⼀致、下回る、または上回る場合に ⽣成されます。アラートの作成時には、以下の条件を指定できます。 結果数 ホスト数 ソース数 基本条件アラートの設定⽅法を以下の⼿順に⽰します。アラートは、結果内のホスト数が 12 を超えた場合に⽣成 されます。 1. [サーチ] ページで、サーチを作成し [名前を付けて保存] > [アラート] を選択します。 2. [アラートとして保存] ダイアログで、アラートをスケジュールするために以下の項⽬を指定します。 タイトル :Alert Example (Basic Conditional) アラート・タイプ :スケジュール済み 基本条件サーチに対して、[リアルタイム] を選択することもできます。 時間範囲 とスケジュール :任意の時間範囲とスケジュールを選択します。 ⽣成条件 :ホスト数 結果数またはソース数を選択することもできます。 結果数が次の場合に⽣成 :⽐較演算⼦と⽣成の契機となる値を指定します。 3. [次へ] をクリックして、アラートのアクションを定義します。 ローリング・ウィンドウ・アラート⽤の基本条件アラート ローリング・ウィンドウ・アラートの場合、基本条件アラートの動作が少し異なります。ローリング・ウィンド ウ・アラートの場合、設定条件を満たす結果がサーチのローリング・タイム・ウィンドウ内で発⽣した場合にア ラートが⽣成されます。 たとえば、60 秒の時間ウィンドウに 5 件以上の結果がある場合に⽣成される、ローリング・ウィンドウ・アラー トを定義することができます。リアルタイム・サーチである結果が返された後、その 5 分後にさらに 4 件の結果 が返されても、アラートは⽣成されません。60 秒の期間内に 5 件の結果が返された場合は、アラートが⽣成され ます。 詳細条件アラート 詳細条件アラート は、別に「カスタム条件」サーチを使⽤して、スケジュール済みサーチまたはリアルタイム・ サーチの結果を評価します。このアラートは、カスタム・サーチが任意の数の結果を返した場合に⽣成されます。 アラート条件を満たしていない場合、カスタム条件サーチは 0 件の結果を返します。 2 番⽬の条件サーチは、誤判定アラートの可能性を減らすために役⽴ちます。 詳細条件アラートの設定⽅法を以下の⼿順に⽰します。INFO 以外の、10 件以上のログ・レベル・イベントがあ る場合にアラートを⽣成します。アラートの⽣成時には、サーチの結果をメールで送信します。サーチ結果は、各 ログ・レベルのカウントを記述しています。 1. [サーチ] ページで、以下のサーチを作成します。期間としては [過去 7 ⽇間] を指定します。 index=_internal (log_level=ERROR OR log_level=FATAL OR log_level=CRITICAL) | stats count by log_level 2. [名前を付けて保存] > [アラート] を選択します。 3. [アラートとして保存] ダイアログで、アラートをスケジュールするために以下の項⽬を指定します。 9 タイトル :Alert Example (Basic Conditional) アラート・タイプ :スケジュール済み 詳細条件サーチに対して、[リアルタイム] を選択することもできます。 時間範囲 とスケジュール :任意の時間範囲とスケジュールを選択します。 ⽣成条件 :カスタム カスタム条件 :search count > 10 4. [次へ] をクリックします。 5. サーチの結果を記載したメールを送信するアクションを定義します。 サーチ結果を記載した [メール送信] アクションを設定した場合、メールにはオリジナルのベース・サーチ の結果が含まれます。カスタム・サーチの結果は記載されません。 基本条件サーチのベース・サーチを以下のように指定しても、同じ結果が得られるとお考えかもしれません。 log_level=ERROR OR log_level=FATAL OR log_level=CRITICAL) | stats count by log_level | search count > 10 しかし、このサーチに基づく基本条件アラートからは、別の結果が得られます。サーチ結果には、ログ・レベルの 値が 10 を超えるもののみが含まれます。詳細条件サーチからの結果は、すべてのログ・レベルのカウントを表し ていますが、ログ・レベルが 10 を超える場合にのみ⽣成されます。 ローリング・ウィンドウ・アラート⽤の詳細条件アラート ローリング・ウィンドウ・アラートの場合、リアルタイムに実⾏される詳細条件アラートの動作が少し異なりま す。ローリング・ウィンドウ・アラートの場合、設定条件を満たす結果がサーチのローリング・タイム・ウィンド ウ内で発⽣した場合にアラートが⽣成されます。 前の例では、同じベース・サーチを使ったローリング・ウィンドウ・アラートを利⽤して、カスタム条件サーチで 似たような結果を取得することができました。ローリング・ウィンドウの期間を 10 分に設定します。リアルタイ ム・サーチが 10 分間内に 10 件のログ・レベル・エントリを返した場合に、アラートを⽣成します。 スケジュール済みアラートのその他の例については、このマニュアルの「アラートの例」を参照してください。 ローリング・ウィンドウ・アラートの作成 ローリング・ウィンドウ内のイベントをリアルタイムにモニター、評価するには、ローリング・ウィンドウ・ア ラートを使⽤します。このアラートは、指定した期間内に⽣成条件を満たした場合にのみ⽣成されます。 ローリングウィンドウアラートは、結果単位アラートとスケジュール済みアラートのハイブリッド型とも⾔えるで しょう。ローリング・ウィンドウ・アラートと結果単位アラートは、両⽅ともリアルタイムに実⾏されます。しか し、結果単位アラートとは違い、ローリング・ウィンドウ・アラートは、サーチから結果が返された時に毎回⽣成 される訳ではありません。ローリング・ウィンドウ・アラートは、指定した時間ウィンドウ内に、指定した⽣成条 件を満たした場合にのみ⽣成されます。このことは、スケジュール済みアラートと似ています。 ローリング・ウィンドウ・アラートの作成 ローリング・ウィンドウ・アラートの作成⽅法を以下の⼿順に⽰します。 1. [サーチ] ページで、以下のサーチを作成します。時間範囲には、[過去 24 時間] を指定します。 index=_internal (log_level=ERROR OR log_level=WARN* OR log_level=FATAL OR log_level=CRITICAL) | stats count as log_events 2. [名前を付けて保存] > [アラート] を選択します。 3. [アラートとして保存] ダイアログで、以下の項⽬を指定します。 タイトル :アラートの例 (ローリング・ウィンドウ) アラート・タイプ :リアルタイム ⽣成条件 :結果数 結果数が次の場合に⽣成 :5 より⼤きい (次の値より⼤きい)。 in :30 分 10 4. [次へ] をクリックして、アラートのアクションを定義します。 ローリングウィンドウの幅の設定 ローリング・ウィンドウ・アラートの作成時には、リアルタイム・サーチ⽤ウィンドウの期間を指定します。リア ルタイム・サーチのウィンドウには、任意の分数、時間数、または⽇数を指定できます。 アラートは、ウィンドウを通過するイベントをモニターします。たとえば、10 分間にユーザーのログインが 4 回 失敗した時に⽣成されるアラートを作成できます。このアラートを実⾏した場合、このウィンドウ内をさまざまな ログイン失敗イベントが通過していきます。10 分間の期間内に同じユーザーが、4 回ログインを失敗した場合に のみ、このアラートが⽣成されます。あるユーザーが 3 回連続してログインを失敗した後、その 11 分後にもう ⼀度ログインを失敗した場合、アラートは⽣成されません。最初の 3 回の失敗と、4 番⽬の失敗は別の時間ウィ ンドウにあるからです。 ローリング・ウィンドウ・アラートの⽣成条件の設定 ローリング・ウィンドウ・アラートの⽣成条件には、2 種類のカテゴリが存在しています。 基本条件アラート 詳細条件アラート 以降のトピックで説明するように、⽣成条件は [アラートとして保存] ダイアログの [⽣成条件] フィールドで設 定します。 基本条件アラート 基本条件アラート は、指定した時間ウィンドウ内のサーチからの結果数が、指定した数値と⼀致、下回る、また は上回る場合に⽣成されます。アラートの作成時には、以下の条件を指定できます。 結果数 ホスト数 ソース数 ローリング・ウィンドウの基本条件アラートは、スケジュール済みアラートと同様の⽅法で作成します。例につい ては、「スケジュール済みアラートの⽣成条件の設定」を参照してください。 詳細条件アラート 詳細条件アラート は、別に「カスタム条件」サーチを使⽤して、スケジュール済みサーチまたはリアルタイム・ サーチの結果を評価します。ローリング・ウィンドウ・アラートの場合、指定した時間ウィンドウ内でサーチが任 意の数の結果を返した時にアラートが⽣成されます。アラート条件を満たしていない場合、カスタム条件サーチは 0 件の結果を返します。 2 番⽬の条件サーチは、誤判定アラートの可能性を減らすために役⽴ちます。 ローリング・ウィンドウの詳細条件アラートは、スケジュール済みアラートと同様の⽅法で作成します。例につい ては、「スケジュール済みアラートの⽣成条件の設定」を参照してください。 アラート機能の更新と拡張 Splunk Web の以下の場所からアラートを更新することができます。 [アラート] ページ [アラート] ページには、App 内で作成されたすべてのアラートのリストが表⽰されます。また、アラートを 編集するためのオプションが⽤意されています。アラートのエントリをクリックすると、そのアラートの詳 細ページが表⽰されます。 [アラートの詳細] ページ [アラートの詳細] ページには、アラートを更新するためのリンクが記載されています。ある場合は、⽣成さ れたアラートも記載されます。 [設定] アラートは⼀種の保存済みサーチです。保存済みサーチ、レポート、アラートは、[設定] の [サーチ、レ ポート、アラート] ビューで参照することができます。このビューでは、以下の作業を⾏えます。 11 新しいアラートを作成する。 既存のサーチに基づいてアラートを作成する。 アラートを変更する。 アラートを有効化/無効化する。 適切な権限がある場合、アラートを削除する。 [アラート] ページ [] ページには、App のすべてのアラートが表⽰されます。[アラート] ページは、App のトップ・レベルのメ ニューからアクセスできます。 [アラート] ページでは、以下の作業を⾏えます。 表⽰するアラートを指定する。 すべて :表⽰する権限があるすべてのアラートを表⽰します。 あなたの :⾃分が作成したアラートを表⽰します。 この App の :現在の App のアラートを表⽰します。 リストには、表⽰する権限のあるアラートのみが表⽰されます。 アラートをクリックすると、そのアラートの詳細ページが表⽰されます。 [サーチ] ページからアラートを開く。 アラートのサーチを表⽰または更新する場合にこの⽅法を使⽤します。以下の⼿順を参照してください。 [編集] メニューで、アラートの詳細を編集する。 以下の⼿順を参照してください。 [アラート] ページからアラートのサーチを変更する [サーチ] でアラートを開いて、アラートのサーチを変更することができます。 1. 2. 3. 4. 5. 6. [アラート] ページで、変更するアラートを探します。 アラートで、[サーチで開く] をクリックします。 表⽰される [サーチ] ページで、サーチを変更します。 変更したサーチを実⾏します。 [保存] をクリックして、アラートを更新します。表⽰されるダイアログで、[保存] をクリックします。 以下の項⽬から選択します。 アラートの表⽰ アラートの詳細ページを開きます。 編集の続⾏ [サーチ] ページに戻ります。 権限 アラートの権限を表⽰、変更します。 アラート詳細の更新 [アラート] ページでは、アラートの詳細を編集することができます。 1. [アラート] ページで、変更するアラートを探します。 2. アラートの [編集] をクリックして、変更する詳細を選択します。 表⽰される [アラートの編集] ダイアログで、アラートを更新します。 たとえば、[アクションの編集] を選択して [アラートの編集] ダイアログに表⽰されるアラート・アクショ ンを変更します。 3. [保存] をクリックして、次に [完了] をクリックします。 [アラートの詳細] ページ [アラートの詳細] ページから、アラートの編集ビューに移動できます。このページでは、サーチの変更や詳細の更 新を⾏えます。 [アラートの詳細] ページには、アラートの⽣成履歴も表⽰されます。 [アラートの詳細] ページからアラートのサーチを変更する [アラートの詳細] ページからアラートのサーチを変更することができます。 1. 2. 3. 4. 5. [アラートの詳細] ページで [編集] > [サーチで開く] を選択します。 表⽰される [サーチ] ページで、サーチを変更します。 変更したサーチを実⾏します。 [保存] をクリックして、アラートを更新します。表⽰されるダイアログで、[保存] をクリックします。 以下の項⽬から選択します。 アラートの表⽰ アラートの詳細ページを開きます。 編集の続⾏ [サーチ] ページに戻ります。 権限 アラートの権限を表⽰、変更します。 12 アラート詳細の表⽰と変更 [アラートの詳細] ページには、アラートの現在の設定が表⽰されています。以下の詳細情報を表⽰、変更すること ができます。 アラートが有効になっているかどうか アラートのタイプ、スケジュール済みまたはリアルタイム ⽣成条件 アクション 権限 アラートの⽣成履歴の表⽰ アラート・アクションとして [⽣成されたアラートに⼀覧表⽰] を指定した場合、[アラートの詳細] ページにはア ラートの⽣成履歴が表⽰されます。 ⽣成履歴から、⽣成されたアラートの結果を参照することができます。 また、アラート管理から⽣成履歴を参照することもできます。 アラート管理を開いて⽣成されたアラートを参照するには: 1. Splunk Enterprise メニュー・バーで、[アクティビティ] > [⽣成されたアラート] を選択します。 2. アラート管理で、App 、所有者 、重⼤度 、およびアラート 名に応じて結果をフィルタリングします。 3. アラート管理で以下の作業を⾏います。 結果を表⽰する。 サーチを編集する。 ⽣成されたアラートのリストを削除する。 詳細は、「⽣成されたアラートの確認」を参照してください。 [設定] からのアラートの更新 [設定] の [サーチ、レポート、アラート] ビューでは、情報を⼊⼒してアラートの作成や変更を⾏えます。[設定] でのみ利⽤できる、アラート変更⽤のフィールドもあります。⼀般的にアラートは、[サーチ] ページでサーチをア ラートとして保存することで作成します。また、⼀般的にアラートの変更は [アラート] ページおよび [アラートの 詳細] ページで⾏います。 ただし、[設定] でもアラートの作成、表⽰、更新を⾏えます。[設定] では、アラートの保持時間の定義、およびサ マリー・インデックスの有効化も⾏えます。保持時間は、⽣成されたアラートおよび関連する過去のサーチ結果 (ある場合) の記録を保持する期間を定義しています。サマリー・インデックスにより、総合的なサーチを⾼速に⾏ えます。 注意 :[設定] でのアラートの作成と編集は、上級ユーザー向けの機能です。 [設定] でアラートの⼀覧を表⽰するには: 1. [設定] > [サーチ、レポート、アラート] に移動します。 このビューには、すべての保存済みサーチとレポートが表⽰されます。アラートは⼀種の保存済みサーチで す。 2. [App コンテキスト] および [所有者] メニューを使って、サーチとレポートのリストをフィルタリングし ます。 [設定] からのアラートの作成 ここでは、[設定] からアラートを作成する⼿順を説明しています。 1. [設定] の [サーチ、レポート、アラート] ビューで、[新規] をクリックします。 新しいスケジュール済みサーチを作成するためのビューが表⽰されます。 2. 作成するスケジュール済みサーチの詳細を設定します。 3. [このサーチをスケジュール] をクリックして、アラートを作成します。 4. アラートの詳細を指定します。 ここの編集フィールドは、「アラートについて」、「結果単位アラートの作成」、「スケジュール済みア ラートの作成」、および「ローリング・ウィンドウ・アラートの作成」で説明されている編集フィールドに 対応しています。 5. [保存 ] をクリックします。 既存のサーチのアラートへの変換 既存のサーチを編集して、そのサーチに基づくアラートを作成することができます。 1. 2. 3. 4. [設定] の [サーチ、レポート、アラート] で、アラートを作成するサーチを探します。 サーチの名前をクリックします。 [このサーチをスケジュール] をクリックして、アラートを作成します。 アラートの詳細を指定します。 ここの編集フィールドは、「アラートについて」、「結果単位アラートの作成」、「スケジュール済みア ラートの作成」、および「ローリング・ウィンドウ・アラートの作成」で説明されている編集フィールドに 対応しています。 5. [保存 ] をクリックします。 [設定] からのアラートの変更 13 [設定] の [サーチ、レポート、アラート] ビューで、アラートの詳細を変更することができます。 1. 2. 3. 4. [設定] の [サーチ、レポート、アラート] で、変更するアラートを探します。 サーチの名前をクリックします。 [このサーチをスケジュール] をクリックして、アラートを作成します。 アラートの詳細を指定します。 ここの編集フィールドは、「アラートについて」、「結果単位アラートの作成」、「スケジュール済みア ラートの作成」、および「ローリング・ウィンドウ・アラートの作成」で説明されている編集フィールドに 対応しています。 5. [保存 ] をクリックします。 以下のアラート・プロパティはこのビューからのみ利⽤できます。 有効期限 サマリーインデックス 詳細は、「アラート保持期間の定義」および「アラートのサマリー・インデックスの有効化」を参照してくださ い。 アラート保持期間の定義 保持時間は、⽣成されたアラートおよび関連する過去のサーチ結果 (ある場合) の記録を保持する期間です。ア ラートの詳細ページでは、⽣成されたアラートのリストを参照することができます。 1. アラートを編集する場合、[有効期限] メニューで保持期間を選択します。 事前設定されている値を選択するか、または独⾃の時刻を指定します。 2. [⽣成されたアラートに⼀覧表⽰] チェックボックスが選択されていることを確認します。 ⽣成されたアラートを確認、管理するには、Splunk バーの右上にある [⽣成されたアラート] リンクをクリック して、アラート管理に移動します。詳細は、このマニュアルの「⽣成されたアラートの確認」を参照してくださ い。 アラートのサマリーインデックスの有効化 アラートのサマリー・インデックス を有効化することができます。サマリー・インデックスにより、レポートの 結果を個別のインデックスに書き込むことができます。これにより、総合的にサーチが⾼速化されます。「サマ リー・インデックスを使ったレポート効率の向上」を参照してください。 サマリー・インデックスを有効にするには、[サマリー・インデックス] セクションの [有効] チェックボッ クスをクリックします。 [アラート条件] が [常時] に変化します。アラートのサマリー・インデックスには条件を指定できません。 特定の条件下でのみアラートを⽣成したい場合は、アラートのサマリー・インデックスを無効にしてくださ い。 アラートアクションの設定 次のアラートアクションを有効にすることができます。 メール通知を送信する。 メール通知には、アラートに関連する情報を含めることができます。 スクリプトを実⾏する。 アラートの RSS 通知を有効にする。 アラートのサマリーインデックスを有効にする。 Splunk Enterprise 設定のアラートを追跡する。 メール通知 アラート⽣成時に、指定した受信者にメール通知を送信するように、アラートを設定できます。メール通知はマル チパート MIME メッセージで、HTML 部とテキスト部の両⽅が含まれています。 [サーチ] ページでアラートを保存する際に、アラートのメール通知アクションを設定します。[アラート] ページま たは直接サーチ・コマンドからメール通知を設定することもできます。 メール通知を送信する前に、[設定] でメール通知の設定を⾏う必要があります。「メール通知の設定」を参照して ください。 メール通知のコンテキスト メール通知を送信できるさまざまなコンテキストが存在しています。コンテキストに応じて、利⽤できるメールオ プションは異なります。 アラートアクション サーチからのアラートアクションとしてメール通知を送信します。[サーチ] ページまたは [アラート] ページ のリストから、またはサーチコマンドから直接通知をを指定します。 スケジュール済みレポート [レポート] ページのリストから、またはレポートから、スケジュール済みレポートのメール通知を設定しま す。 ダッシュボードのスケジュール済み PDF 配信 [ダッシュボード] ページのリストから、またはダッシュボードから PDF 配信を設定します。 14 このトピックは、サーチジョブからのアラートアクションを対象にしています。メール通知の他のコンテキストに 関する情報は、「レポートのスケジュールおよびダッシュボード PDF の⽣成」を参照してください。 アラートのメール通知の設定 メール通知の設定は、サーチの保存時に [サーチ] ページで⾏います。また、[アラート] ページに表⽰されている アラートのアクションを編修して、メール通知を設定することもできます。⼿順は、[サーチ] ページからの場合と 同じです。 [サーチ] ページでサーチを実⾏後、サーチをアラートとして保存して、メール通知設定を⾏います。 1. 2. 3. 4. サーチを実⾏します。 [名前を付けて保存] > [アラート] を選択します。 アラートに関する [タイトル] および他の情報を指定します。[次へ] をクリックします。 [メール送信] を選択します。 [メールアクション] ダイアログが表⽰されます。 5. 以下の事項を指定します。 [宛先] 、[CC] 、および [BCC] メール受信者。 メール受信者のカンマ区切りリストを指定します。 優先度 優先度の採⽤は、メールクライアントによって異なります。 件名 メッセージ [含める] 項⽬ 以下の項⽬を含めることができます。 サーチに関する情報 アラートへのリンク サーチ⽂字列 ⽣成条件 ⽣成時刻 サーチ結果に関する情報 結果へのリンク 結果のテーブル、raw イベント、または CSV ファイルとしてのインライン表⽰ PDF 添付ファイルとしての結果 CSV 添付ファイルとしての結果 6. 他のアラートアクションをを指定します。 「スクリプトの実⾏」 および「RSS フィードの作成」を参照してください。 7. [保存 ] をクリックします。 サーチコマンドからのメール通知の送信 sendemail サーチコマンドから直接メール通知を送信することができます。例: index=main | head 5 | sendemail [email protected] server=mail.example.com subject="Here is an email notification" message="This is an example message" sendresults=true inline=true format=raw sendpdf=true 詳細は『サーチリファレンス』マニュアルの sendemail コマンドの項⽬を参照してください。 メール通知内でのトークンの使⽤ トークンは、サーチジョブが⽣成したデータを表すある種の変数です。Splunk Enterprise には、サーチが⽣成し た情報をメールのフィールドに記⼊するために利⽤できる、さまざまなトークンが⽤意されています。 宛先 Cc Bcc 15 件名 メッセージ フッター トークンの値にアクセスするには、以下の構⽂を使⽤します。 $<token-name>$ たとえば、サーチジョブのサーチ ID を参照するには、件名フィールドに以下のトークンを指定します。 $job.sid$ からのサーチ結果 メール通知に利⽤できるトークン このセクションは、メール通知に使⽤できる⼀般的なトークンを記載しています。サーチが⽣成するデータにアク セスするトークンは、4 つのカテゴリに分けられます。トークンを使⽤するコンテキストが異なっています。 カテゴリ 説明 コンテキスト サーチメタデータ サーチに関する情報。 サーチからのアラートアクション スケジュール済みレポート ダッシュボードのスケジュール済み PDF 配 信 サーチ結果 サーチ結果へのアクセス サーチからのアラートアクション スケジュール済みレポート ジョブ情報 サーチジョブ固有のデータ サーチからのアラートアクション スケジュール済みレポート サーバー情報 Splunk Enterprise サーバーに関する情 報 サーチからのアラートアクション スケジュール済みレポート ダッシュボードのスケジュール済み PDF 配 信 このトピックに記載している⼀般的なトークンの他に、savedsearches.conf および alert_action.conf 設定ファイル には、トークンから値を利⽤できる属性が記載されています。これらの属性の値を利⽤するには、各属性をトーク ン区切り⽂字「$」で囲んで指定します。たとえば、メール通知の件名にアクセスするには、savedsearches.conf に 記載されている以下の属性を参照します。 $action.email.subject$ サーチメタデータにアクセスするトークン サーチに関する情報にアクセスする⼀般的なトークン。これらのトークンは、以下のコンテキストで利⽤すること ができます。 アラートアクション スケジュール済みレポート ダッシュボードのスケジュール済み PDF 配信 ⼀般的に利⽤可能なトークンを以下に⽰します。 トークン 説明 $action.email.hostname$ メールサーバーのホスト名。 $action.email.priority$ サーチの優先度。 $app$ サーチがある App 名。 $cron_schedule$ App の Cron スケジュール。 $description$ サーチの説明。 $name$ サーチの名前。 $next_scheduled_time$ 次回のサーチ実⾏時刻。 $owner$ サーチの所有者。 $results_link$ (アラートアクションとスケジュール済みレポートのみ) サーチ結果へのリンク。 $search$ 実際のサーチ。 $trigger_date$ (アラートアクションのみ) アラートの⽣成⽇。 $trigger_time$ (アラートアクションのみ) スケジュールされているアラー ト実⾏の時刻。 $type$ サーチがアラート、レポート、ビュー、またはサーチコマン ドからのものかどうかを⽰します。 $view_link$ 保存済みレポートを表⽰するためのリンク。 16 $alert.severity$ アラートの重⼤度レベル。 $alert.expires$ アラートの失効時刻。 結果から利⽤できるトークン 結果から、result.<fieldname> トークンを使って、サーチ結果内の指定フィールドの最初の値にアクセスすること ができます。このトークンは、以下のコンテキストで利⽤することができます。 アラートアクション スケジュール済みレポート トークン $result.fieldname$ 説明 サーチ内の最初の結果から、指定したフィールド名の最初の 値を返します。フィールド名は、サーチ内に存在していなけ ればなりません。 ジョブ情報にアクセスするトークン サーチ ID やサーチジョブが⽣成したメッセージなどの、サーチジョブ固有のデータにアクセスする⼀般的なトー クンです。これらのトークンは、以下のコンテキストで利⽤することができます。 アラートアクション スケジュール済みレポート トークン 説明 $job.earliestTime$ サーチジョブ開始の初期時刻。 $job.eventSearch$ サーチのどの変換コマンドよりも前の部分を含む、サーチの サブセット。 $job.latestTime$ サーチジョブに記録されたもっとも遅い時間。 $job.messages$ サーチジョブが⽣成した、エラーおよびデバッグメッセージ のリスト。 $job.resultCount$ サーチジョブが返した結果数。 $job.runDuration$ サーチ完了までにかかった時間 (秒)。 $job.sid$ サーチ ID。 $job.label$ サーチジョブに与えられた名前。 サーバーから利⽤できるトークン Splunk Enterprise サーバーから利⽤できる詳細情報を提供する⼀般的なトークン。これらは以下のコンテキスト で利⽤できます。 アラートアクション スケジュール済みレポート ダッシュボードのスケジュール済み PDF 配信 トークン 説明 $server.build$ Splunk Enterprise インスタンスのビルド番号。 $server.serverName$ Splunk Enterprise インスタンスのサーバー名。 $server.version$ Splunk Enterprise インスタンスのバージョン番号。 廃⽌予定のメール通知トークン 前のリリースの Splunk Enterprise からの、以下のトークンは廃⽌予定です。 トークン 説明 $results.count$ (廃⽌予定) $job.resultCount$ を使⽤してください。 $results.url$ (廃⽌予定) $results_link$ を使⽤してください。 $results.file$ (廃⽌予定) 代わりに利⽤できるトークンはありません。 $search_id$ (廃⽌予定) $job.id$ を使⽤してください。 メール通知の設定 17 アラートのメール通知を送信する前に、メール通知の設定を⾏います。メール通知を設定するに は、alert_actions.conf 設定ファイルを編集するか、または Splunk Web を使⽤します。 設定ファイルでメールアラート設定を⾏うには、alert_actions.conf を参照してください。 Splunk Web からメールアラートを設定します。 1. Splunk Web で、[設定] > [システム設定] > [メール設定] を選択します。 2. [メールサーバー設定] を選択します。 メールホスト デフォルトは、localhost です。PDF 配信をスケジュールするには、ユーザーロールの設定を⾏う必 要があります。「ダッシュボードの PDF 配信をスケジュールするためのユーザーロール設定」を参照 してください。 メールのセキュリティ ユーザー名 パスワード ユーザー名とパスワードは省略することができます。メール通知の設定で、これらのフィールドを指 定する必要はありません。 3. メール形式 を指定します。 リンクホスト名 送信する結果⽤の URL を作成するサーバーのホスト名。 これは、PDF レポートサーバーにリクエストを送信するインスタンスのサーチヘッドホスト名でもあ ります。アドバンスト XML で作成されたダッシュボードを出⼒するには、リモート PDF レポート サーバーを使⽤します。このオプションは、Splunk がご利⽤の環境のホスト名を不適切に⾃動検出す る場合にのみ設定してください。アドバンスト XML を使ったダッシュボードとフォームを参照してく ださい。 メールの送信形式 メールの差出⼈フィールド。 メールフッター 各メールのフッターとして追加されるテキスト。メールフッター内にトークンを指定することができ ます。「メール通知内でのトークンの使⽤」を参照してください。 4. [PDF レポート設定] を指定します。 レポート⽤紙サイズ レポート⽤紙の向き 5. [保存 ] をクリックします。 ダッシュボードの PDF 配信をスケジュールするためのユーザーロール設定 ダッシュボードの PDF 配信をスケジュールするには、ユーザーロールに次の権限が必要です。 schedule_search admin_all_objects この権限は、メール・ホストがログイン資格情報を要求する場合にのみ必要です。 「権限を持つロールの定義について」を参照してください。 スクリプトを実⾏ アラート⽣成時に、アラート・スクリプトを実⾏することができます。[アクションを有効にする] で [スクリプ トを実⾏] を選択します。実⾏するスクリプトのファイル名を⼊⼒します。 たとえば、SNMP トラップ通知を⽣成し、それをネットワーク・システム管理コンソールなどの他のシステムに 送信するスクリプトを実⾏することができます。また、API を呼び出すスクリプトを実⾏し、⽣成の契機となるイ ベントを他のシステムに送信するアラートを設定することもできます。 注意: セキュリティ上の理由から、アラート・スクリプトはすべて、以下の場所に配置する必要がありま す。 $SPLUNK_HOME/bin/scripts $SPLUNK_HOME/etc/<AppName>/bin/scripts を使ったアラートスクリプト設定と、作成したシェルスクリプトやバッチファイルとを連携さ せる⽅法については、このマニュアルの「スクリプトアラートの設定」を参照してください。 savedsearches.conf アラート・スクリプトに関する問題がある場合は、Splunk Community Wiki にあるアラート・スクリプトのトラ ブルシューティングに関するトピックを参照してください。 ⽣成されたアラートをアラート管理に表⽰ アラート管理で⽣成されたアラートを表⽰するには、[⽣成されたアラートに⼀覧表⽰] アクションを選択しま す。アラート管理には、24 時間または指定した期間に⽣成されたアラートの詳細が表⽰されます。このマニュア ルの「⽣成されたアラートの確認」を参照してください。 追跡しているアラートへの重⼤度レベルの割り当て ⽣成されたアラートを表⽰する場合、重⼤度 レベルを指定することができます。重⼤度レベルは単なる参考情報 です。重⼤度レベルに応じて、アラート管理内のアラートをグループ化、強調表⽰することができます。アラート 18 に適⽤するレベルを指定することができます。 以下の重⼤度レベルを選択することができます。デフォルトは [中] です。 情報 低 中 ⾼ 致命的 RSS フィードの作成 アラート通知の RSS フィードを追加することができます。アラートの⽣成時、アラートは RSS フィードへの通 知を⽣成します。RSS フィードを⽣成するには、最低 1 回アラートが⽣成される必要があります。 このアラート・アクションは、[設定] からのみ利⽤できます。 アラートを RSS フィードに投稿するには: 1. 2. 3. 4. 5. 6. [設定] > [サーチ、レポート、アラート] に移動します。 更新するアラートを選択します。 [アラート・アクション] に移動します。 [RSS に追加] で [有効] を選択します。 [設定] > [サーチ、レポート、アラート] に戻ります。 [RSS フィード] アイコンをクリックして、フィードを購読します。 フィードを購読するには、さまざまなオプションが⽤意されています。 [RSS に追加] アクションを設定したアラートが⽣成されると、RSS フィードへの通知が⽣成されます。フィード は、以下の場所にあります。 http://[splunkhost]:[port]/[locale]/rss/[alert_name] たとえば、マシン名が「MyHost」のポート 8000 を使⽤する Splunk Enterprise インスタンスにある、アラート 名「Errors in the last 24 hours」の RSS フィードの場所は以下のようになります。 http://MyHost:8000/en-US/rss/Errors%20in%20the%20last%2024%20hours。 [設定] > [サーチ、レポート、アラート] で、[RSS フィード] アイコンをクリックして、RSS フィードを購読し ます。 警告: RSSフィードは、それを表⽰する Web サーバーにアクセスできる任意のユーザーが利⽤できます。 権限のないユーザーは、RSS リンクをたどって特定のサーチの結果を参照することができません。ただし、 権限のないユーザーでも、RSS フィードに表⽰されるサマリーを参照することは可能です。サマリーには、 実⾏されたサーチ名、およびサーチで返された結果数が含まれています。 フィードを⽣成する XML の例を以下に⽰します。 <?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"> <channel> <title>Alert: errors last15</title> <link> http://localhost:8000/app/search/@go?sid=scheduler_Z2d1cHRh </link> <description>Reports Feed for report errors last15</description> <item> <title>errors last15</title> <link> http://localhost:8000/app/search/@go?sid=scheduler_Z2d1cHRh </link> <description> Alert trigger: errors last15, results.count=123 </description> <pubDate>Mon, 01 Feb 2010 12:55:09 -0800</pubDate> </item> </channel> </rss> サーチ⾔語によるアラートに表⽰するフィールドの指定 Splunk がアラートサーチジョブの結果を提供する場合 (たとえば、メールで)、そこには結果のすべてのフィール 19 ドが含まれています。結果に特定のフィールドを⼊れる、または結果から特定のフィールドを除外する場合は、ア ラートのベースサーチで fields コマンドを使⽤します。 サーチ結果からフィールドを除外するには、サーチを fields サーチ結果にフィールドを追加するには、サーチを fields + にパイプ⽂字で渡します。 にパイプ⽂字で渡します。 - $FIELDNAME $FIELDNAME 単⼀の⽂字列に、複数の⼊れる/除外するフィールドを指定できます。たとえば、以下のようなサーチを指定でき ます。 yoursearch | fields - $FIELD1,$FIELD2 + $FIELD3,$FIELD4 これは、$FIELD1 と $FIELD2 を除外し、$FIELD3 と を⼊れるアラートを⽣成します。 $FIELD4 [設定] でサマリーインデックスを有効にする サマリーインデックスは、[設定] > [サーチとレポート] で任意のアラートに対して設定できるアクションです。 ⻑期にわたる⼤量のデータの分析/レポート作成には時間がかかり、また複数のユーザーが定期的に類似のサーチ を実⾏する場合、パフォーマンスも低下してしまいます。このような場合は、サマリーインデックスを使⽤しま す。 サマリーインデックスを利⽤して、時間スライスをカバーした イベントの統計情報を算出するサーチをベースに したアラートを作成します。サーチの実⾏時には、サーチ結果を指定したサマリーインデックスに保存するように 設定します。次に、サマリーインデックスがイベントを受け取る巨⼤なデータ セットではなく、この⼩さな (そし て⾼速な) サマリーインデックスに対してサーチを実⾏できます。 注意: すでにレポート⾼速化を利⽤しているサーチに、サマリーインデックスを使⽤する必要はありません。低 速なサーチを⾼速化するこれらの 2 種類の⽅法の違いについては、『Knowledge Manager Manual』の「About report acceleration and summary indexing」を参照してください。 アラートのサマリーインデックスを設定するには、[設定] > [サーチとレポート] に移動して、新しいレポートを 追加するか、または既存のサーチまたはアラートの詳細ページを表⽰します。([アラートの作成] ウィンドウから サマリーインデックスを設定することはできません。)データを定期的に収集するサマリーインデックスを有効に するには、[アラート条件] に [常時] を設定し、ビューの下部にある [サマリーインデックス] で [有効] を選択 します。 注意: サマリーインデックスを使⽤するサーチを適切に作成するためには、さまざまな注意を払う必要がありま す。たいていの場合は、特別なレポートコマンドを使⽤する必要があります。『Knowledge Manager manual』の「Use summary indexing for increased reporting efficiency」を参照し、完全に理解し ない限り、サマリーインデックスは設定しないでください。 アラートの例 この章では、各種タイプのアラートの作成例を⽰します。 スケジュール済みアラート リアルタイムアラート カスタム条件アラート スケジュール済みアラート スケジュール済みアラートは、スケジュールされた時間に定期的に実⾏され、アラートを⽣成する条件に対して応 答します。 この例は、サーチを使って過去 24 時間に Splunk Enterprise インスタンスでエラーが多く発⽣するような状況 を追跡します。エラー数が 5 を超えた場合、アラートが⽣成されその状況を知らせる情報がメールで送信されま す。エラー数が閾値を超えた場合、午前 10 時にメールが送信されます。 1. [サーチ] ページで、以下のサーチを作成します。 index=_internal " error " NOT debug source=*splunkd.log* earliest=-24h latest=now 2. [名前を付けて保存] > [アラート] をクリックします。 3. [アラートとして保存] ダイアログのフィールドに、以下の値を指定します。 タイトル :Errors in the last 24 hours アラートタイプ :スケジュール済み 時間範囲 :毎⽇実⾏ スケジュール: 10:00 ⽣成条件 :結果数 結果数が次の場合に⽣成 :5 より⼤きい (次の値より⼤きい)。 20 4. [次へ] をクリックします。 5. [メール送信] をクリックします。 6. [件名] および [メッセージ] フィールドにトークンを使⽤する、以下のメール設定を⾏います。 宛先 :メールの受信者 優先度 :標準 件名 :Too many errors alert:$name$ メッセージ :There were $job.resultCount$ errors reported on $trigger_date$. 含める :[アラートにリンク] および [結果にリンク] その他のオプションはデフォルトを使⽤します。 トークンの詳細は、「メール通知内でのトークンの使⽤」を参照してください。 7. [保存 ] をクリックします。 アラートを作成したら、[アラート] ページでアラートを参照、編修することができます。 アラートが⽣成されたら、以下のメールが送信されます。 21 リアルタイムアラート アラートを⽣成した条件をタイムリーに知りたい場合に、リアルタイムアラートを設定することができます。リア ルタイムアラートの設定⼿順は、スケジュールアラートと同様ですが、タイムリーに通知するためにいくつかの作 業が異なっています。 この例では、サーチの時間範囲は指定しないでください。リアルタイムアラートは、サーチの実⾏時期を指定しま す。 1. [サーチ] ページで、以下のサーチを作成します。 index=_internal " error " NOT debug source=*splunkd.log* 2. [名前を付けて保存] > [アラート] をクリックします。 3. [アラートとして保存] ダイアログのフィールドに、以下の値を指定します。 タイトル :Errors reported (Real-time) アラートタイプ :リアルタイム ⽣成条件 :結果数 結果数が次の場合に⽣成 :1 分間に 5 より⼤きい (次の値より⼤きい)。 4. [次へ] をクリックします。 5. [メール送信] をクリックします。 6. [件名] および [メッセージ] フィールドにトークンを使⽤する、以下のメール設定を指定します。 宛先 :メールの受信者 優先度 :標準 件名 :Real Time Alert:$name$ メッセージ :There were $job.resultCount$ errors. 含める :[アラートにリンク]、[結果にリンク]、[⽣成条件]、および [⽣成時刻]。 その他のオプションはデフォルトを使⽤します。 トークンの詳細は、「メール通知内でのトークンの使⽤」を参照してください。 22 7. [保存 ] をクリックします。 アラートを作成したら、[アラート] ページでアラートを参照、編修することができます。 ⽣成条件の変更 ⽣成条件に指定した時間よりもサーチの実⾏に時間がかかる場合、アラートの⽣成に失敗する可能性があります。 必要に応じて⽣成条件を変更してください。 前のリアルタイムアラートの例で、サーチの実⾏に 1 分以上の時間がかかる場合を考えてみましょう。アラート が正しく⽣成されるように、⽣成条件の期間を 10 分間に変更します。 抑制設定の変更 ⼀部のサーチでは、アラートの⽣成を設定した期間中に、⽣成条件を満たす状況が多数発⽣することもあります。 リアルタイムアラートの場合、そのせいでメールの受信箱の容量では対応しきれないほどの、膨⼤なメール通知が ⾏われる可能性があります。メール数を制限するには、抑制機能を使⽤します。前のリアルタイムアラートの例 で、アラートアクションの設定時に、アラートを⽣成するまでに妥当な待機時間を指定します。例: 1. [アラートの編修] ダイアログで、[抑制] をクリックします。 2. [次に対する⽣成を抑制] に、10 分間を指定します。 カスタム条件アラート アラートの作成時には、アラートの⽣成条件を指定します。[アラートの編修] ダイアログでは、以下の⽣成条件を 選択することができます。 結果あたり サーチが結果を返した時に⽣成されます。 結果数 サーチが指定した数の結果を返した時に⽣成されます。 ホスト数 サーチが指定した数のホストを返した時に⽣成されます。 ソース数 サーチが指定した数のソースを返した時に⽣成されます。 カスタム カスタムサーチ条件を満たした時に⽣成されます。 カスタムサーチ条件のアラートの作成⽅法を以下の例に⽰します。この例は、すべてのエラーをチェックするベー スサーチを使⽤しています。⽣成条件は、タイプが WARNING (警告) のエラーが発⽣した場合です。アラートア クションは、⽣成されたアラートを⼀覧表⽰します。 1. [サーチ] ページで、以下のサーチを作成します。 23 index=_internal source="*splunkd.log" ( log_level=ERROR OR log_level=WARN* OR log_level=FATAL OR log_level=CRITICAL) 2. [名前を付けて保存] > [アラート] をクリックします。 3. [アラートとして保存] ダイアログのフィールドに、以下の値を指定します。 タイトル :Warning Errors アラートタイプ :リアルタイム ⽣成条件 :カスタム カスタム条件 :search log_level=WARN* in 1 minute 4. [次へ] をクリックします。 5. [⽣成されたアラートに⼀覧表⽰] をクリックします。 6. [保存 ] をクリックします。 アラートを作成したら、[アラート] ページでアラートを参照、編修することができます。アラートが⽣成さ れたら、[アラート] ページの [⽣成履歴] セクションにアラートが表⽰されます。 ⽣成されたアラート 最近⽣成されたアラート の記録は、[アラート管理] で参照できます。以下の条件を満たしている場合に、⽣成さ れたアラートがアラート管理に表⽰されます。 アラートの [⽣成されたアラートに⼀覧表⽰] アクションが有効になっている。 最近アラートが⽣成された。 アラートの保持期間を過ぎていない。 ⽣成されたアラートのリストが削除されていない。 アラート管理を開く アラート管理は、Splunk Web のメニューから利⽤できます。アラート管理の⽣成されたアラートのリストに は、以下の詳細情報が記載されています。 時間 :アラートの⽣成時刻。 ⽣成されたアラート :アラート名。 App :アラートの App。 タイプ :リアルタイムまたはスケジュール済み 重⼤度 :重⼤度レベル。 モード :ダイジェストまたは結果単位。ダイジェストの場合、アラートは⼀連のイベントを表しています。 結果単位は単⼀のイベントを表しています。 アクション :アラートの結果表⽰、ベース・サーチの編集、⽣成されたアラート・リストの削除を⾏うため のリンク。 アラート管理を開くには : 1. Splunk Enterprise メニュー・バーで、[アクティビティ] > [⽣成されたアラート] を選択します。 アラート管理に、⽣成されたアラートが表⽰されます。 2. アラート管理で、App 、所有者 、重⼤度 、およびアラート 名に応じて結果をフィルタリングします。 3. (オプション) キーワード・サーチを使って、アラート名またはアラートがある App 名で、⽣成されたア ラートを検索します。 4. (オプション) アラート管理で以下の作業を⾏います。 結果を表⽰する。 アラートのサーチを編集する。 ⽣成されたアラートのリストを削除する。 アラート管理でアラートの表⽰を有効にする アラートのアクションを有効/無効にするには、さまざまな⽅法があります。アラートをアラート管理に表⽰する には、[⽣成されたアラートに⼀覧表⽰] アクションを有効にします。 24 このアクションを有効にするダイアログは、さまざまな状況で表⽰されます。 アラートの作成時。 [アラート] ページのアラートリストで、[編集] > [アクションの編集] を選択する。 [アラートの詳細] ページで、[アクション] の [編集] を選択する。 [設定] > [サーチ、レポート、アラート] で、アラート名をクリックする。[⽣成されたアラートに⼀覧表 ⽰] チェックボックスまでスクロールします。 アラートの表⽰設定時には、アラートの重⼤度 を指定します。重⼤度レベルは単なる参考情報です。重⼤度レベ ルに応じて、アラート管理内のアラートをグループ化、強調表⽰することができます。 アラートの保持 デフォルトでアラート管理は、⽣成されたアラートのリストを 24 時間保持します。[設定] で、アラートの保持期 間をカスタマイズすることができます。保持期間を過ぎたら、アラート管理でそのアラートは利⽤できなくなりま す。 アラート管理から⼿動でアラートのリストを削除することもできます。 アラートの保持期間をカスタマイズするには: 1. 2. 3. 4. Splunk Enterprise メニュー・バーで、[設定] > [サーチ、レポート、アラート] を選択します。 リストで、変更するアラートの [サーチ名] をクリックします。 表⽰されたダイアログで、[有効期限] メニューにスクロールします。 メニューから事前設定されている項⽬を選択するか、または [カスタム] を選択して独⾃の有効期限を設定 します。 設定 [有効期限] は、[⽣成されたアラートに⼀覧表⽰] アクションを有効にしたアラートにのみ適⽤されま す。 5. [保存 ] をクリックします。 ⽣成されたアラートの削除 アラート管理からリストの⽣成されたアラートを削除するには、さまざまな⽅法があります。 保持期間を指定する ⽣成されたアラートは、保持期間経過後に削除されます。「アラートの保持」を参照してください。 ⽣成されたアラートのリストを⼿動で削除する リストから 1 つまたは複数のアラートを選択して、[削除] をクリックします。リストの [削除] リンクをク リックして、個別のアラートを削除できます。 25 アラートを無効にする アラートを無効にすると、アラート管理の⽣成されたアラート・リストに記載されているすべての項⽬が削 除されます。また、[アラートの詳細] ページの表⽰項⽬も削除されます。アラートは [設定]、[アラート] ページ、および [アラートの詳細] ページから無効にすることができます。 .conf ファイルによるアラートの⼿動設定 savedsearches.conf 内のアラート設定 savedsearches.conf でアラートを作成、設定することができます。 注意: 設定ファイルを使ったアラートの設定は、Splunk Enterprise 設定ファイルの編集を熟知している⾼ 度なユーザー向けの⽅法です。また、このマニュアルに記載されているアラート機能も熟知している必要が あります。 『管理マニュアル』の「設定ファイルについて」およびこのマニュアルの「アラートについて」を参照して ください。 以下のファイルには、設定ファイルへのサーチやアラートの定義例が含まれています。 $SPLUNK_HOME/etc/system/README/savedsearches.conf.example 以下のローカル・ディレクトリに savedsearches.conf を作成、または編集します。 $SPLUNK_HOME/etc/system/local/ App の場合、以下のカスタム・アプリケーション・ディレクトリ内に す。 savedsearches.conf を作成、または編集しま $SPLUNK_HOME/etc/apps/ savedsearches.conf にアラートを定義する基本⼿順を以下に⽰します。 1. レポートを作成します。 基本的にレポートは、保存済みサーチです。アラートはレポートの作成時に設定するか、または後ほど savedsearches.conf にアラート設定を追加します。 2. レポートのスケジュールを設定します。 3. アラートの⽣成条件を定義します。 4. アラート・アクションを設定します。 アラートのメール通知を設定する場合、[設定] でメール通知の設定を⾏います。「メール通知の設定」を参 照してください。 レポートの作成 サーチまたはピボットをレポートとして保存、または savedsearches.conf に新しいスタンザを設定することで、レ ポートを作成します。サーチをアラートとして保存する際にも、レポートを作成します。「Splunk Web からの アラートの作成」および「レポートの作成と編集」を参照してください。 ファイルには、各保存済みレポートのスタンザが含まれています。このスタンザには、保存済 みレポートのアラートを定義する属性が記載されています。保存済みサーチのスタンザの例を以下に⽰します。ス タンザ内には、このサーチのアラートを定義する属性が設定されています。 savedsearches.conf [Too Many Errors Today] # send an email notification action.email = 1 action.email.message.alert = The alert condition for '$name$' in the $app$ fired with $job.resultCount$ error events. action.email.reportServerEnabled = 0 action.email.to = [email protected] action.email.useNSSubject = 1 alert.suppress = 0 alert.track = 0 counttype = number of events quantity = 5 relation = greater than # run every day at 14:00 cron_schedule = 0 14 * * * #search for results in the last day dispatch.earliest_time = -1d dispatch.latest_time = now 26 display.events.fields = ["host","source","sourcetype","latitude"] display.page.search.mode = verbose display.visualizations.charting.chart = area display.visualizations.type = mapping enableSched = 1 request.ui_dispatch_app = search request.ui_dispatch_view = search search = index=_internal " error " NOT debug source=*splunkd.log* earliest=-7d latest=now disabled = 1 レポートのスケジュール を編集、または Splunk Web でレポートを設定することで、レポートをスケジュールできま す。ここでは、savesearches.conf の編集について説明していきます。Splunk Web を使ったレポートのスケジュー ル⽅法については、『レポート・マニュアル』の「レポートのスケジュール」を参照してください。 savesearches.conf savesearches.conf でレポートをスケジュールするには、レポート⽤のスタンザに以下の属性を追加します。 属性 タイプ enableSched ⽂字列 デフォルト false 説明 レポートのスケジュールを有効にします。 レポートを実⾏するための cron スケジューラ。 以下の cron スケジュールは、レポートのサーチを 5 分ごと に実⾏します。 */5 * * * * cron_schedule テキスト – 以下の cron スケジュールは、結果単位サーチまたはローリ ング・ウィンドウのリアルタイム・サーチを⽰しています。 * * * * * 詳細は、「cron 表記」を参照してください。 サーチの時間ウィンドウを設定します。 リアルタイム・サーチの場合: 結果単位の場合 rt を使⽤します。例: dispatch.earliest_time = rt dispatch.earliest 時間修飾 dispatch.latest ⼦ dispatch.latest_time = rt – ローリング・ウィンドウ・アラートの場合 を使⽤します。例: rt-[#][unit] dispatch.earliest_time = rt-30m dispatch.latest_time = rt-0m 詳細は、「時間修飾⼦の指定」を参照してください。 max_concurrent 整数 1 同時に実⾏できるレポートの最⼤インスタンス数。 savedsearches.conf への基本/詳細アラート条件の設定 アラートの⽣成条件は、2 種類のカテゴリに分けられます。どちらのタイプのアラートも、savedsearches.conf に 設定することができます。 基本条件アラート サーチ結果が、イベント、ソース、またはホスト数の閾値を超えた場合にアラートを⽣成します。 詳細条件アラート スケジュール済みレポートの結果に対して評価される、条件サーチの結果に基づいてアラートを⽣成しま す。条件サーチが 1 つ以上のイベントを返した場合に、アラートが⽣成されます。 基本条件アラートの設定 savedsearches.conf 属性 に基本条件アラートを設定するには、以下の属性を組み合わせて使⽤します。 タイプ デフォルト 説明 アラートのカウントタイプを設定します。 可能な値: 27 counttype テキスト always counttype のデフォルト値。スケジュール済みレポートの実⾏ 時に毎回アラートを⽣成します。この値を結果単位アラートに 使⽤します。結果単位アラートは、条件付きではありません。 number of events number of hosts number of sources custom 詳細条件アラートを設定します。 – counttype および quantity の⽐較因⼦。 可能な値: relation ⽂字列 – quantity 整数 – greater than less than equal to drops by rises by アラートを⽣成する数値。counttype および ます。 quantity と⼀緒に使⽤し たとえば、スケジュール済みレポートの結果が前回のレポート実⾏よりも 25 上昇した場合にアラートを⽣成する には、以下のように指定します。 counttype = number of events relation = rises by quantity = 25 これらの設定を⼀緒に使⽤する場合の例外は、スケジュール済みレポートの実⾏時に毎回アラートを⽣成する場合 です。この場合は、counttype 属性のみを使⽤します。 counttype = always 詳細は、「スケジュール済みアラートの⽣成条件の設定」を参照してください。 詳細条件アラートの設定 savedsearches.conf 属性 に詳細条件アラートを設定するには、以下の属性を使⽤します。 タイプ デフォルト 説明 アラートを⽣成するための、カスタム・サーチ⽂字列。 alert_condition ⽂字列 – サーチ⽂字列は、アラートを⽣成するかどうかを判断するため の、レポート・ジョブの結果に対する⼆次サーチです。アラー トは、⼆次サーチが空ではないサーチ結果リストを返した場合 に⽣成されます。 を指定した場合、counttype には「custom」を 設定します。基本条件アラートには、他の属性 relation および quantity を使⽤しないでください。 alert_condition アラートのカウントタイプを設定します。 counttype ⽂字列 – を指定した場合、counttype には「custom」を 設定します。基本条件アラートには、他の属性 relation および quantity を使⽤しないでください。 alert_condition 例: counttype = custom alert_condition = [search string] 詳細は、「スケジュール済みアラートの⽣成条件の設定」を参照してください。 アラートアクションの設定 以下のアラート・アクションを設定するには、savedserches.conf で ションには、設定可能なパラメータが含まれています。 28 action 属性を使⽤します。各アラート・アク action.email メール通知を送信します。 action.rss RSS フィードに書き込みます。 action.script スクリプトを実⾏します。 アラート・アクションのグローバルなデフォルト値は、alert_actions.conf に設定されています。savedsearches.conf のデフォルトに優先する設定を⾏えます。 アクションを有効/無効にするには、以下の構⽂を使⽤します。 action.<action_name> = [0 | 1] # 0 disables, 1 enables the action アクションのパラメータを設定するには、以下の構⽂を使⽤します。 action.<action_name>.<parameter> = <value> すべてのアラートアクションに対するグローバルなデフォルト値は、alert_actions.conf に設定されていま す。savedsearches.conf で、保存済みレポートのデフォルトに優先する設定を⾏えます。 action.email アクションは、アラートの⽣成時にメール通知を送信します。action.email の設定パラメータの例を 以下に⽰します。 action.email . . . # send an email notification action.email = 1 action.email.message.alert = The alert condition for '$name$' in the $app$ fired with $job.resultCount$ error events. action.email.reportServerEnabled = 0 action.email.to = [email protected] action.email.useNSSubject = 1 . . . パラメータ タイプ デフォルト 説明 通知するメール・アドレスのカンマ区切りリ スト。 action.email.to メール・ リスト action.email.from テキスト Splunk テキスト Splunk アラート: $name$ action.email.subject – alert actions.conf にこれのデフォルト値を設 定することはできません。 メール通知の差出⼈メール・アドレス。 メール通知の件名です。 false メールに結果を含めます。結果は添付するこ とも、メール本⽂に記載することも可能で す。action.email.inline パラメータを参照し てください。結果には、ベース・サーチの結 果のみが含まれます。⼆次条件サーチの結果 は含まれません。 メール・ リスト – ベース・サーチの結果を、メール通知の本⽂ に記載します。 action.email.server テキスト localhost アラート・メールを送信する SMTP サーバー のアドレス。 email.preprocess_results サーチ⽂ 字列 空⽂字列 メール通知送信前に、結果を前処理するため のサーチ⽂字列。不要なフィールドをフィル タリングする場合に、このパラメータを使⽤ します。 action.email.sendresults 論理値 action.email.inline action.rss RSS フィードを有効にするアラートを設定できます。アラートの⽣成時、アラートは RSS フィードへの通知を⽣ 成します。RSS フィードを⽣成するには、最低 1 回アラートが⽣成される必要があります。詳細は、「RSS フィードの作成」を参照してください。 29 RSS フィードを設定するには、action.rss を使⽤します。 属性 action.rss タイプ デフォルト 論理値 0 説明 RSS フィードを設定します。 action.script シェル・スクリプトを実⾏するアラートを設定できます。アラートの⽣成時に、シェル・スクリプトが実⾏されま す。 スクリプトを実⾏するアラートを設定でするには、action.script を使⽤します。詳細は、「スクリプト・アラート の設定」を参照してください。 属性 action.script タイプ デフォルト 論理値 0 説明 アラート⽣成時に、スクリプトを実⾏するようにア ラートを設定します。 アラート⽣成時に実⾏するシェル・スクリプトのファ イル名。 action.script.filename テキスト – スクリプトは以下のディレクトリに保管します。 $SPLUNK_HOME/bin/scripts/ アラート・アクションのスクリプトの設定 アラート⽣成時にシェル・スクリプトまたはバッチ・ファイルを実⾏するように、アラートを設定できます。ここ では、アラート・アクションとして実⾏されるスクリプト内での、アラートに関する情報へのアクセス⽅法を説明 していきます。 アラートが⽣成するスクリプトまたはバッチ・ファイルは、以下の場所に保管する必要があります。 $SPLUNK_HOME/bin/scripts アラート・アクションとして実⾏するスクリプトの引数へのアクセス スクリプトをアラート・アクションとして実⾏する場合、Splunk Enterprise がスクリプトに渡す、アラートに関 する情報を取得するための位置引数があります。位置引数は環境変数としても利⽤できます。 各引数からの情報にアクセスするには、以下の表の表記を使⽤します。 引数 環境変数 値 0 SPLUNK_ARG_0 スクリプト名 1 SPLUNK_ARG_1 返されたイベント数 2 SPLUNK_ARG_2 サーチ単語 3 SPLUNK_ARG_3 完全修飾クエリー⽂字列 4 SPLUNK_ARG_4 レポート名 5 SPLUNK_ARG_5 6 SPLUNK_ARG_6 レポートを表⽰するためのブラウザ URL。 7 SPLUNK_ARG_7 履歴的な理由で使われていません。 8 SPLUNK_ARG_8 ⽣成理由。 例:「The number of events was greater than 1.」 サーチの結果を保管するファイル。 raw 結果を含みます。 UNIX シェル・スクリプトまたは Microsoft バッチ・ファイルで、これらの引数が取得した情報を参照すること ができます (後述)。perl や python など、その他の⾔語では、それらの⾔語に実装されている⼿法を使って、ス クリプト引数にアクセスしてください。 # UNIX scripts can access environment variables and positional args $SPLUNK_ARG_0 $0 30 # Microsoft batch files capture environment variables reliably %SPLUNK_ARG_0% 位置引数にアクセスするテスト・スクリプト 位置引数にアクセスした結果を⾒るには、以下のテスト・スクリプトを使⽤してください。 テスト・スクリプトを使⽤するには、このスクリプトをアラート・アクションとして実⾏するアラートを作成しま す。次に⽣成された、echo_output.txt ファイルの内容を参照してください。 # $SPLUNK_HOME/bin/scripts/echo.sh # simple script that writes parameters 0-7 to # $SPLUNK_HOME/bin/scripts/echo_output.txt # $SPLUNK_ARG_0 and $0 show how to use the long and short form. read sessionKey echo "'$SPLUNK_ARG_0' '$0' '$1' '$2' '$3' '$4' '$5' '$6' '$7' '$8' '$sessionKey'" >> \ "$SPLUNK_HOME/bin/scripts/echo_output.txt" アラート⽣成時のスクリプト実⾏の設定例については、このマニュアルの 「他のシステムへの SNMP トラップの 送信」を参照してください。 スクリプトの例:syslog への書き込み システム・ログ・デーモンに書き込むアラート⽤スクリプトを設定することができます。この⽅法は、他のアプリ ケーションにアラートを送信するようにすでに syslog を設定しており、Splunk Enterprise からのアラートもそ れに含めたいような場合に役⽴ちます。 1. 、または syslog に書き込む他のプログラムを呼び出すスクリプト このスクリプトを $SPLUNK_HOME/bin/scripts に保管します。 2. logIt に以下の項⽬を追加します。 logger $5 logger logIt を作成します。 このスクリプトは、アラート・アクションとして呼び出された場合、利⽤できる任意の引数にアクセスでき ます。 3. をアラート・アクションとして実⾏するアラートを作成します。 このアラートが⽣成された場合、ログ・エントリは以下のようなものになります。 Aug 15 15:01:40 localhost logger:Report [j_myadmin]:The number of events(65) was greater than 10 logIt syslog ⼊⼒設定時の UDP 使⽤のベストプラクティスについては、Splunk Wiki を参照してください。 スクリプトの例:Windows イベント・ログへの書き込み Windows プラットフォームの場合、Windows イベント・ログに書き込むスクリプトを実⾏するアラート・アク ションを設定できます。 イベント・ログに書き込む EVENTCREATE ユーティリティを呼び出すスクリプトの例を以下に⽰します。このスクリ プトは、アラートで利⽤できる任意の環境変数にアクセスできます。EVENTCREATE ユーティリティの代わり に、イベント・ログに書き込む任意のコマンド・ライン実⾏形式ファイルを指定できます。 1. バッチ・ファイル logIt.bat を作成します。 このスクリプトを $SPLUNK_HOME/bin/scripts に保管します。 2. バッチ・ファイルに以下のコマンドを指定します。 @echo off EVENTCREATE /T ERROR /SO Splunk /D %SPLUNK_ARG_5% 引数に含まれているメッセージに適したタイプを使⽤してください。この例では、ERROR を使⽤します。 3. logIt.bat をアラート・アクションとして実⾏するアラートを作成します。 アラートから起動するスクリプトのトラブルシューティング Splunk Community Wiki のトピック「Troubleshooting alert scripts」には、アラートから起動するスクリプト の設定とトラブルシューティングに役⽴つ情報が記載されています。 SNMP トラップの他のシステムへの送信 Splunk を監視ツールとして使⽤して、ネットワーク管理システムコンソールなどの他のシステムに、SNMP ア ラートを送信することができます。 注意: Splunk での SNMP アラートのインデックス作成⽅法については、『データの取り込み』マニュアルの 「Splunk への SNMP イベントの送信」を参照してください。 SNMP トラップを送信するスクリプトの作成 31 要件 以下の要件に注意してください。 スクリプトの実⾏には、Perl が必要です。 /usr/bin/snmptrap コマンドを使⽤するには、Net-SNMP パッケージが必要です。シェルスクリプトから SNMP トラップを送信する他の⽅法がある場合は、必要に応じてスクリプトを変更してください。 $SPLUNK_HOME/bin/scripts ディレクトリに管理者としてアクセスできることを確認してください。 セキュリティ上の理由から、スクリプトは $SPLUNK_HOME/bin/scripts ディレクトリに保管する必要がありま す。 スクリプトの作成 以下の事項に注意してください。 ディレクトリにスクリプトを作成します。このディレクトリが存在していない場合 は、ディレクトリを作成します。以下のコードを sendsnmptrap.pl にコピーします。 chmod +x sendsnmptrap.pl を実⾏して、スクリプトを実⾏形式にします。 スクリプト内で、SNMP トラップハンドラの Host:Port、外部コマンド splunk および snmptrap へのパス、そ して必要に応じてユーザー/パスワードを変更します。 $SPLUNK_HOME/bin/scripts サンプルスクリプトコード #!/usr/bin/perl # # sendsnmptrap.pl: A script to enable using Splunk alerts to send an SNMP trap. # # Modify the following code as necessary for your local environment. # $hostPortSNMP = "qa-tm1:162"; # Host:Port of snmpd or other SNMP trap handler $snmpTrapCmd = "/usr/bin/snmptrap"; # Path to snmptrap, from http://www.net-snmp.org $TRAPOID = "1.3.6.1.4.1.27389.1.2"; # Object IDentifier for traps/notifications $OID = "1.3.6.1.4.1.27389.1.1"; # Object IDentifier for objects, Splunk Enterprise OID is 27389 # Parameters passed in from the alert. # $1-$9 is the positional parameter list. $ARGV[0] starts at $1 in Perl. $searchCount = $ARGV[0]; # $1 - Number of events returned $searchTerms = $ARGV[1]; # $2 - Search terms $searchQuery = $ARGV[2]; # $3 - Fully qualified query string $searchName = $ARGV[3]; # $4 - Name of saved search $searchReason = $ARGV[4]; # $5 - Reason saved search triggered $searchURL = $ARGV[5]; # $6 - URL/Permalink of saved search $searchTags = $ARGV[6]; # $7 - Always empty as of 4.1 $searchPath = $ARGV[7]; # $8 - Path to raw saved results in Splunk instance (advanced) # Send trap, with the parameter list above mapping down into the OID. $cmd = qq/$snmpTrapCmd -v 2c -c public $hostPortSNMP '' $TRAPOID $OID.1 i $searchCount $OID.2 s "$searchTerms" $OID.3 s "$searchQuery" $OID.4 s "$searchName" $OID.5 s "$searchReason" $OID.6 s "$searchURL" $OID.7 s "$searchTags" $OID.8 s "$searchPath"/; system($cmd); Windows の場合 この Perl スクリプトは、MS Windows システムで Perl を使って実⾏することができます。ただし、Windows システムによっては、Perl がインストールされていない、または Splunk を介した Perl の直接実⾏が設定されて いない場合があります。このような場合、「Windows での SNMP トラップの送信」に説明しているように、 Windows コマンドスクリプトを使った⽅が簡単なこともあります。 MIB ファイルの提供 SNMP 監視エージェント⽤の Splunk MIB ファイルを提供できます。詳細は、「Splunk アラート MIB」を参照 してください。 スクリプトを呼び出すアラートの設定 以下の⼿順に従ってください。 1. アラートを作成します。詳細は、『アラートマニュアル』の「アラートについて」を参照してください。 2. スクリプトを呼び出すようにアラートを設定します。そのためには、スクリプト名を指定します (スクリプトは $SPLUNK_HOME/bin/scripts に保管する必要があります)。 32 スクリプトの実⾏例 返された結果も含むスクリプトの実⾏例を以下に⽰します。 [root@qa-tm1 ~]# snmptrapd -f -Lo 2007-08-13 16:13:07 NET-SNMP version 5.2.1.2 Started. 2007-08-13 16:14:03 qa-el4.splunk.com [172.16.0.121] (via UDP: [172.16.0.121]:32883) TRAP, SNMP v1, community public SNMPv2-SMI::enterprises.27389.1 Warm Start Trap (0) Uptime: 96 days, 20:45:08.35 SNMPv2-SMI::enterprises.27389.1.1 = INTEGER: 7 SNMPv2SMI::enterprises.27389.1.2 = STRING: "sourcetype::syslog" SNMPv2SMI::enterprises.27389.1.3 = STRING: "search sourcetype::syslog starttime:12/31 /1969:16:00:00 endtime::08/13/2007:16:14:01" SNMPv2-SMI::enterprises.27389.1.4 = STRING: "SyslogEventsLast24" SNMPv2-SMI::enterprises.27389.1.5 = STRING: "Saved Search [SyslogEventsLast24]: The number of hosts(7) was greater than 1" SNMPv2-SMI::enterprises.27389.1.6 = STRING: "http://qa-el4:18000/?q=sourcetype %3a%3asyslog%20starttimeu%3a%3a0%20endtimeu%3a%3a1187046841" SNMPv2SMI::enterprises.27389.1.7 = STRING: "/home/tet/inst/splunk/var/run/splunk /SyslogEventsLast24" 2007-08-13 16:14:15 NET-SNMP version 5.2.1.2 Stopped. 33