このブログ連載の前回の記事「Splunk ITSIアラートの設計 - ステップ1」で、サービスの健全性スコアが低下したときに重要イベントが生成されるようになりました。しかし、ちょっとした問題があります。
Splunk IT Service Intelligence (ITSI)で運用するサービスの多くは階層構造になっていて、1つ以上のサブサービスを持ちます。サービスとサブサービスのどちらでスコアが低下しても、関連するサービスとしてそれぞれの重要イベントをまとめることができれば、アラートの全体量を減らし、適切なアラートに適切なチームを割り当てることができます。そのために、重要イベントすべてに「alert_group」という名前の新しいフィールドを作成し、これを使って関連するイベントをグループ化します。
私の考えでは、このalert_group属性を作成、メンテナンスするための最も効果的な方法はルックアップを使うことです。サービスやKPIごとに新しいルックアップを作成し、適切なalert_group値を割り当てて、ルックアップを自動的に実行するように設定します。ここで、ルックアップファイルの管理に便利なLookup File Editor Appをまだお使いでない場合は、すぐにでもチェックしてみてください。
ルックアップを新しく作成するためのSPLを次に示します。ここではマクロを使用して、Splunk ITSI内のすべてのサービスと設定をリストし、新しいルックアップとして出力しています(このマクロはSplunk ITSI Appで実行してください)。
| `service_kpi_list` | eval alert_group=service_name | table serviceid kpiid service_name kpi_name alert_group | outputlookup acme_itsi_kpi_attributes.csv
このSPLではデフォルトでalert_groupフィールドにservice_nameが割り当てられますが、これは土台に過ぎません。関連サービスの適切なグループが作成されるようにalert_groupフィールドを更新してください。
最後に権限をAppまたはグローバルに変更し、ソースタイプがstashの場合にルックアップを自動的に実行するように設定します。これにより、今後、相関サーチによって重要イベントが生成されると常に、イベントにalert_groupフィールドが適用されます。
新しい重要イベントのitsi_tracked_alertsインデックスでalert_groupフィールドに適切な値が設定されていることを確認します。
この設計の利点を活かすには、重要イベントの集計ポリシー(NEAP)を作成する必要があります。NEAPは、関連するイベントをグループ化してアクションを実行するための非常に便利なルールです。NEAPのデフォルトポリシーを変更するのが初めての場合、詳細については、重要イベントの集計ポリシーに関するSplunkドキュメントを参照してください。
まずはポリシーを次のように設定します。
このポリシーの動作を要約すると次のようになります。alert_groupフィールドを持つ重要イベントにこのポリシーを適用します(自動ルックアップにより、重要イベントはすべてこのポリシーを持ちます)。alert_groupの値が同じイベントを分割、グループ化します。これにより、イベントを生成したサービスに関係なくalert_groupの値が同じイベントが1つにまとめられます。新しいイベントがその後10分間発生しなかった場合は、エピソードを終了します。それ以降に重要イベントが新たに生成された場合は、新しいエピソードが作成され、レビューが開始されます。最後に、トークン化によって、アラートグループ名をエピソードタイトル名として指定します。
もちろん、これらの設定は必要に応じて変更していただいてかまいません。これを土台として、さまざまに改良、強化してください。
最後にNEAPを保存して、わかりやすい名前を付けます。
NEAPを保存したら、エピソードレビュー画面に移動します。表示設定の歯車アイコンを選択して、エピソードビューをオンにしてください。これにより、重要イベントが1件ずつではなく、集計ポリシールールに従ってグループ化されて表示されます。
ポリシーの保存後に新たに生成される重要イベントがグループ化されて表示されます。NEAPをテストする際は、異なるサービスから生成された複数の重要イベントが、alert_groupの値に基づいてサービスごとにグループ化されることを確認する必要があります。
便利ですね。ではステップ3に進みましょう。
Splunkプラットフォームは、データを行動へとつなげる際に立ちはだかる障壁を取り除いて、オブザーバビリティチーム、IT運用チーム、セキュリティチームの能力を引き出し、組織のセキュリティ、レジリエンス(回復力)、イノベーションを強化します。
Splunkは、2003年に設立され、世界の21の地域で事業を展開し、7,500人以上の従業員が働くグローバル企業です。取得した特許数は1,020を超え、あらゆる環境間でデータを共有できるオープンで拡張性の高いプラットフォームを提供しています。Splunkプラットフォームを使用すれば、組織内のすべてのサービス間通信やビジネスプロセスをエンドツーエンドで可視化し、コンテキストに基づいて状況を把握できます。Splunkなら、強力なデータ基盤の構築が可能です。