「Splunk ITSIアラートの設計図」を作るこの連載では、最初のステップとして、いずれかのサービスの健全性スコアが低下したときに重要イベントを生成するための包括的な相関ルールを作成します。このためには、サービスごとにマルチKPIアラート(mKPI)を作成すればよいと多くの人が思うでしょう。
しかし、この方法には見過ごされがちな問題が2つあります。1つ目は、サービスごとにmKPIを作成し、さらにそれを継続的にメンテナンスするには、かなり手間がかかることです。しかも、新しいサービスが追加されるたびに手間が増えることになります。2つ目は、Splunkに余計なサーチ負荷がかかることです。環境内で50のサービスを運用している場合、アラートを生成するために5分ほどの間隔で50のサーチを追加で実行することになります。これは理想的とは言えません。
1回のパスですべてのサービスをスキャンする1つの相関サーチを作成すれば、この2つの問題を一度に解決できます。Splunk ITSI内ですべてのサービスのアラート戦略を標準化する第1歩にもなります。個人的には、これは大きなメリットだと思います。
Splunk ITSIには、まさにこの処理を実行してくれる相関ルールがあらかじめ用意されています。とても親切ですね。[設定] -> [相関サーチ]と選択して、[Monitor Critical Service Based on HealthScore]という名前のサーチを探してみてください。この相関サーチを有効にするだけでもかまいませんが、少し変更を加えたいので、既存のルールを複製して、コピーしたルールを変更しましょう。
今のところは、既存のルールに簡単な変更を1つだけ加えます。サービスの健全性スコアが正常な範囲を外れたら、重要イベントを生成します。ここでポイントとなるのが、itsi_summaryインデックスのalert_levelフィールドです。このフィールドは、KPIまたはサービスの重大度を表します(1=情報、2=正常、3=低、4=中、5=高、6=重大)。「alert_level>2」と指定して、サービスの健全性スコアが低、中、高、または重大になったら常に、重要イベントを生成します。相関サーチは次のようになります。
`service_health_data` alert_level>2
| rename serviceid as itsi_service_id
| rename kpiid as itsi_kpi_id
| rename kpi as kpi_name
| lookup service_kpi_lookup _key as itsi_service_id OUTPUT title
| rename title as service_name
| eval actual_time=_time
| convert ctime(actual_time) as actual_time
新しく作成した相関ルールを保存して有効にすれば完了です。テスト用サービスを使って、サービスの健全性が低下したときに、エピソードレビューで重要イベントが1つ以上表示されることを確認してください。重要イベントを生成する条件と、アラートを生成する条件を分けたため、これだけではサービスの健全性が低下してもアラートは生成されませんが、サービスに関する豊富な情報とコンテキストが得られるようになりました。これらの情報やコンテキストは後で役立ちます。
簡単でしたね。ではステップ2に進みましょう。
Splunkプラットフォームは、データを行動へとつなげる際に立ちはだかる障壁を取り除いて、オブザーバビリティチーム、IT運用チーム、セキュリティチームの能力を引き出し、組織のセキュリティ、レジリエンス(回復力)、イノベーションを強化します。
Splunkは、2003年に設立され、世界の21の地域で事業を展開し、7,500人以上の従業員が働くグローバル企業です。取得した特許数は1,020を超え、あらゆる環境間でデータを共有できるオープンで拡張性の高いプラットフォームを提供しています。Splunkプラットフォームを使用すれば、組織内のすべてのサービス間通信やビジネスプロセスをエンドツーエンドで可視化し、コンテキストに基づいて状況を把握できます。Splunkなら、強力なデータ基盤の構築が可能です。