Fluentd+Elasticsearch+kibanaを使ったログ可視化(part1)


はじめに

ログの可視化をしたいと思い立ち、いろんなサイトを参考にして、まずはサーバの構築をしてみることにしました。
ということで、まず第一弾はサーバの構築をやっていきます。

構成

サーバを2台作ります。
サーバ1号機は、クライアントとして。サーバ2号機はサーバとして利用することとします。
サーバ1号機にはFluentd、サーバ2号機にはFluentd/Elasticsearch/kibanaをインストールします。
ざっくりはこんな感じ

環境

使用した環境は以下の通り。

HostOS version
macOS Sierra(10.12.2)
VirtualSW version
VirtualBox 5.1.12
ServerName GuestOS Memory Storage IPAddress
サーバ1号機 ubuntu-ja-16.04-desktop-amd64 2.0GB 16.0GB 172.168.0.1
サーバ2号機 ubuntu-ja-16.04-desktop-amd64 2.0GB 16.0GB 172.168.0.2
Used Software Version
Fluentd(td-agent) 2.3.4
Elasticsearch 5.1.1
kibana 5.1.1

参考サイト

http://qiita.com/kasaharu/items/b36c3c4fcd3dd969f544
http://tech-sketch.jp/2013/05/fluentd-buffer.html
http://docs.fluentd.org/articles/install-by-deb#gpg-key
http://www.linuxmania.jp/apt-install-java.html
http://blog.hrendoh.com/how-to-install-fluentd-elasticsearch-and-kibana4/

インストール

これから、サーバにインストールしたものを書いていきます。
尚、2017/01/08時点のことです。

サーバ1号機

Fluentdのインストール

次のコマンドをスーパーユーザで実行するだけでOKです。

# wget http://packages.treasure-data.com/debian/RPM-GPG-KEY-td-agent
# apt-key add RPM-GPG-KEY-td-agent
# curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-xenial-td-agent2.sh | sh

サーバ2号機

Fluentdのインストール

サーバ1号機と同じで、次のコマンドをスーパーユーザで実行するだけでOKです。

# wget http://packages.treasure-data.com/debian/RPM-GPG-KEY-td-agent
# apt-key add RPM-GPG-KEY-td-agent
# curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-xenial-td-agent2.sh | sh

Elasticsearchのインストール

ElasticsearchはJAVAが必要なので、一緒にJAVAのインストールもします。

# add-apt-repository ppa:webupd8team/java
# apt-get update
# apt-get install oracle-java8-set-default
# source /etc/profile.d/jdk.sh
# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.1.1.deb
# dpkg -i elasticsearch-1.2.1.deb

kibanaのインストール

kibanaをダウンロードして展開した後、起動スクリプトを用意して、サービスとして利用できるようにします。

# cd /opt
# wget https://artifacts.elastic.co/downloads/kibana/kibana-5.1.1-linux-x86_64.tar.gz
# tar zxvf kibana-5.1.1-linux-x86_64.tar.gz
# ln -s kibana-5.1.1-linux-x86_64 kibana
# /opt/kibana/bin/kibana
# curl https://raw.githubusercontent.com/akabdog/scripts/master/kibana4_init > /etc/init.d/kibana
# chmod +x /etc/init.d/kibana
# update-rc.d kibana defaults 99 10

これで、サーバ1号機、サーバ2号機のインストールは完了になります。

つまづいたところなど

その1:JAVAのインストール

個人的ですが、OpenJDKとOracleJDKのどちらにしようか迷ったあげく、Oracleを選択しました。
で、最初のコマンド
add-apt-repository ppa:webupd8team/java
を実行したら、いろいろ問い合わせ文言が出てきました。が、無視してEnterキーを教えて進めたことです。
ちゃんと読んでからやってもよかったかなと。
尚、サイトによっては"oracle-java8-set-default"のところが"oracle-java8-installer"になってます。
違いは、JAVAをインストールするだけか、そうでないかの違いです。
oracle-java8-installerはほんとにJAVAをインストールしてくれるだけになります。
oracle-java8-set-defaultは「読んで字のごとく」、デフォルト設定みたいなことをしてくれます。
source /etc/profile.d/jdk.sh
を実行すれば、JAVA_HOMEを設定してくれていい感じになります。

その2:kibanaの起動スクリプト

kibanaのインストールと言っても、tarを解凍して、/optに置いただけです。
せめて起動スクリプトくらい欲しいと思って検索したのですが、kibana4系の起動スクリプトについて
書かれているサイトが多かったのですが、kibana5についてはありませんでした。
ので、そのまま利用しています。使ってて今のところ問題はないので、このまま使っていきます。

その3:VirtualBoxのゲストOS間の通信

完全に忘れてました。サーバ1号機とサーバ2号機間で通信するのに、なんの設定もしてませんでした。
設定については、以下のURLを参考にさせていただきました。
http://linux2.g.hatena.ne.jp/lnznt/20120131/1328021979

さいごに

次回は、Fluentd/Elasticsearch/kibanaの設定をしていきます。