ログ可視化ツールの 3 点セット、Fluentd + Elasticsearch5 + Kibana5 をインストールしてみたのでメモ。全部で 6 回くらいを予定しています。バージョンは以下の通り。
- CentOS 7.2
- Fluentd 2.3.4
- Elasticseach 5.2.0
- Kibana 5.2.0
目次
- 構成
- client マシンに Fluentd をインストール
- elasticsearch マシンに Elasticsearch インストール
- elasticsearch マシンに Fluentd をインストール
- 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_
参考サイト
起動
起動
$ 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 です。
次回は Fluentd から Elasticsearch にデータを転送するあたりをやります。
-
Fluentd + Elasticsearch5 + Kibana5構築(2) Fluentd設定編
ログ可視化ツールの 3 点セット、Fluentd + Elasticsearch5 + Kibana5 を試すメモ 2 ...
続きを見る