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

2-7 一般的なSplunkの導入構成

2-5で見たサーバー群は、実際にはデータ量や可用性の要件に応じて 組み合わせて配置します。この節では、規模に応じた典型的な導入構成を、 小さいものから大きいものへと順に説明します。

1. シングルインスタンス構成

最もシンプルなのがシングルインスタンス構成です。 1台のSplunkサーバーが、Search Head(検索)とIndexer(保管・検索実行)の 役割を兼ねて動作します。データはForwarderから、あるいは そのサーバー自身に直接取り込みます。

構築や管理が簡単なため、検証環境や小規模な利用、あるいは学習用途に向いています。 一方で、1台にすべての処理が集中するため、データ量が増えると性能面で頭打ちになりやすく、 そのサーバーが停止すると全体が止まってしまう点には注意が必要です。

2. 分散構成(SH+複数IDX)

データ量が増えてくると、役割を分けた分散構成へと発展させます。 典型的には、検索を担うSearch Headを分離し、 データの保管と検索実行を担うIndexerを複数台並べます。

2-1で学んだとおり、検索は複数のIndexerに分散して実行されます。 Indexerを増やせば、その分だけ保管容量と検索性能を伸ばせるため、 扱うデータ量の増加に合わせて横方向に拡張(スケールアウト)できるのが この構成の利点です。

3. クラスタ構成

さらに大規模になり、可用性(止まりにくさ)やデータ保全がより重要になると、 クラスタ構成を採用します。クラスタには大きく2種類があります。

クラスタ 目的 関連する管理サーバー
インデクサークラスタ Indexerを束ね、データを複製して保管する。1台が故障してもデータと検索を維持できる Cluster Manager(CM)
サーチヘッドクラスタ 複数のSearch Headを束ね、検索の負荷分散と設定の共有を行う Deployer

インデクサークラスタでは、同じデータを複数のIndexerに複製して持たせるため、 一部のIndexerが停止してもデータを失わず検索を続けられます。 サーチヘッドクラスタでは、複数のSearch Headで検索を分担しつつ、 ダッシュボードや設定を共有できます。

クラスタ構成では、2-5で紹介したCMやDeployerといった管理系サーバーが 必要になります。役割ごとのサーバーが増える理由は、 こうした可用性・拡張性の要件にあります。

4. 構成の選び方

どの構成を選ぶかは、扱うデータ量と求められる可用性で おおよそ決まります。小さく始めて、必要に応じて段階的に拡張していくのが基本的な考え方です。

  • 検証・小規模・学習用途 → シングルインスタンス構成
  • データ量が増えて性能を伸ばしたい → 分散構成(SH+複数IDX)
  • 大規模で可用性・データ保全が重要 → クラスタ構成

なお、前節で見たSplunk Cloudを使えば、こうした構成の設計や運用を Splunk社に任せられるため、規模の大きな環境でも運用負担を抑えられます。

5. まとめ

  • シングルインスタンス構成は1台で全役割を兼ねる。手軽だが拡張性・可用性に限界がある
  • 分散構成はSHを分け、Indexerを複数並べて横方向に拡張できる
  • クラスタ構成にはインデクサークラスタ(データ複製)とサーチヘッドクラスタ(負荷分散)がある
  • データ量と可用性要件に応じて、小さく始めて段階的に拡張するのが基本