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の部分)