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

2017年1月26日

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アドレスミドルウェア
client192.168.33.11Apache, Fluentd
elasticsearch192.168.33.12Fluentd, Elasticsearch
kibana192.168.33.13Kibana

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 にデータを転送するあたりをやります。

FluentdからElasticsearchにデータ登録
Fluentd + Elasticsearch5 + Kibana5構築(2) Fluentd設定編

ログ可視化ツールの 3 点セット、Fluentd + Elasticsearch5 + Kibana5 を試すメモ 2 ...

続きを見る

-技術ブログ
-