#はじめに
ログ収集、可視化などに良く使われているらしいfluentd, Elasticsearch, kibanaを試してみた時のメモです。
色々と応用が利きそうなので、これらを中心に色々と試してみたいと思います。
冗長化とかは置いておいて、とりあえず1環境内で動作検証を行うための最低限の構成で動作検証することを目指します。
##関連記事
fluentd/Elasticsearch/kibanaを試す: (1)インストール
fluentd/Elasticsearch/kibanaを試す: (2)基本構成/起動/停止
#全体像/概要
fluentdでログを収集-加工し、Elasticsearchに蓄積します。蓄積されたデータをkibanaを使って可視化するという流れを想定します。
##fluentd
ログ収集のためのミドルウェアです。
様々な場所にある様々なフォーマットのログを収集、加工するための各種サポート機能が提供されています。
開発: TreasureData Inc.
ライセンス: Apache License 2.0
##Elasticsearch
収集したデータを蓄えるデータストアとしての機能、および、そのデータを検索する機能を提供するミドルウェアです。
Apache Luneneという全文検索のライブラリを利用しています。
開発: Elastic社
ライセンス: Apache License 2.0
##kibana
データを分析、可視化するためのツールです。
Webのユーザーインターフェースを通して、集計処理やグラフ化、ダッシュボード作成などを行えます。
開発: Elastic社
ライセンス: Apache License 2.0
#環境情報
とりあえずなるべく新しいバージョンで。
REHL V7.5
fluentd V1.0 (td-agent V3)
Elasticsearch V6.2
kibana V6.2
#インストール
fluentd
参考: Installing Fluentd Using rpm Package
上のリンクの指示に従い、curl経由でインストール用のシェルスクリプトを入手して実行!
[root@test06 ~]# curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent3.sh | sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 849 100 849 0 0 1862 0 --:--:-- --:--:-- --:--:-- 1865
==============================
td-agent Installation Script
==============================
This script requires superuser access to install rpm packages.
You will be prompted for your password by sudo.
読み込んだプラグイン:langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
treasuredata | 2.9 kB 00:00:00
読み込んだプラグイン:langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ td-agent.x86_64 0:3.1.1-0.el7 を インストール
--> 依存性の処理をしています: redhat-lsb-core のパッケージ: td-agent-3.1.1-0.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ redhat-lsb-core.x86_64 0:4.1-27.el7 を インストール
--> 依存性の処理をしています: redhat-lsb-submod-security(x86-64) = 4.1-27.el7 のパッケージ: redhat-lsb-core-4.1-27.el7.x86_64
--> 依存性の処理をしています: spax のパッケージ: redhat-lsb-core-4.1-27.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ redhat-lsb-submod-security.x86_64 0:4.1-27.el7 を インストール
---> パッケージ spax.x86_64 0:1.5.2-13.el7 を インストール
--> 依存性解決を終了しました。
依存性を解決しました
==========================================================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
==========================================================================================================================
インストール中:
td-agent x86_64 3.1.1-0.el7 treasuredata 44 M
依存性関連でのインストールをします:
redhat-lsb-core x86_64 4.1-27.el7 rhel-dvd 37 k
redhat-lsb-submod-security x86_64 4.1-27.el7 rhel-dvd 15 k
spax x86_64 1.5.2-13.el7 rhel-dvd 260 k
トランザクションの要約
==========================================================================================================================
インストール 1 パッケージ (+3 個の依存関係のパッケージ)
総ダウンロード容量: 44 M
インストール容量: 148 M
Downloading packages:
警告: /run/media/root/RHEL-7.5 Server.x86_64/Packages/redhat-lsb-core-4.1-27.el7.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fd431d51: NOKEY
redhat-lsb-core-4.1-27.el7.x86_64.rpm の公開鍵がインストールされていません
td-agent-3.1.1-0.el7.x86_64.rpm | 44 MB 00:00:14
--------------------------------------------------------------------------------------------------------------------------
合計 3.1 MB/s | 44 MB 00:00:14
file:///run/media/root/RHEL-7.5%20Server.x86_64/RPM-GPG-KEY-redhat-release から鍵を取得中です。
Importing GPG key 0xFD431D51:
Userid : "Red Hat, Inc. (release key 2) <security@redhat.com>"
Fingerprint: 567e 347a d004 4ade 55ba 8a5f 199e 2f91 fd43 1d51
From : /run/media/root/RHEL-7.5%20Server.x86_64/RPM-GPG-KEY-redhat-release
Importing GPG key 0x2FA658E0:
Userid : "Red Hat, Inc. (auxiliary key) <security@redhat.com>"
Fingerprint: 43a6 e49c 4a38 f4be 9abf 2a53 4568 9c88 2fa6 58e0
From : /run/media/root/RHEL-7.5%20Server.x86_64/RPM-GPG-KEY-redhat-release
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : spax-1.5.2-13.el7.x86_64 1/4
インストール中 : redhat-lsb-submod-security-4.1-27.el7.x86_64 2/4
インストール中 : redhat-lsb-core-4.1-27.el7.x86_64 3/4
インストール中 : td-agent-3.1.1-0.el7.x86_64 4/4
adding 'td-agent' group...
adding 'td-agent' user...
Installing default conffile...
prelink detected. Installing /etc/prelink.conf.d/td-agent-ruby.conf ...
Configure td-agent to start, when booting up the OS...
THANK YOU FOR USING TREASURE DATA’s PACKAGED VERSION OF FLUENTD (TD-AGENT). IF YOU ARE NOT A TREASURE DATA CUSTOMER AND NEED HELP TROUBLESHOOTING OR THE ENTERPRISE VERSION VISIT https://fluentd.treasuredata.com
rhel-dvd/productid | 1.6 kB 00:00:00
検証中 : redhat-lsb-core-4.1-27.el7.x86_64 1/4
検証中 : redhat-lsb-submod-security-4.1-27.el7.x86_64 2/4
検証中 : spax-1.5.2-13.el7.x86_64 3/4
検証中 : td-agent-3.1.1-0.el7.x86_64 4/4
インストール:
td-agent.x86_64 0:3.1.1-0.el7
依存性関連をインストールしました:
redhat-lsb-core.x86_64 0:4.1-27.el7 redhat-lsb-submod-security.x86_64 0:4.1-27.el7 spax.x86_64 0:1.5.2-13.el7
完了しました!
Installation completed. Happy Logging!
シェル・スクリプト中では、fluentdのインストールを行うためにyum repositoryを新たに追加し、yumによりインストールされるようです。つまり、インターネットへの接続が必要です。
実行後は以下のリポジトリ定義が追加されています。
[treasuredata]
name=TreasureData
baseurl=http://packages.treasuredata.com/3/redhat/$releasever/$basearch
gpgcheck=1
gpgkey=https://packages.treasuredata.com/GPG-KEY-td-agent
以下の辺りにファイルが展開されます。
- モジュール類: /opt/td-agent/
- 構成ファイル: /etc/td-agent/td-agent.conf
- ログ: /var/log/td-agent/
以下からrpmパッケージをダウンロードしてインストールすることもできるっぽい。
download fluentd
Elasticsearch
参考: Install Elasticsearch with RPM - Download and install the RPM manually
zipをダウンロードして展開するという方法もあるようですが、systemdでの起動/停止管理ができたりするのでRPMでのインストールがお勧め。
ここではrpmパッケージをダウンロードしてrpmコマンドでインストールするやり方をやってみます。
[root@test06 /Inst_Image/elasticsearch624]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.rpm
--2018-05-22 10:49:06-- https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.rpm
artifacts.elastic.co (artifacts.elastic.co) をDNSに問いあわせています... 107.21.237.188, 107.21.253.15, 107.21.237.95, ...
artifacts.elastic.co (artifacts.elastic.co)|107.21.237.188|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 28992177 (28M) [binary/octet-stream]
`elasticsearch-6.2.4.rpm' に保存中
100%[================================================================================>] 28,992,177 694KB/s 時間 26s
2018-05-22 10:49:33 (1.06 MB/s) - `elasticsearch-6.2.4.rpm' へ保存完了 [28992177/28992177]
[root@test06 /Inst_Image/elasticsearch624]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.rpm.sha512
--2018-05-22 10:49:39-- https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.rpm.sha512
artifacts.elastic.co (artifacts.elastic.co) をDNSに問いあわせています... 184.73.245.233, 107.21.253.15, 107.21.237.188, ...
artifacts.elastic.co (artifacts.elastic.co)|184.73.245.233|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 153 [application/octet-stream]
`elasticsearch-6.2.4.rpm.sha512' に保存中
100%[================================================================================>] 153 --.-K/s 時間 0s
2018-05-22 10:49:40 (11.0 MB/s) - `elasticsearch-6.2.4.rpm.sha512' へ保存完了 [153/153]
[root@test06 /Inst_Image/elasticsearch624]# shasum -a 512 -c elasticsearch-6.2.4.rpm.sha512
elasticsearch-6.2.4.rpm: OK
[root@test06 /Inst_Image/elasticsearch624]# rpm -ivh elasticsearch-6.2.4.rpm
警告: elasticsearch-6.2.4.rpm: ヘッダー V4 RSA/SHA512 Signature、鍵 ID d88e42b4: NOKEY
準備しています... ################################# [100%]
Creating elasticsearch group... OK
Creating elasticsearch user... OK
更新中 / インストール中...
1:elasticsearch-0:6.2.4-1 ################################# [100%]
### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
### You can start elasticsearch service by executing
sudo systemctl start elasticsearch.service
以下の辺りにファイルが展開されます。
- モジュール類: /usr/share/elasticsearch/
- 構成ファイル: /etc/elasticsearch/elasticsearch.yml
- ログ: /var/log/elasticsearch/
kibana
参考: Install Kibana with RPM - Download and install the RPM manually
ここではrpmパッケージをダウンロードしてrpmコマンドでインストールするやり方をやってみます。
流れはelasticsearchと同様。
[root@test06 /Inst_Image/kibana]# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-x86_64.rpm
--2018-05-22 13:11:26-- https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-x86_64.rpm
artifacts.elastic.co (artifacts.elastic.co) をDNSに問いあわせています... 107.21.253.15, 107.21.237.188, 23.23.109.100, ...
artifacts.elastic.co (artifacts.elastic.co)|107.21.253.15|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 87218216 (83M) [binary/octet-stream]
`kibana-6.2.4-x86_64.rpm' に保存中
100%[================================================================================>] 87,218,216 1.43MB/s 時間 72s
2018-05-22 13:12:39 (1.16 MB/s) - `kibana-6.2.4-x86_64.rpm' へ保存完了 [87218216/87218216]
[root@test06 /Inst_Image/kibana]# shasum -a 512 kibana-6.2.4-x86_64.rpm
4a8d9c262da1679ba15b323f3eaedbd9d6f3dab9f74b326c8f17442ad23692f0bd2a81a396691e3c1627017923e14bba40bc24b7349003cfdd127c9492829105 kibana-6.2.4-x86_64.rpm
[root@test06 /Inst_Image/kibana]# rpm -ivh kibana-6.2.4-x86_64.rpm
警告: kibana-6.2.4-x86_64.rpm: ヘッダー V4 RSA/SHA512 Signature、鍵 ID d88e42b4: NOKEY
準備しています... ################################# [100%]
更新中 / インストール中...
1:kibana-6.2.4-1 ################################# [100%]
以下の辺りにファイルが展開されます。
- モジュール類: /usr/share/kibana/
- 構成ファイル: /etc/kibana/kibana.yml
一通りインストールはこれで完了。割とスムーズにいきました。