karakaram-blog

Fluentd + Elasticsearch5 + Kibana5構築(1) インストール編

 ツイート 0  シェア 0  Google+1 0  Hatena 2

Fluentd + Elasticsearch5 + Kibana5のインストール方法

ログ可視化ツールの 3 点セット、Fluentd + Elasticsearch5 + Kibana5 をインストールしてみたのでメモ。全部で 6 回くらいを予定しています。バージョンは以下の通り。

  • CentOS 7.2
  • Fluentd 2.3.4
  • Elasticseach 5.2.0
  • Kibana 5.2.0

目次

  1. 構成
  2. client マシンに Fluentd をインストール
  3. elasticsearch マシンに Elasticsearch インストール
  4. elasticsearch マシンに Fluentd をインストール
  5. kibana マシンに Kibana をインストール

構成

VirtualBox で仮想マシンを 3 台立ち上げます。

マシン名 IPアドレス ミドルウェア
client 192.168.33.11 Apache, Fluentd
elasticsearch 192.168.33.12 Fluentd, Elasticsearch
kibana 192.168.33.13 Kibana

Vagrantfile はこんな感じ

Vagrant.configure(2) do |config|

config.vm.box = "bento/centos-7.2"

config.vm.define "client" do |vm|
vm.vm.hostname = "client"
vm.vm.network "private_network", ip: "192.168.33.11"
vm.vm.provider "virtualbox" do |vb|
vb.gui = false
vb.memory = "1024"
vb.cpus = "2"
end
end

config.vm.define "elasticsearch" do |vm|
vm.vm.hostname = "elasticsearch"
vm.vm.network "private_network", ip: "192.168.33.12"
vm.vm.provider "virtualbox" do |vb|
vb.gui = false
vb.memory = "2048"
vb.cpus = "2"
end
end

config.vm.define "kibana" do |vm|
vm.vm.hostname = "kibana"
vm.vm.network "private_network", ip: "192.168.33.13"
vm.vm.provider "virtualbox" do |vb|
vb.gui = false
vb.memory = "1024"
vb.cpus = "2"
end
end

end

client マシンに Fluentd をインストール

client マシンにログイン

$ vagrant ssh client

準備

公式サイト Before Installing Fluentd | Fluentd を参考に client マシンに Fluentd(td-agent) をインストールする準備をします。

chrony(ntp) をインストール

$ sudo yum install chrony

ファイルディスクリプタの上限を増やす

root soft nofile 65536
root hard nofile 65536
* soft nofile 65536
* hard nofile 65536

設定確認

$ ulimit -n

65536

Fluentd インストール

公式サイトの Installing Fluentd Using rpm Package | Fluentd を参考に Fluentd 本体をインストールします。

インストール

$ curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh

起動

$ sudo systemctl start td-agent.service

自動起動設定

$ systemctl enable td-agent.service

動作確認

$ curl -X POST http://localhost:8888/debug.test -d 'json={"action":"login","user":2}'

/var/log/td-agent/td-agent.log にログが出力されていれば OK。

$ tail /var/log/td-agent/td-agent.log

2017-01-26 21:42:41 +0900 debug.test: {"action":"login","user":2}

elasticsearch マシンに Elasticsearch インストール

elasticsearch マシンにログイン

$ vagrant ssh elasticsearch

JDK インストール

Setup Elasticsearch > Java(JVM) Version にある通り、Elasticsearch には Java8 が必要です。OracleJDK と OpenJDK どちらにも対応しているとのこと。

今回は OpenJDK1.8 をインストール。

$ sudo yum install java-1.8.0-openjdk

Elasticsearch インストール

Install Elasticsearch with RPM を参考に Elasticsearch をインストールします。

GPG KEY登録

$ sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

リポジトリ登録

[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

インストール

$ sudo yum install elasticsearch

他のホストから接続できるように設定変更

デフォルトの状態だと localhost からしか繋がらないので、network.host パラメータを編集して他のホストから接続できるようにします。

network.host: _local_, _site_

参考サイト

Network Settings

起動

起動

$ sudo systemctl start elasticsearch.service

自動起動設定

$ systemctl enable elasticsearch.service

動作確認

$ curl -XGET 'localhost:9200/?pretty'

{
"name" : "a78HTlj",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "Jk0g3BCPTfSCv2xLAiw88A",
"version" : {
"number" : "5.1.2",
"build_hash" : "c8c4c16",
"build_date" : "2017-01-11T20:18:39.146Z",
"build_snapshot" : false,
"lucene_version" : "6.3.0"
},
"tagline" : "You Know, for Search"
}

elasticsearch マシンに Fluentd をインストール

elasticsearch マシンにログイン

$ vagrant ssh elasticsearch

Fluentd をインストール

elasticsearch マシンに client マシンと同じ手順で Fluentd をインストール します。

fluent-plugin-elasticsearch をインストール

Fluentd から Elasticsearch にデータを登録するためのプラグインをインストールします。

$ sudo /opt/td-agent/embedded/bin/fluent-gem install fluent-plugin-elasticsearch

kibana マシンに Kibana をインストール

kibana マシンにログイン

$ vagrant ssh kibana

Install Kibana with RPM を参考に、kibana マシンに Kibana をインストールします。

GPG KEY登録

$ sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

リポジトリ登録

[kibana-5.x]
name=Kibana repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

インストール

$ sudo yum install kibana

/etc/kibana/kibana.yml 編集

$ sudo vi /etc/kibana/kibana.yml

ホストマシンから接続できるように server.host を設定

server.host: 0.0.0.0

elasticsearch に接続できるように elasticsearch.url を設定

elasticsearch.url: "http://192.168.33.12:9200"

起動

$ sudo systemctl start kibana.service

自動起動設定

$ systemctl enable kibana.service

動作確認

ホストマシンのブラウザから http://192.168.33.13/status にアクセスして Status: Green の画面が表示されれば OK です。

Kibana status

次回は Fluentd から Elasticsearch にデータを転送するあたりをやります。

 ツイート 0  シェア 0  Google+1 0  Hatena 2