TIPS & TRICKS

Heavy Forwarderのインストールと設定 〜Ingest actionを用いたデータ前処理方法を添えて〜

データ収集アドオン(DB connectなど)を使用する場合、データの前処理(マスキング、フィルタリング、ルーティング)を行う場合など、Heavy Forwarderが必要となります。このブログでは、Heavy Forwarderのインストール方法、および転送設定について紹介します。加えて、Ingest action機能を使った前処理設定の簡便な方法についてもご紹介します。

1. Heavy Forwarderとは

Heavy Forwarderを利用するユースケースは次のような場合です。

  • データの大部分をソース側で破棄する
  • アドオンによる要件がある(DBconnectなど)
  • イベントごとにデータを別々のインデクサー、またはインデクサークラスターへルーティングする複雑な環境である

Forwarderには2種類ありますが、Universal Forwarder、またはHeavy Forwarder、どちらを利用するか迷いましたら、こちらの記事をご参考にしてください。Heavy Forwarderは生データをイベントごとに分割(Parse)し転送するため、Universal Forwarderと比較して大容量のデータを転送します。Heavy Forwarderでしかできない要件でない場合、Universal Forwarderの使用がおすすめです。

Universal Forwarderのインストール方法については、こちらの記事をご確認ください。

2. Heavy Forwarderのインストール方法と転送設定

Heavy ForwarderはフルバージョンのSplunk Enterpriseを用います。インストーラーはSplunk Webページからダウンロードできます。

Windows、Linux、MacOS版をダウンロードいただけます。これまでのバージョンについてもPrevious Releasesからダウンロードいただけます。

Splunk Enterpriseのダウンロード

Heavy Forwarder(HF)をインストールするOS、およびデータの転送先によってこれ以降の手順が異なります。下記ダイアグラムから参照する項番をご確認ください。

参照先項番図

2-1-1. Windows版のインストール手順

下記手順ではver9.1.2を用います。インストールするバージョンによって手順は異なる可能性があります。

ダウンロードしたインストーラーを起動するとインストールが始まります。

ライセンス条項にチェックを入れ、[Next]を選択します。

Windowsインストール画面1

administratorアカウントを作成します。usernameとpasswordを入力し、[Next]を選択します。

Windowsインストール画面2

アプリケーションによるデバイスへの設定変更を許可するとインストールが開始され、インストールが成功すると下記画面が表示されます。[Finish]を押してインストールは完了です。

[Launch browser with Splunk Enterprise]にチェックを入れ[Finish]を押すとブラウザが起動し、Splunkのコンソール画面が表示されます。

Windowsインストール画面3

2-1-2. Linux版のインストール手順

以降のインストール手順はすべてCLIで行います。Linux用のインストーラーは、RPM、DEB、.tgz形式で提供されています。

下記は.tgz形式での方法です。rootユーザー以外でインストールする場合はドキュメントをご参照ください。

ダウンロードしたファイルを/opt配下に展開する。
tar xvzf splunk_package_name.tgz -C /opt

binフォルダーに移動する。
cd /opt/splunk/bin

Splunk Enterpriseを起動する。
[sudo] ./splunk start --accept-license

administratorに設定するusernameとpasswordを尋ねられるため入力する。
Please enter an administrator username: ユーザー名
Password must contain at least:
* 8 total printable ASCII character(s).
Please enter a new password: パスワード
Please confirm new password: 同じパスワード

サーバー起動時にSplunk Enterpriseが自動起動するように設定する。
[sudo] ./splunk enable boot-start

※上記はrootユーザーとして起動します。もし特定ユーザーで起動したい場合は ドキュメントを参照ください。

ブラウザでhttp://<host name or ip address>:8000にアクセスするとSplunkのコンソール画面が表示されます。

2-2-1. Splunk Cloudへの転送設定

転送設定

転送先のSplunk CloudからUniversal Forwarder Credentialをダウンロードし、Heavy Forwarderにインストールすることで転送設定が完了します。設定方法については、こちらの動画を参照ください。

License設定

Heavy ForwarderはSplunk Enterpriseインスタンスのため、ライセンスを登録する必要があります。Splunk Cloudへデータ転送する場合、サポートにリクエストすることでHeavy Forwarder用ライセンスを受け取ることができます。詳しくはSplunk営業担当までお問い合わせください。
※ライセンスグループの変更からForwarder licenseを設定することも可能ですがEnterprise機能が一部制限されます。

[設定] > [ライセンス]を選択します。

ライセンス設定画面1

[ライセンスの追加]を選択します。

ライセンス設定画面2

[Choose File]からライセンスファイルをアップロードしインストールを選択します。

ライセンス設定画面3

2-2-2. Splunk Enterprise(オンプレ)への転送設定

転送設定

転送先のSplunk Enterprise IndexerのIPアドレスを登録することで転送設定を行います。Heavy Forwarderにおける転送設定では、UI、またはCLIから設定することが可能です。

UIから設定する場合

[設定] > [転送と受信]を選択します。

Splunk Enterpriseへの転送設定1

