はじめに
Splunk を触り始めると必ず出てくる用語が、Forwarder / Indexer / Search Head。
でも「それぞれ何をしているのか」「どう繋がっているのか」が最初はとても分かりにくいですよね。
この記事では、Splunk の基本アーキテクチャをとても簡単に理解することをゴールに解説します。
Splunk の基本構成は、主に3つ
Splunk の構成要素はシンプルです。
| コンポーネント | 役割 |
|---|---|
| Forwarder | ログを集めて Splunk に送る |
| Indexer | データの保存・高速検索のためのインデックス化 |
| Search Head | 検索を実行し、ダッシュボード・アラートを提供 |
1. Forwarder の役割 — ログを「届ける」担当
Forwarder は ログ収集のエージェントです。
アプリサーバやネットワーク機器のログを Splunk へ送信します。
Forwarder の種類
| 種類 | 説明 |
|---|---|
| Universal Forwarder(UF) | 軽量な本番向け、最もよく使う |
| Heavy Forwarder(HF) | イベントの加工が必要な場合 |
役割
- ログファイルの監視(tail)
- Syslog 受信
- Windows イベントログ収集
- データを Indexer へ送信
2. Indexer の役割 — 保存&高速検索の司令塔
Splunk の“心臓”となる部分。
Forwarder から送られたデータを受け取り、
- パース(構造化)
- インデックス化(高速検索データ構造に変換)
- 保存
- 実際の検索処理を担当
をすべて行います。
Indexer が頑張っているおかげで
- 数億件のログから数ミリ秒で検索可能
- リアルタイム検索ができる
- 時系列集計が高速
といった Splunk の強みが実現されています。
3. Search Head の役割 — 検索・ダッシュボードの UI 担当
Search Head は Splunk の ユーザーインターフェースです。
Search Head がすること
- 検索クエリ(SPL)を受け取る
- Indexer に検索要求を投げる
- 結果を集約して UI に返す
- ダッシュボード表示
- アラートの管理
Search Head 自体はログを保持しない
保存しているのは Indexer
Search Head は 見える化のためのフロントエンド と考えてOKです。
よくある構成例(Scaled Architecture)
本番環境だと Indexer や Search Head を増やして冗長化します。
これにより
- 高可用性(HA)
- 負荷分散
- 大規模ログでも高性能検索
が実現できます。