IT

Splunk ITSIアラートの設計 - ステップ1

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に進みましょう。

このブログはこちらの英語ブログの翻訳、山村 悟史によるレビューです。

Jeff Wiedemann
Posted by

Jeff Wiedemann

Prior to Splunk, Jeff spent years as an architect at a healthcare software company where he got his first Splunk contact high. As it turns out, analyzing seemingly incoherent data, continuously identifying new insights, and making sound data-driven decisions can be quite fun. Nerd alert! When not Splunking, Jeff might be doing something relaxing and fun, but more likely than not, he's got his hands full with his two boys.

TAGS
Show All Tags
Show Less Tags