AWSの無料枠でSplunk Freeをインストールしてみた

Pocket

Splunk のSPL言語を勉強したいんだけど、試せる環境がない!
そんなわけで、 WordPressを動作させているAWS上のインスタンスにSplunk Freeをインストールしてみました。
しかしながら、無料枠で構築しているインスタンスなので、ディスク容量が10GBと限られています。
したがって、ディスク容量をあけてから構築する必要がありました。

インストータをダウンロード後、ディスクを開けるところから始まる

最初に書いたとおり、t2.microというAWSの無料枠にSplunkをインストールする為にはディスク容量を開ける必要があります。
インストーラのサイズは380MB程度ですが、それをインストールする為には2GB程度の空き容量が必要となります。またその後にデータを取り込むことを考えると、もっと必要になりそうです。

2020.7.20 追記
インストール2日後に改めて環境を見てみると、Splunk が出力するログが膨れ上がっており、その影響でWordPressサーバがダウンしていました。😅
もしかしたら、ディスクの空き容量が5GBくらいないと厳しいかもしれません。

1.インストーラのダウンロード

Splunk のサイトにアクセスすると、Splunk Enterpriseの試用版をダウンロードすることが可能です。この試用版は15日経過後、Splunk Free版として使用し続けることができそうです。

以下の画面のようにwgetでダウンロードすることが可能ですので、Linux(Ubuntu)のコマンドラインから直接ダウンロードできます。

以下、ダウンロードした際のコマンド画面です。AWSからダウンロードしているのであっという間にダウンロードできました。

2.ディスクの空き容量を増やす

インストーラをダウンロード後に空き容量を確認したところ、500MG程度空いていたのでいけるかなと思いましたが、やはりインストール中に容量不足のエラーが出て止まってしまいました。
そこで、以下の方法で不要なファイルを削除することにしました。

2.1 更新に伴い必要なくなったパッケージを削除

Ubuntu では apt-get autoremove コマンドを使うとOSの?更新に伴い不要となったパッケージを削除してくれるようです。

$ apt-get autoremove

これにより、下図のとおり300MB近く空きました。

2.2 パッケージキャッシュをクリア

これはどれくらい効果があったのかよくわかりませんでしたが、apt のパッケージキャッシュをクリアできるということだったので、以下のコマンドを実行しました。

$ apt-get clean

2.3 不要な linux-image パッケージを削除

以上で1.3GMくらいディスクに空き容量ができましたが、まだSplunkのインストールに失敗します。
そこで、古い linux kernel のパッケージを消すために以下のコマンドを実行しました。

$ dpkg -l ‘linux-‘ | sed ‘/^ii/!d;/’”$(uname -r | sed “s/(.)-([^0-9]+)/\1/”)”‘/d;s/^[^ ]* [^ ]* ([^ ])./\1/;/[0-9]/!d’ | xargs sudo apt-get -y purge

出典元:Cleanup Unused Linux Kernels in Ubuntu
https://markmcb.com/2013/02/04/cleanup-unused-linux-kernels-in-ubuntu/

なお、このコマンドを実行する前に、以下のコマンドでインストールされていパッケージと、今現在使っているLinuxカーネルを念のため確認しておくとよいようです。

$ dpkg -l ‘linux-image-*’
$ uname -r

以上で2GB近くの空き容量が出来、ようやくSplunkのインストールができるようになりました。

3.Splunkのインストールと起動

ここまで来たら、Splunk のインストールは非常に簡単です。以下のコマンドを実行します。

$ sudo dpkg -i <splunkのインストールパッケージ(.debファイル)>

インストールが始まると以下のようにおそらくhttps用の暗号鍵が作成されたあと、自動的にSplunkが起動すると思います。
なお、初期はhttpで起動するので、インターネット経由でアクセスする必要がある場合には、https で起動しなおしてください。方法はコマンドラインやWeb UI経由などいくつかあるようです。

もし自動起動しなかった場合は、以下の操作で起動可能です。なおこの際に上図のようにsudoをつけて起動しようとするとsplunkのパスワードを聞かれるようなので、以下のようにsplunk アカウントにスイッチした後、sudo を付けず実行します。
(なお、splunk アカウントはパッケージインストール時に勝手に作られるようです。)

$ cd /opt/splunk/
$ sudo su splunk
splunk~$ /opt/splunk/bin/splunk start

これでSplunkの起動が完了しましたが、AWS上で起動した場合、お家のPCからアクセスするにはネットワークACLやロードバランサーの設定、通信のhttps化をする必要があります。

この作業も結構大変だったので、別のページとして記載しておきたいと思います。

2020.12.19 後記

最近はもうSpunkをAWS上で利用しなくなったので、アンインストールすることにしました。(なんか、1GB以上使っているし。。)
しかしながら、下記のインストール済パッケージを確認するコマンドで確認してもSplunkが出てきませんでした。(もしかしたら、以前、パッケージ自体は削除したのかもしれませんが。。。)

$ sudo dpkg -l

また、他のサイトをいろいろと検索してみましたが、結局、Splunkの消し方がよくわからなかったので、/opt/splunk を丸ごと消すことにしました。

これで2GB以上、余裕ができましたー。(/dev/xvda1の部分)