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

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

#構成
サーバを２台作ります。
サーバ１号機は、クライアントとして。サーバ２号機はサーバとして利用することとします。
サーバ１号機にはFluentd、サーバ２号機にはFluentd/Elasticsearch/kibanaをインストールします。
ざっくりはこんな感じ
<img width="1239" alt="Composition2.png" src="https://qiita-image-store.s3.amazonaws.com/0/105220/fbaf7401-2674-f472-ccca-de1057e6f5d8.png">

##環境

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

|HostOS|version|
|:-----|:------|
|macOS |Sierra(10.12.2)|

|VirtualSW|version|
|:-----|:-----|
|VirtualBox|5.1.12|

|ServerName|GuestOS|Memory|Storage|IPAddress|
|:-----|:--------------------------------|:-----|:-----|:-----|
|サーバ１号機|ubuntu-ja-16.04-desktop-amd64|2.0GB|16.0GB|172.168.0.1|
|サーバ２号機|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時点のことです。

##サーバ１号機

###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
```

##サーバ２号機

###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
```

###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
```

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

#つまづいたところなど

###その１：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を設定してくれていい感じになります。

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

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


#さいごに

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