転送の設定 [+新規作成]を選択します。

Splunk Enterpriseへの転送設定2

転送先のIndexerのIPとポートを入力し [保存]を選択します。

Splunk Enterpriseへの転送設定3

転送先が登録されると、データ転送の画面で転送先を確認できます。複数のIndexerへ自動ロードバランシングする場合、転送するそれぞれのIndexer IPとポートを入力、保存します。

Splunk Enterpriseへの転送設定4

(オプション)
Heavy Forwarderにおいて、ローカルでindexを作成する機能は、デフォルトでOFFになっています。データの転送とともに、ローカルでindexを作成する場合は、下記設定を確認してください。

※ライセンスを消費するため特定の要件以外ではデフォルトを推奨します。

[設定] > [転送と受信] > [転送のデフォルト]を選択します。

Splunk Enterpriseへの転送設定5

Splunk Enterpriseへの転送設定6

CLIから設定する場合 (Linux and Unixの場合)

Heavy Forwarderにて下記コマンドを実行します。

転送先のIndexerを登録する。
/opt/splunk/bin/splunk add forward-server <host>:<port>

<反映される内容>
/opt/splunk/etc/system/local/outputs.confに下記設定が追加されます。
[tcpout]
defaultGroup = default-autolb-group
[tcp:default-autolb-group]
server = <host>:<port>

※複数のIndexerへ転送する場合、コンマ区切りで記載されます。
例)server = <host1>:<port1>, <host2>:<port2>

License設定

Heavy ForwarderはSplunk Enterpriseインスタンスのため、ライセンスを登録する必要があります。

Heavy ForwarderをSplunk Enterprise(オンプレsplunk)License Masterのライセンス管理とします。

Heavy Forwarderにて下記コマンドを実行します。
/opt/splunk/bin/splunk edit licenser-localslave -master_uri https://<license master ip>:8089

3. Ingest action機能を用いたデータ前処理の方法

Ingest action機能によって、UI上でプレビューを確認しながら、ログのフィルタリング、マスキング、ルーティングを確認することができます。これまで、props.confやtransforms.confの設定ファイルを直接編集していましたが、これらの設定ファイルを編集することなく、前処理を設定できます。

3-1. Heavy ForwarderでIngest actionを用いるユースケース

主なユースケースは下記3つです。

  1. イベントをSplunk Cloud/Enterpriseに送る前にフィルターをかけることで、必要なbandwidthを削減できます
  2. イベントをSplunk Cloud/Enterpriseに送る前にマスキングすることで、個人情報を秘匿することができます
  3. 重要度の低いイベントをSplunk Cloud/Enterprise以外(例えばAWS S3)にルーティングすることで、Splunkのライセンス消費量を調節することができます

Heavy ForwarderでIngest actionを用いるユースケース

3-2. Ingest actionの設定方法

このブログではマスキングのユースケースに関する設定方法を紹介します。ルーティングやフィルターについてはドキュメントをご確認ください。

[設定] > [取り込みアクション]を選択します。

Ingest actionの設定画面1

Rulesetsタブから [New Ruleset]を選択します。

Ingest actionの設定画面2

処理対象のデータソースをプレビュー画面に表示します。プレビュー表示を確認しながら設定するため、処理設定は、転送しているデータ、またはIndex済のデータである必要があります。

ここではLive Captureからソースタイプsplunkd(splunkの内部ログです)を選択し、[Sample]をクリックします。

Ingest actionの設定画面3

右側のData Previewにサンプルデータが表示されます。このサンプルデータに対してマスキング処理を行います。

[規則の追加]から[Mask with Regular Expression]を選択します。

Ingest actionの設定画面4

Mask with Regexプロセスにおける[Match Regular Expression]に正規表現 [group=\w+]を入力します。また、[Replace Expression]に置き換える文字列 [group=XXX]を入力します。

[適用]をクリックすることで、Data Previewにてその反映結果を確認することができます。下記の画像では、group名をXXXに置換することができています。

Ingest actionの設定画面5

この設定内容がprops.conf、およびtransforms.confにどのように書き込まれるかを確認したい場合は、[Preview Config]を選択します。

Ingest actionの設定画面6

対象の文字列がMaskingされていることを確認できたら、[保存]を選択します。

Ingest actionの設定画面7

Rulesetsに設定が保存されます。

Ingest actionの設定画面8

Ingest actionについてはこちらの動画も参考にご確認ください。

終わりに

Heavy Forwarderはデータの取得やデータの前処理など、複雑な処理を実行することができます。データを転送するだけであればUniversal Forwarderがおすすめですが、その他の要件ありましたらHeavy Forwarderをぜひご利用ください。Happy Splunking!

多くのお客様の課題を解決できるSplunkの製品に感銘し入社。Global shared serviceチームに所属。製品のデモンストレーション、ワークショップなどSplunkの活用方法について提案、説明を実施。Splunk入社以前は、ラボオートメーションに関するハードウェアの提案を経験。

TAGS
Show All Tags
Show Less Tags