Splunkのアーキテクチャ
ここでは、主な定義、Splunkの分散環境、Splunk SmartStore、データフローなど、Splunkのアーキテクチャについて説明します。 ハードウェアとソフトウェアの要件、単一サイトとマルチサイトの要件など。
キーの定義
次の2つの表に、Splunk環境で使用されているSplunkとネットアップのコンポーネントをまとめます。
この表は、Splunk Enterpriseの分散構成向けにSplunkのハードウェアコンポーネントをまとめたものです。
Splunkコンポーネント | タスク |
---|---|
インデクサ |
Splunk Enterpriseデータ用のリポジトリ |
ユニバーサルフォワーダ |
データを取り込み、インデクサにデータを転送する責任があります |
ヘッドを検索します |
インデクサでデータを検索するために使用されるユーザーフロントエンド |
クラスタマスター |
インデクサと検索ヘッドのSplunkのインストールを管理します |
Monitoring Consoleの略 |
導入全体で使用される一元化された監視ツール |
ライセンスマスター |
ライセンスマスターがSplunk Enterpriseのライセンスを処理し |
導入サーバ |
構成を更新し、アプリケーションを処理コンポーネントに配布します |
ストレージコンポーネント |
タスク |
NetApp AFF |
ホット階層データの管理に使用されるオールフラッシュストレージ。ローカルストレージとも呼ばれます。 |
NetApp StorageGRID |
ウォーム階層データの管理に使用するS3オブジェクトストレージ。SmartStoreがホット階層とウォーム階層の間でデータを移動するために使用します。リモートストレージとも呼ばれます。 |
次の表は、Splunkストレージアーキテクチャのコンポーネントを示しています。
Splunkコンポーネント | タスク | 責任あるコンポーネント |
---|---|---|
SmartStore |
インデクサに、ローカルストレージからオブジェクトストレージにデータを階層化する機能を提供します。 |
Splunk |
ホット |
ユニバーサルフォワーダが新しく書き込まれたデータを配置するランディングスポット。ストレージは書き込み可能で、データは検索可能です。このデータ階層は、通常SSDまたは高速HDDで構成されます。 |
ONTAP |
Cache Managerの略 |
インデックス付きデータのローカルキャッシュを管理し、検索が行われたときにリモートストレージからウォームデータを取得し、キャッシュから使用頻度の低いデータを削除します。 |
SmartStore |
ウォーム |
データはバケットに論理的にロールされ、ホット階層から先にウォーム階層に名前が変更されます。この階層内のデータは保護され、ホット階層と同様に大容量のSSDまたはHDDで構成できます。一般的なデータ保護ソリューションを使用すると、増分バックアップとフルバックアップの両方がサポートされます。 |
StorageGRID |
Splunkの分散環境
多くのマシンでデータが発生する大規模な環境をサポートするには、大量のデータを処理する必要があります。多数のユーザがデータを検索する必要がある場合は、Splunk Enterpriseインスタンスを複数のマシンに分散することで、環境を拡張できます。これを分散配置と呼びます。
一般的な分散環境では、Splunk Enterpriseインスタンスごとに特別なタスクを実行し、メインの処理機能に対応する3つの処理階層のいずれかに配置されます。
次の表に、Splunk Enterpriseの処理階層を示します。
階層 | コンポーネント | 製品説明 |
---|---|---|
データ入力 |
運送会社 |
フォワーダはデータを消費し、インデクサのグループにデータを転送します。 |
インデックス作成 |
インデクサ |
インデクサは、通常フォワーダのグループから受信する着信データをインデックス化します。インデクサはデータをイベントに変換し、イベントをインデックスに格納します。インデクサは、検索ヘッドからの検索要求に応答して、インデックス付きデータも検索します。 |
検索管理 |
ヘッドを検索します |
検索ヘッドは、検索の中心となるリソースとして機能します。クラスタ内の検索ヘッドは交換可能であり、検索ヘッドクラスタの任意のメンバーから同じ検索、ダッシュボード、ナレッジオブジェクトなどにアクセスできます。 |
次の表に、Splunk Enterpriseの分散環境で使用される重要なコンポーネントを示します。
コンポーネント | 製品説明 | 責任 |
---|---|---|
クラスタマスターのインデックスを作成します |
インデクサクラスタのアクティビティと更新を調整します |
インデックス管理 |
インデックスクラスタ |
相互にデータをレプリケートするように設定されたSplunk Enterpriseインデクサのグループ |
インデックス作成 |
HEAD Deployerを検索します |
クラスタマスターへの導入と更新を処理します |
検索ヘッド管理 |
HEADクラスタを検索してください |
検索の中心となるリソースとして機能する検索ヘッドのグループ |
検索管理 |
ロードバランサ |
クラスタ化されたコンポーネントが、検索ヘッド、インデックス化、S3ターゲットによって増大する需要に対応し、クラスタ化されたコンポーネントに負荷を分散するために使用されます。 |
クラスタ構成部品のロード管理 |
Splunk Enterpriseの分散環境には、次のようなメリットがあります。
-
多様なデータソースや分散したデータソースにアクセス
-
企業の規模や複雑さに関係なく、データのニーズに対応する機能を提供します
-
データレプリケーションとマルチサイト環境で高可用性を実現し、ディザスタリカバリを確実に実現できます
Splunk SmartStoreからダウンロードできます
SmartStoreは、Amazon S3などのリモートオブジェクトストアにインデックス付きデータを格納できるインデクサ機能です。導入のデータボリュームが増えるにつれて、ストレージの需要がコンピューティングリソースを消費するようになることがよくあります。SmartStoreを使用すると、インデクサのストレージリソースとコンピューティングリソースを個別に拡張することで、コスト効率の高い方法で管理できます。
SmartStoreでは、リモートストレージ階層とキャッシュマネージャが導入されています。これらの機能を使用すると、インデックスサーバー上またはリモートストレージ層上にデータをローカルに配置できます。キャッシュマネージャは、インデクサに設定されているインデクサとリモートストレージ層の間のデータ移動を管理します。
SmartStoreを使用すると、インデクサのストレージ設置面積を最小限に抑え、I/O最適化コンピューティングリソースを選択できます。ほとんどのデータはリモートストレージに格納されます。インデクサは、ホットバケット、アクティブまたは最近の検索に参加しているウォームバケットのコピー、バケットメタデータなど、最小限のデータを含むローカルキャッシュを維持します。
Splunk SmartStoreのデータフロー
さまざまなソースからのデータがインデクサに達すると、データはインデックス付けされ、ホットバケットにローカルに保存されます。インデクサは、ホットバケットデータをターゲットインデクサにもレプリケートします。これまでのデータフローは、非SmartStoreインデックスのデータフローと同じです。
ホットバケットがウォームにロールすると、データフローは変化します。ソースインデクサは、ウォームバケットをリモートオブジェクトストア(リモートストレージ階層)にコピーしますが、既存のコピーはキャッシュに残しておきます。これは、最近インデックスが作成されたデータを検索する傾向があるためです。ただし、ターゲットインデクサはコピーを削除します。これは、リモートストアが複数のローカルコピーを維持せずに高可用性を提供するためです。これで、バケットのマスターコピーがリモートストアに配置されます。
次の図は、Splunk SmartStoreのデータフローを示しています。
インデクサのキャッシュマネージャは、SmartStoreデータフローの中心になります。検索要求を処理するために必要に応じて、リモートストアからバケットのコピーを取得します。また、時間が経過すると検索に参加する可能性が低下するため、バケットの古いコピーや検索されていないコピーもキャッシュから削除されます。
キャッシュマネージャの仕事は、必要なバケットに検索がすぐにアクセスできるようにしながら、使用可能なキャッシュの使用を最適化することです。
ソフトウェア要件
次の表に、解決策 の実装に必要なソフトウェアコンポーネントを示します。解決策の実装で使用されるソフトウェアコンポーネントは、お客様の要件に応じて異なる場合があります。
製品ファミリー | 製品名 | 製品バージョン | オペレーティングシステム |
---|---|---|---|
NetApp StorageGRID |
StorageGRID オブジェクトストレージ |
11.6 |
N/A |
CentOS |
CentOS |
8.1 |
CentOS 7.x |
Splunk Enterpriseの |
SmartStoreを使用したSplunk Enterprise |
8.0.3 |
CentOS 7.x |
単一のマルチサイト要件
Splunkを使用している大規模環境で、多数のマシンからデータを取得し、多数のユーザがデータを検索する必要がある場合は、1つのサイトと複数のサイトにSplunk Enterpriseインスタンスを分散することで、環境を拡張できます。
Splunk Enterpriseの分散環境には、次のようなメリットがあります。
-
多様なデータソースや分散したデータソースにアクセス
-
企業の規模や複雑さに関係なく、データのニーズに対応する機能を提供します
-
データレプリケーションとマルチサイト環境で高可用性を実現し、ディザスタリカバリを確実に実現できます
次の表に、Splunk Enterpriseの分散環境で使用されるコンポーネントを示します。
コンポーネント | 製品説明 | 責任 |
---|---|---|
クラスタマスターのインデックスを作成します |
インデクサクラスタのアクティビティと更新を調整します |
インデックス管理 |
インデックスクラスタ |
相互のデータをレプリケートするように構成されたSplunk Enterpriseインデクサのグループ |
インデックス作成 |
HEAD Deployerを検索します |
クラスタマスターへの導入と更新を処理します |
検索ヘッド管理 |
HEADクラスタを検索してください |
検索の中心となるリソースとして機能する検索ヘッドのグループ |
検索管理 |
ロードバランサ |
クラスタ化されたコンポーネントが、検索ヘッド、インデックス化、S3ターゲットによって増大する需要に対応し、クラスタ化されたコンポーネントに負荷を分散するために使用されます。 |
クラスタ化されたコンポーネントの負荷管理 |
次の図は、単一サイトの分散環境の例を示しています。
次の図は、マルチサイト分散配置の例を示しています。
ハードウェア要件
次の表に、解決策 の実装に必要なハードウェアコンポーネントの最小数を示します。解決策の特定の実装で使用されるハードウェアコンポーネントは、お客様の要件に応じて異なる場合があります。
|
Splunk SmartStoreとStorageGRID を単一サイトに導入したか複数サイトに導入したかに関係なく、すべてのシステムを単一のコンソールでStorageGRID グリッドマネージャから管理できます。詳細については、「Grid Managerによるシンプルな管理」を参照してください。 |
次の表は、単一サイトで使用されるハードウェアを示しています。
ハードウェア | 数量 | ディスク | 使用可能容量 | メモ |
---|---|---|---|---|
StorageGRID SG1000の略 |
1 |
N/A |
N/A |
管理ノードとロードバランサ |
StorageGRID SG6060の略 |
4 |
X48、8TB(NL-SAS HDD) |
1PB |
リモートストレージ |
次の表に、マルチサイト構成に使用されるハードウェアをサイトごとに示します。
ハードウェア | 数量 | ディスク | 使用可能容量 | メモ |
---|---|---|---|---|
StorageGRID SG1000の略 |
2 |
N/A |
N/A |
管理ノードとロードバランサ |
StorageGRID SG6060の略 |
4 |
X48、8TB(NL-SAS HDD) |
1PB |
リモートストレージ |
NetApp StorageGRID ロードバランサ:SG1000
オブジェクトストレージでは、ロードバランサを使用してクラウドストレージネームスペースを提供する必要があります。StorageGRID は、F5やCitrixなどの主要ベンダーのサードパーティ製ロードバランサをサポートしていますが、多くのお客様が、エンタープライズクラスのStorageGRID バランサを選択してシンプルさ、耐障害性、高パフォーマンスを実現しています。StorageGRID ロードバランサは、VM、コンテナ、または専用アプライアンスとして使用できます。
StorageGRID SG1000では、S3データパス接続に対してハイアベイラビリティ(HA)グループとインテリジェントなロードバランシングを使用できます。カスタマイズしたロードバランサを提供するオンプレミスのオブジェクトストレージシステムは他にありません。
SG1000アプライアンスには次の機能があります。
-
ロードバランサと、必要に応じて管理ノードもStorageGRID システムに対して機能します
-
ノードの導入と設定を簡易化するStorageGRID アプライアンスインストーラ
-
S3エンドポイントとSSLの簡単な設定
-
専用帯域幅(他社製ロードバランサを他のアプリケーションと共有する場合との比較)
-
100Gbpsアグリゲートイーサネット帯域幅×最大4
次の図は、SG1000 Gateway Servicesアプライアンスを示しています。
SG6060
StorageGRID SG6060アプライアンスには、コンピューティングコントローラ(SG6060)と、2台のストレージコントローラと60本のドライブを搭載したストレージコントローラシェルフ(EシリーズE2860)が含まれています。このアプライアンスには次のような特長があります。
-
単一のネームスペースで最大400PBまでスケールアップできます。
-
25Gbpsアグリゲートイーサネット帯域幅×最大4
-
ノードの導入と設定を簡易化するStorageGRID アプライアンスインストーラが搭載されています。
-
各SG6060アプライアンスには、合計180本のドライブを搭載できる拡張シェルフを1台または2台追加できます。
-
EシリーズE2800コントローラ×2(デュプレックス構成)-ストレージコントローラのフェイルオーバーをサポートします。
-
5ドロワードライブシェルフ- 3.5インチドライブを60本(SSD×2、NL-SASドライブ×58)収容します。
次の図はSG6060アプライアンスを示しています。
Splunkの設計
次の表に、単一サイトのSplunk構成を示します。
Splunkコンポーネント | タスク | 数量 | コア数 | メモリ | OS |
---|---|---|---|---|---|
ユニバーサルフォワーダ |
データを取り込み、インデクサにデータを転送する責任があります |
4 |
16コア |
32GBのRAM |
CentOS 8.1. |
インデクサ |
ユーザデータを管理します |
10 |
16コア |
32GBのRAM |
CentOS 8.1. |
ヘッドを検索します |
ユーザーフロントエンドはインデクサ内のデータを検索します |
3 |
16コア |
32GBのRAM |
CentOS 8.1. |
HEAD Deployerを検索します |
検索ヘッドクラスタの更新を処理します |
1 |
16コア |
32GBのRAM |
CentOS 8.1. |
クラスタマスター |
Splunkのインストールやインデックスを管理します |
1 |
16コア |
32GBのRAM |
CentOS 8.1. |
Monitoring Consoleとライセンスマスター |
Splunk環境全体を一元的に監視し、Splunkライセンスを管理します |
1 |
16コア |
32GBのRAM |
CentOS 8.1. |
次の表に、マルチサイト構成のSplunkの設定を示します。
次の表に、マルチサイト構成(サイトA)のSplunkの設定を示します。
Splunkコンポーネント | タスク | 数量 | コア数 | メモリ | OS |
---|---|---|---|---|---|
ユニバーサルフォワーダ |
データを取り込み、インデクサにデータを転送する責任があります。 |
4 |
16コア |
32GBのRAM |
CentOS 8.1. |
インデクサ |
ユーザデータを管理します |
10 |
16コア |
32GBのRAM |
CentOS 8.1. |
ヘッドを検索します |
ユーザーフロントエンドはインデクサ内のデータを検索します |
3 |
16コア |
32GBのRAM |
CentOS 8.1. |
HEAD Deployerを検索します |
検索ヘッドクラスタの更新を処理します |
1 |
16コア |
32GBのRAM |
CentOS 8.1. |
クラスタマスター |
Splunkのインストールやインデックスを管理します |
1 |
16コア |
32GBのRAM |
CentOS 8.1. |
Monitoring Consoleとライセンスマスター |
Splunk環境全体を一元的に監視し、Splunkライセンスを管理します。 |
1 |
16コア |
32GBのRAM |
CentOS 8.1. |
次の表に、マルチサイト構成(サイトB)のSplunkの設定を示します。
Splunkコンポーネント | タスク | 数量 | コア数 | メモリ | OS |
---|---|---|---|---|---|
ユニバーサルフォワーダ |
データを取り込み、インデクサにデータを転送する責任があります |
4 |
16コア |
32GBのRAM |
CentOS 8.1. |
インデクサ |
ユーザデータを管理します |
10 |
16コア |
32GBのRAM |
CentOS 8.1. |
ヘッドを検索します |
ユーザーフロントエンドはインデクサ内のデータを検索します |
3 |
16コア |
32GBのRAM |
CentOS 8.1. |
クラスタマスター |
Splunkのインストールやインデックスを管理します |
1 |
16コア |
32GBのRAM |
CentOS 8.1. |
Monitoring Consoleとライセンスマスター |
Splunk環境全体を一元的に監視し、Splunkライセンスを管理します |
1 |
16コア |
32GBのRAM |
CentOS 8.1. |