Posted at

fluentd+Elasticsearch+kibanaをCentOS7.4にインストール

More than 1 year has passed since last update.

CentOS7.4にfluentd、Elasticsearch、kibanaをインストールして

データを可視化できる基盤を構築する。

データを食わすところまでは未実施。

まずはインストールしてKibanaにアクセスできるところまで。


1. javaのインストール

$ yum install java-1.8.0-openjdk-devel.x86_64

yum search java で検索掛けて一番新しい1.8.0のdevel版を入れた。


2. Elasticsearchのインストール

yumで入らない。パッケージを取ってくる必要あり。

/usr/bin/elasticsearchにインストールを行う。

$ mkdir elasticsearch

$ cd elasticsearch/
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.1.rpm

RPMのURLは公式サイトのものを使用。

メッセージで自動起動させたければ次のコマンドを打てと出てるのでコピペして実行

$ sudo systemctl daemon-reload

$ sudo systemctl enable elasticsearch.service
Created symlink from /etc/systemd/system/multi-user.target.wants/elasticsearch.service to /usr/lib/systemd/system/elasticsearch.service.


3. Fluentdのインストール

公式のインストールガイドに従い

以下のコマンドでインストールする。

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


4. FluentdにElasticsearch用プラグインを追加

先に必要なパッケージをインストール

[root@syslog elasticsearch]# yum -y install gcc libcurl-devel

必要なパッケージは入れたのでFluentdのElasticsearch用プラグインを追加する

追加した後ついでに自動起動も有効化

$ td-agent-gem install fluent-plugin-elasticsearch


5. kibanaをインストール

公式サイトから取ってきてインストール。

$ wget https://artifacts.elastic.co/downloads/kibana/kibana-6.3.1-x86_64.rpm

$ rpm -ivh kibana-6.3.1-x86_64.rpm

ElasticsearchとKibana共にrpmで入れたので /usr/share/にインストールされている


6. kibanaの動作確認

とりあえず動いてるか確認する

Kibanaを落としたフォルダでkibanaで起動する。

ログが出れば起動はしているはず。

確認できたらCtrl+Cで一度戻る。


7. Firewallに穴あけ

firewalldで使用するサービスファイルは用意されいるので

それを使用してfirewallに穴あけ設定を実施。

$ firewall-cmd --permanent --zone=public  --add-service=kibana

$ firewall-cmd --reload

$ firewall-cmd --list-all

public (active)
target: default
icmp-block-inversion: no
interfaces: eth1
sources:
services: ssh dhcpv6-client kibana
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

serviceにkibanaが追加されてればOK


8. Kibanaのlisten設定を変更

Firewallに穴あけしても、デフォルトではlocahostでlistenしているため

外からアクセスできない。

/etc/kibana/kibana.ymlが設定ファイルとなっているので以下のように書き換える。


/etc/kibana/kibana.yml

# Kibana is served by a back end server. This setting specifies the port to use.

#server.port: 5601

# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
#server.host: "localhost"
server.host: xx.xx.xx.xx  ##ここをアクセスしたいIPアドレスに変更。

### 以下のファイル内容は特に変更無し。



9. kibana自動起動化

忘れてたので再起動したらアクセスできなかった。

忘れずにやっておきましょう。

$ systemctl enable kibana

設定したIPアドレスへアクセスするとKibanaの画面が開く。

fluentdでデータを食わせてElasticsearchに投げる状態にしたいが、

そこまでは手を付けれていないので、また今度。