[Linux]Splunkなるものを使ってみる(インストール編)

Splunkとは、ログ分析基盤らしい

ちょいと前ぐらいからボチボチ流行っているログ分析基盤を作るソフト、「Splunk」。ビッグデータ解析でも用いられたりするとか。当方としては、一部ネットワークログがちゃんと読めてない、監視できてない状況が続いており、コレを用いてなんかできないか?と考えた次第です。

ぱっと触ったところでコレ良いなと思ったのは

  • ログのパターン抽出ができる(ランキング・比率まで出せるみたい)
  • ログの発生時間をグラフで追える(性能グラフとはまた違った観点で、トラフィックが追っかけられる)

と言ったとこかなぁと思ってます。

Splunkパッケージの取得

ここから拾えます(もしかしたら事前ユーザ登録が必要になるかも)。オンプレミス版はSplunk Enterpriseと呼ばれているようです。個人用途にフリー版も提供されており、そこはライセンスの切り替えで担保するようになっています。フリー版の制限事項としては

  • 個人利用に限る
  • 1日のログ取り込み量上限が500MBまで
  • ログ監視・通知機能なし
  • アクセス制御ができない

詳細事項はここに記載されているので参照するとよいかと思います。

Splunkのインストール

今回、Splunkのインストール先はログサーバにしました。ログサーバは単純にログを取り込み、一部ログ監視をしてメール発報する仕組みは取り入れていますが、基本はただひたすらログ取り込みをするためのサーバです。

今回Splunkを導入するに辺り現行スペック(1vCPU/1GB)では不足気味の印象を受けましたので増強(4vCPU/4GB)をしています。

以下の流れでインストールをしました。内容自体は単純です。

■ダウンロードパッケージの展開(splunkと言うディレクトリができる)
# tar zxvf splunk-7.0.1-2b5b15c4ee89-Linux-x86_64.tgz

■Splunk実行ユーザの作成
# useradd splunk
# passwd splunk

■解凍ディレクトリを/usr/local配下に配置
# mv ./splunk /usr/local/

■splunkディレクトリのオーナーをsplunk実行ユーザに付け替え
# chown -R splunk:splunk /usr/local/splunk

■splunk実行ユーザからログの参照を可能にする
# chmod 644 /var/log/remote_log/*

■ユーザを切り替える
# su - splunk

■Splunkの設定を行う
$ cd /usr/local/splunk/etc
$ cp splunk-launch.conf.default splunk-launch.conf
$ vi splunk-launch.conf

以下の文言をsplunk-launch.confに追記します。

SPLUNK_HOME=/usr/local/splunk

ここまでできたら前準備は終わりで、起動をします。splunk実行ユーザで開始することを忘れずに。

$ cd /usr/local/splunk/bin/
$ ./splunk start --accept-license

こんな出力が出たら一先ず起動完了です。

This appears to be your first time running this version of Splunk.
Copying '/usr/local/splunk/etc/openldap/ldap.conf.default' to '/usr/local/splunk/etc/openldap/ldap.conf'.
Generating RSA private key, 2048 bit long modulus
...............................................+++
........................................................+++
e is 65537 (0x10001)
writing RSA key

Generating RSA private key, 2048 bit long modulus
.........................................................................+++
......+++
e is 65537 (0x10001)
writing RSA key

Moving '/usr/local/splunk/share/splunk/search_mrsparkle/modules.new' to '/usr/local/splunk/share/splunk/search_mrsparkle/modules'.

Splunk> Finding your faults, just like mom.

Checking prerequisites...
 Checking http port [8000]: open
 Checking mgmt port [8089]: open
 Checking appserver port [127.0.0.1:8065]: open
 Checking kvstore port [8191]: open
 Checking configuration... Done.
 Creating: /usr/local/splunk/var/lib/splunk
 Creating: /usr/local/splunk/var/run/splunk
 Creating: /usr/local/splunk/var/run/splunk/appserver/i18n
 Creating: /usr/local/splunk/var/run/splunk/appserver/modules/static/css
 Creating: /usr/local/splunk/var/run/splunk/upload
 Creating: /usr/local/splunk/var/spool/splunk
 Creating: /usr/local/splunk/var/spool/dirmoncache
 Creating: /usr/local/splunk/var/lib/splunk/authDb
 Creating: /usr/local/splunk/var/lib/splunk/hashDb
New certs have been generated in '/usr/local/splunk/etc/auth'.
 Checking critical directories... Done
 Checking indexes...
 Validated: _audit _internal _introspection _telemetry _thefishbucket history main summary
 Done
 Checking filesystem compatibility... Done
 Checking conf files for problems...
 Done
 Checking default conf files for edits...
 Validating installed files against hashes from '/usr/local/splunk/splunk-7.0.1-2b5b15c4ee89-linux-2.6-x86_64-manifest'
 All installed files intact.
 Done
All preliminary checks passed.

Starting splunk server daemon (splunkd)... 
Generating a 2048 bit RSA private key
.................+++
.+++
writing new private key to 'privKeySecure.pem'
-----
Signature ok
subject=/CN=brahma.bluecore.net/O=SplunkUser
Getting CA Private Key
writing RSA key
Done
 [ OK ]

Waiting for web server at http://127.0.0.1:8000 to be available.......... Done


If you get stuck, we're here to help. 
Look for answers here: http://docs.splunk.com

The Splunk web interface is at http://brahma.bluecore.net:8000

Webコンソールでの初期ログイン

ブラウザで、「 http://<SplunkサーバのIPもしくはFQDN>:8000 」と入力します。日本語で表示させたい場合は「 http://<SplunkサーバのIPもしくはFQDN>:8000/ja-JP 」と入力すると良さそうです。

ログイン画面が出ます。初期パスワードは画面上に表示されてるとおりに入力します。すると、パスワード変更画面が表示されるので、変更パスワードを入力します。

ダッシュボード画面が表示されます。一旦Skipでよいかと。

ライセンスの変更

現状、ライセンスは「トライアル」の扱いになっており、500MB/日の制約はあるものの、Enterpriseの機能を一通り触れる状態になってます。ライセンス期限を気にするのがめんどいので、Freeライセンスへの切り替えを行います。

画面右上「設定」からポップアップメニューの下付近「ライセンス」をクリックしてライセンス管理画面を表示します。「ライセンスグループの変更」ボタンをクリックします。

「フリーライセンス」と言うのがあるので、それをクリックして「保存」をクリックします。

Splunkの再起動が求められますので、再起動を実施します。

再起動後、ライセンス管理画面を起動し、ライセンスが「Freeライセンスグループ」になっていればOKです。

あとは、サーバの設定やユーザアカウントの設定でタイムゾーンの設定をしておいたほうが良いように思います。最低限のセッティングとしてはコレで完了かなぁと思います。

転送されてきたデータログの追加等についてはまた次回ということで。