SplunkをDockerで利用するための対応
備忘メモです。(今後は不定期にこのような記事も上げていこうかと思います。)
Splunkは公式でDockerイメージを公開しています。 hub.docker.com
1コマンドで起動できるので、何か連携を確認する際など重宝しています。 ただDockerの設定がデフォルトのままだとSplunkを利用するうえで問題があるので、その対応を行うためのメモです。
具体的には空き容量不足により、正常動作しない、というものです。 その対応として、Splunkをテスト利用することを前提に、Splunk側の空き容量チェック機能を無効にします。
※対処前は以下の画像のように、エラーが発生します。
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
再度管理画面へアクセスし、エラーがなくなっていることを確認します。
本問題はDockerのホスト側のディスク空き容量によって発生するようです。
本記事ではホスト側のディスクサイズが20GBの状態でエラーが発生しておりましたが、50GBで行ったところ問題が発生することはありませんでした。