はじめてのSplunk ― 概要から応用までを体系的に学ぶ

4-7 スケジュールドレポートとアラート

本章では、スケジュールドレポートとアラートについて説明します。 すでに説明した内容と重複する点もありますが、もう一度、定義や概念についてしっかりと理解しておきましょう。

保存されたサーチ(Saved Search)
├─ レポート(Report)
│  ├─ アドホックレポート(Ad-hoc Report) ※公式の呼び方ではない
│  └─ スケジュールドレポート(Scheduled Report)
└─ アラート(Alert)
   ├─ スケジュールドアラート(Scheduled Alert)
   └─ リアルタイムサーチ(Real-Time Alert)
サーチの保存形態の分類

1. 保存されたサーチとは

レポートとアラートを合わせて、保存されたサーチ(Saved Search)と呼びます。 Splunk内部の実装としてはsavedsearch.confと呼ばれる設定ファイルがあり、このファイルにレポート定義とアラート定義が含まれているためです。 レポートとアラートは似ていますが異なる機能です。

2. スケジュールドレポートとは

スケジュール化し定期実行させるようにしたレポートをスケジュールドレポート(またはスケジュールされたレポート)と呼びます。 スケジュールドレポートによって、パネルやダッシュボードを定期的に更新したり、サーチ結果をエクスポートしてメール送信したりWebhook連携することができます。

SPL: スケジュールドレポートの例(月次で定期実行して結果をメール通知)
index=main sourcetype=access_combined_wcookie
| timechart count span=1d BY status

スケジュール化してないレポートはマニュアル実行しかできません。 便宜上、上の図ではこれをアドホックレポートと表記しましたが、これは公式の呼び方ではないことに注意が必要です。

またSplunkには、大量のサーチ/レポート/アラートが同時に実行され、Splunkリソースが枯渇しようになったときには、定期実行されるよう設定されていたスケジュールドレポートをスキップし、リソースの枯渇を防ぐ仕組みがあります。 スケジュールドレポートがスキップされたことは、レポート画面で確認可能です。

これに対し、Web画面からマニュアルでアドホック実行されたサーチは、画面上で実行待機状態になることはあるものの、勝手にスキップされることはありません。

3. スケジュールドレポートの設定

作成したレポートを編集し、スケジュールを設定することで、レポートはスケジュールドレポートとして設定されます。 レポートをスケジュールドレポートに設定しても、特に画面上の表示は変更されません。定期実行するよう設定された状態のレポートを、説明上、スケジュールドレポートと呼んでいます。 レポートがスケジュールドレポートとなった後でも、定期実行とは別に手動でサーチを実行することも可能です。

4. アラートとは

Splunkは、サーチの結果をトリガーにして、アラートを発生させることができます。 アラートは、レポートに対してアラートトリガー条件を指定して作成するものではないことに注意してください。 アラートは、レポートとは別機能です。 またアラートを作成する際は、トリガー条件とアクションを必須で指定する必要があります。

特定の条件が満たされたときにメール/Webhookなどによる通知や、スクリプトを実行させるのがアラートの主な使い方です。

SPL: アラートの例(日次で定期実行し、パスワードログインに失敗したログがあれば通知)
index=main sourcetype=secure-2 "failed password"

レポートを使った場合でもサーチ実行時にアクションを実行することはできますが、アラートを使うと、トリガー条件を指定してアクションを実行できます。 レポートとアラートの重要な機能差はトリガー条件の有無です。

5. アラートの表示

アラートは、Splunkにおけるサーチ実行機能としての用語です。 しかし一方で、サーチを実行した後のアクションで「アラートを生成する」というアクションを実行させることも可能です。 これによって生成されたアラートの一覧は、Splunkメニューバーの「アクティビティ」 > 「生成されたアラート」よりアクセスできます。 「生成されたアラート」画面には、過去24時間にトリガーされたアラートの一覧が表示されます。 アラートをインシデントとして扱い、オープン/クローズなどを管理するような機能はありません。純粋に発生したアラートの一覧を表示する機能となります。 デフォルトでは24時間経過すれば表示されなくなりますが、発生したアラートを手動削除することも可能です。

6. まとめ

  • レポートとアラートを合わせて保存されたサーチと呼ぶ
  • スケジュールを設定して定期実行されるようにしたレポートをスケジュールドレポートと呼ぶ
  • スケジュールドレポートは、Splunkのリソースがひっ迫するとスキップされる可能性がある
  • アラートはレポートとは別機能。アラートはトリガー条件とアクションを必須で指定する
  • 生成されたアラートは過去24時間分を確認できる。ただしインシデントのオープン/クローズを管理する機能はない