fatsheep's memo.txt

気になったこと、試したこと、その他もろもろを書いていきます。

SplunkをDockerで利用するための対応

f:id:fatsheep:20200601102142p:plain

備忘メモです。(今後は不定期にこのような記事も上げていこうかと思います。)

Splunkは公式でDockerイメージを公開しています。 hub.docker.com

1コマンドで起動できるので、何か連携を確認する際など重宝しています。 ただDockerの設定がデフォルトのままだとSplunkを利用するうえで問題があるので、その対応を行うためのメモです。

具体的には空き容量不足により、正常動作しない、というものです。 その対応として、Splunkをテスト利用することを前提に、Splunk側の空き容量チェック機能を無効にします。

※対処前は以下の画像のように、エラーが発生します。 f:id:fatsheep:20200531132828p:plain

Dockerイメージの取得

docker pull splunk/splunk:latest

SplunkのDockerイメージの起動

オプションとして、WEB画面のパスワードを渡します。(ユーザ名は「admin」です。)

docker run -d -p 8000:8000 -e "SPLUNK_START_ARGS=--accept-license" -e "SPLUNK_PASSWORD=password" --name splunk splunk/splunk:latest

起動後、空き容量チェック設定を無効化

定期的に「docker ps」コマンドを実行し、ステータスが「health: starting」から「healthy」になるのを確認します。

docker ps
CONTAINER ID        IMAGE                  COMMAND                  CREATED              STATUS                        PORTS                                                                           NAMES
3b245237769d        splunk/splunk:latest   "/sbin/entrypoint...."   About a minute ago   Up About a minute (healthy)   8065/tcp, 8088-8089/tcp, 8191/tcp, 9887/tcp, 0.0.0.0:8000->8000/tcp, 9997/tcp   splunk

その後、Splunkの設定ファイルをDockerコマンド経由で変更し、Splunkを再起動します。

docker exec -it splunk sudo -u splunk sed -i 's/minFreeSpace = 5000/minFreeSpace = 0/' /opt/splunk/etc/system/default/server.conf
docker exec -it splunk sudo -u splunk /opt/splunk/bin/splunk restart

再度管理画面へアクセスし、エラーがなくなっていることを確認します。 f:id:fatsheep:20200531133304p:plain


本問題はDockerのホスト側のディスク空き容量によって発生するようです。
本記事ではホスト側のディスクサイズが20GBの状態でエラーが発生しておりましたが、50GBで行ったところ問題が発生することはありませんでした。


参考

Can you help me get around the following error with my Splunkd health status on Docker Image? - Question | Splunk Answers