次に、Intermediate Forwarderおよびログ取得対象サーバーにForwarderをインストールし、ログ取り込み設定を行います。
1. Universal ForwarderとAdd-onのダウンロード先
本章では、wgetコマンドによってインターネット上からUniversal Forwarderのインストーラーを直接ダウンロードする手順としています。 インターネットに接続できない環境に構築する場合は、Splunk公式サイトからインストーラーをダウンロードしておく必要がありますので注意してください。
Splunk Universal Forwarderのダウンロード先は以下の通りです。
Splunk Universal Forwarder ダウンロード
https://www.splunk.com/ja_jp/download/universal-forwarder.html
SplunkのLinuxインストーラーは、内蔵しているCPUによってインストーラーが分かれています。 対応していないCPUだとインストール時にエラーとなるため、インストール後に不具合を起こすことはないのですが、 可能であれば事前にCPUを確認したうえでダウンロードするインストーラーを選んでおくとよいでしょう。
以下コマンドを実行し、出力がx86_64であれば64bit用インストーラー、出力がaarch64であればARM64用インストーラーが必要です。
uname -m
また、ログ取得元サーバーにインストールするAdd-onは以下よりダウンロードし、サーバーに転送しておいてください。
Splunk Add-on for Microsoft Windows(Splunk_TA_windows)
https://splunkbase.splunk.com/app/742
Splunk Add-on for Unix and Linux(Splunk_TA_nix)
2. Intermediate ForwarderへのSplunkインストール
最初に、Intermediate Forwarder(Ubuntu)へUniversal Forwarderをインストールします。 必要な手順の概要は以下の通りです。
- UFを実行するOSユーザー(splunk)の作成
- UFインストーラーのダウンロードと展開
- 初回起動/初期設定
- ログ転送クレデンシャルAppのインストール
- 動作確認
それぞれ順に操作していきます。 最初に、OS上でUFを実行するユーザー(splunk)を作成します。パスワードは任意で決めてください。 作成後はsplunkユーザーにスイッチします。以後、インストール作業などはsplunkユーザーで操作するようにしてください。
sudo useradd -m splunk
sudo passwd splunk
# (任意のパスワードを新規に指定)
次に、インストーラーをダウンロードし、/optディレクトリ配下にファイルを展開します。
wget -O splunkforwarder-10.4.3-4174a2deda5d-linux-amd64.tgz "https://download.splunk.com/products/universalforwarder/releases/10.4.3/linux/splunkforwarder-10.4.3-4174a2deda5d-linux-amd64.tgz"
sudo tar -xzvC /opt -f splunkforwarder-10.4.3-4174a2deda5d-linux-amd64.tgz
次に、インストーラー展開後、初回起動を行います。初回起動時に様々な初期ファイルが同時に生成されます。 管理者ユーザー名とパスワードも、初回起動時に指定することが可能です。ここでは管理者ユーザー名はデフォルトのadminとしています。パスワードは任意の値に変更可能です。
無事に初回起動が完了したら、OS起動時にブートスタートするための設定と、Splunk上で表示されるデフォルトのホスト名を指定します。 このホスト名も任意の値に変更することが可能です。 また最後に、他のForwarderからログを9997ポートで受信できるようにしておきます。
# admin/splunklab123!で初回起動(変更可)
sudo /opt/splunkforwarder/bin/splunk start --accept-license --answer-yes --seed-passwd splunklab123!
sudo /opt/splunkforwarder/bin/splunk stop
# 初回起動後にディレクトリオーナーをsplunkに変更
sudo chown -R splunk:splunk /opt/splunkforwarder
sudo /opt/splunkforwarder/bin/splunk enable boot-start -systemd-managed 1 -user splunk
sudo /opt/splunkforwarder/bin/splunk start
# 再起動したため、ログインを実施(adminユーザーとパスワードを再入力)
sudo -u splunk /opt/splunkforwarder/bin/splunk login
# 初期設定(デフォルトのホスト名/9997ポート受信設定)
sudo -u splunk /opt/splunkforwarder/bin/splunk set servername int-fwd
sudo -u splunk /opt/splunkforwarder/bin/splunk set default-hostname int-fwd
sudo -u splunk /opt/splunkforwarder/bin/splunk enable listen 9997
sudo /opt/splunkforwarder/bin/splunk restart
初期設定完了後、ログ転送クレデンシャルAppをインストールします。 これをインストールすることで、Intermediate ForwarderがSplunk Cloudにログを転送できるようになります。 ログ転送クレデンシャルはインターネットから直接アクセスすることは推奨されていないため、 あらかじめscpなどでローカル端末からサーバーに転送するなどしておいてください。
# カレントディレクトリにsplunkclouduf.splが存在している想定で実施
# splunkユーザー権限でインストールされるため、ファイル保管場所やオーナーなどをsplunkユーザー用に変更してからインストール実施
sudo mv splunkclouduf.spl /home/splunk/
sudo chown -R splunk:splunk /home/splunk/splunkclouduf.spl
sudo -u splunk /opt/splunkforwarder/bin/splunk install app /home/splunk/splunkclouduf.spl
sudo /opt/splunkforwarder/bin/splunk restart
作業が完了したら、Splunk Cloudにログインし、Search & Reporting Appを選択し、サーチ画面で以下のサーチを実行してみましょう。 Intermediate Forwarderのホスト名がhostに入っているログが表示されれば、無事に内部ログが転送されるように設定できています。
index=_internal host=int-fwd
3. 末端Forwarder(Ubuntu)へのSplunkインストール
次に、末端サーバーへのインストールも行っていきます。 必要な手順の概要は以下の通りです。 1,2はほぼ同様です。3の設定内容が少し変わり、4でクレデンシャルの代わりにログ取り込みのためのAdd-onを導入します。
- UFを実行するOSユーザー(splunk)の作成
- UFインストーラーのダウンロードと展開
- 初回起動/初期設定
- Add-onインストールと修正
- 動作確認
sudo useradd -m splunk
sudo passwd splunk
# (任意のパスワードを新規に指定)
wget -O splunkforwarder-10.4.3-4174a2deda5d-linux-amd64.tgz "https://download.splunk.com/products/universalforwarder/releases/10.4.3/linux/splunkforwarder-10.4.3-4174a2deda5d-linux-amd64.tgz"
sudo tar -xzvC /opt -f splunkforwarder-10.4.3-4174a2deda5d-linux-amd64.tgz
末端のForwarderでは、ログをIntermediate Forwarder経由で転送するため、 転送先にIntermediate ForwarderのIPアドレスを指定することに注意してください。
# admin/splunklab123!で初回起動(パスワードは変更可)
sudo /opt/splunkforwarder/bin/splunk start --accept-license --answer-yes --seed-passwd splunklab123!
sudo /opt/splunkforwarder/bin/splunk stop
# 初回起動後にディレクトリオーナーをsplunkに変更
sudo chown -R splunk:splunk /opt/splunkforwarder
sudo /opt/splunkforwarder/bin/splunk enable boot-start -systemd-managed 1 -user splunk
sudo /opt/splunkforwarder/bin/splunk start
# 再起動したため、ログインを実施(adminユーザーとパスワードを再入力)
sudo -u splunk /opt/splunkforwarder/bin/splunk login
# 初期設定(デフォルトのホスト名/Intermediate Forwarderへの転送設定)
sudo -u splunk /opt/splunkforwarder/bin/splunk set servername uf-ubuntu
sudo -u splunk /opt/splunkforwarder/bin/splunk set default-hostname uf-ubuntu
sudo -u splunk /opt/splunkforwarder/bin/splunk add forward-server <intermediate forwarderのIPアドレス>:9997
sudo /opt/splunkforwarder/bin/splunk restart
ログ取得元サーバーでは、データ取り込み対象ログのモニター設定を有効化する必要があります。 ここでは、Splunk Add-on for Unix and Linux(Splunk_TA_nix)を利用して対象となるログのモニターを有効化します。 このAdd-onには、事前定義されたLinuxログを取り込むためのソースタイプ設定などが含まれています。
# カレントディレクトリにsplunk-add-on-for-unix-and-linux_1033.splが存在している想定で実施
# splunkユーザー権限でインストールされるため、ファイル保管場所やオーナーなどをsplunkユーザー用に変更してからインストール実施
sudo mv splunk-add-on-for-unix-and-linux_1033.spl /home/splunk/
sudo chown -R splunk:splunk /home/splunk/splunk-add-on-for-unix-and-linux_1033.spl
sudo -u splunk /opt/splunkforwarder/bin/splunk install app /home/splunk/splunk-add-on-for-unix-and-linux_1033.spl
sudo -u splunk mkdir -p /opt/splunkforwarder/etc/apps/Splunk_TA_nix/local
sudo -u splunk vi /opt/splunkforwarder/etc/apps/Splunk_TA_nix/local/inputs.conf
# (inputs.confを修正)
新しく作成されたSplunk_TA_nix/local/inputs.confには、以下のような設定(Stanzaと呼ばれます)を追加します。
[monitor:///var/log]
disabled = 0
index = test-nix
設定が完了したら再起動してください。
sudo /opt/splunkforwarder/bin/splunk restart
作業が完了したら、サーチ画面で以下のサーチを実行し、Ubuntuのホスト名が表示されるか確認してください。
# 内部ログの転送確認(表示されない場合は手順#1-3を確認)
index=_internal host=uf-ubuntu
# /var/logの転送確認(表示されない場合は手順#4を確認)
index=test-nix host=uf-ubuntu
4. 末端Forwarder(Windows)へのSplunkインストール
次にWindowsへのインストールも行います。 内容はほぼ同様ですが、コマンドがWindowsであるため異なっています。 GUIでもインストールは可能ですが、ここではCLIでインストールする手順を紹介します。
- UFインストール
- 初期設定
- Add-onインストールと修正
- 動作確認
# C:\tmpフォルダ上をカレントフォルダとして作業
mkdir C:\tmp
cd C:\tmp
wget -O splunkforwarder-10.4.3-4174a2deda5d-windows-x64.msi "https://download.splunk.com/products/universalforwarder/releases/10.4.3/windows/splunkforwarder-10.4.3-4174a2deda5d-windows-x64.msi"
# admin/splunklab123!で初回起動(パスワードは変更可)
Start-Process msiexec.exe -ArgumentList "/i splunkforwarder-10.4.3-4174a2deda5d-windows-x64.msi AGREETOLICENSE=yes SPLUNKPASSWORD=splunklab123! /quiet" -Wait
# ログイン(adminユーザーとパスワードを入力)
."C:\Program Files\SplunkUniversalForwarder\bin\splunk.exe" login
# 初期設定(デフォルトのホスト名/Intermediate Forwarderへの転送設定)
."C:\Program Files\SplunkUniversalForwarder\bin\splunk.exe" set servername uf-windows
."C:\Program Files\SplunkUniversalForwarder\bin\splunk.exe" set default-hostname uf-windows
."C:\Program Files\SplunkUniversalForwarder\bin\splunk.exe" add forward-server <intermediate forwarderのIPアドレス>:9997
最後に、Splunk Add-on for Windows(Splunk_TA_windows)をインストールし、Splunk_TA_windows/local/inputs.confを以下のように修正します。
."C:\Program Files\SplunkUniversalForwarder\bin\splunk.exe" install app .\splunk-add-on-for-microsoft-windows_1102.spl
mkdir "C:\Program Files\SplunkUniversalForwarder\etc\apps\Splunk_TA_windows\local"
New-Item "C:\Program Files\SplunkUniversalForwarder\etc\apps\Splunk_TA_windows\local\inputs.conf"
Linuxの時と同じく、新しくSplunk_TA_windows\local\inputs.confに対し、以下のような設定(Stanzaと呼ばれます)を追加します。
[WinEventLog://Application]
disabled = 0
index = test-win
[WinEventLog://Security]
disabled = 0
index = test-win
[WinEventLog://System]
disabled = 0
index = test-win
作業が完了したら再起動です。 (GUIで「サービス」からSplunkForwarderサービスを再起動しても構いません)
."C:\Program Files\SplunkUniversalForwarder\bin\splunk.exe" restart
作業が完了したら、サーチ画面で以下のサーチを実行し、Windowsのhostフィールドを持つログが表示されるか確認してください。
# 内部ログの転送確認(表示されない場合は手順#1-2を確認)
index=_internal host=uf-windows
# Windowsイベントログの転送確認(表示されない場合は手順#3を確認)
index=test-win host=uf-windows
5. データ取り込みの確認
すべての設定が終わったら、Splunk Cloudの管理画面にログインし、 以下のサーチを実行して、実際にすべてのデータが届いていることを確認しましょう。 (転送できているはずなのにログが表示されない場合、時間範囲が狭い可能性があります。サーチ実行ボタンの右にある時間範囲を広げると表示されることがあります)
index=*
| stats count BY index host source sourcetype