Elasticsearch Logstash Kibanaの環境構築
Logstashのインストール
LogstashもElasticsearchと同様、インストール方式を選択することが可能です。ただ、ツールごとにインストール方式を分けるやり方ではディレクトリ構造が異なってしまいますので、Elasticsearchと同じインストール方法を採るようにしましょう。
とにかく使ってみたい場合(Linux):zipファイル
こちらもElasticsearchと同様、zipファイルを展開するだけでインストールが終了します。サービス起動用コマンドは付属しません。
ちゃんと運用もしたい場合(rpmパッケージを利用するLinux):rpmパッケージ
こちらもサービス起動用コマンドの存在や、ディレクトリ構成が自動で割り当てられる点などもElasticsearchと同様です。
ちゃんと運用もしたい場合(debパッケージを利用するLinux):debパッケージ
こちらもLinux種別によって使うパッケージが違うだけ、という点でElasticsearchと同様です。
とにかく使ってみたい、かつDocker実行環境がある場合:Dockerコンテナ
Elasticsearchと同様、Elastic社からDockerコンテナが提供されています。ただし、Elasticsearchとは別のコンテナのため、同時にコンテナを複数起動する必要があります。
LogstashはRubyで作成されていますが、起動にJavaを必要とします。こちらもヒープメモリもかなり消費するツールなので注意が必要です。
Puppet、Chef、Ansibleの実行環境がある場合:GitHubのレシピを利用
公式にElasticから各ツールのレシピが提供されているので、GitHubからクローンして利用することも可能です。
Windows/Mac上に構築する場合:zipファイル
Windowsの場合、インストール方法はzipファイル一択となります。Macはbrewコマンドを用いることでインストールすることもできますが、Elastic公式ではサポートされていないようなので、今回はインストール方法から除外しています。
zipファイルを用いたインストール(Logstash)
Elasticsearchと同様、OSごとに使用するzipファイルが違う以外、インストール手順に差はありません。
公式サイトからzipファイルをダウンロード
Elasticの公式サイトにアクセスし、zipファイルをダウンロードします。
https://www.elastic.co/jp/downloads/logstash
zipファイルの解凍
Elasticsearchをインストールする際に作成したディレクトリに、ダウンロードしたzipファイルを解凍します。
# 必要であれば
$ unzip logstash-5.4.0
rpm パッケージを用いたインストール(Logstash)
インストール用PGP Keyの入手
LogstashもElasticsearchと同様にPGPにより暗号化されています。そのため公式リポジトリから公開されている署名された鍵を入手し、保存する必要があります。Elasticsearchと同じサーバーにLogstashをインストールする場合はこの手順は不要ですが、別サーバーにインストールする場合は鍵の保存を行って下さい。
$ rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
RPMリポジトリからインストールする場合
/yum/repos.d/配下にlogstash.repoを新規作成し、yumコマンド(Red Hat系Linuxの場合)を用いてインストールします。バージョン指定しない場合、最新版がインストールされます。このインストール方法はCentOS5よりも下のバージョンでは動作しませんので注意して下さい。
また、rpmパッケージからインストールする方法はLogstashでは公式サポートされていません。合わせて注意して下さい。
$ sudo touch /etc/yum.repos.d/logstash.repo
$ sudo vi /etc/yum.repos.d/logstash.repo
# 下記を記載する
[logstash-5.x]
name=Elastic 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 logstash
debパッケージを用いたインストール(Logstash)
必要パッケージのインストール
Logstashを起動するためにはapt-transport-httpsパッケージが必要となります。こちらもElasticsearchと同じサーバーにLogstashをインストールする場合、既にインストールされているため手順を省略することが可能です。別サーバーにLogstashをインストールする場合のみ必要な手順となります。
$ sudo apt-get install apt-transport-https
aptリポジトリからインストールする場合
次にElastic Stackのaptリポジトリを/etc/apt/sources.list.d/に登録し、apt-getコマンドを用いてインストールします。バージョン指定しない場合、最新版がインストールされます。
こちらも、既にElasticsearchをインストールしている場合、リポジトリ登録は不要です。インストールコマンドのみ実施して下さい。
$ echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
$ sudo apt-get update && sudo apt-get install logstash
Logstash起動前の設定項目
動作確認用のlogstash.conf作成
この後の章で詳しく述べますが、Logstashはconfファイルを読み込むことでファイルの取り込み元などを指定します。コンフィグファイルの名前は任意の名前を指定することができます。この本ではファイル名を「logstash.conf」として説明を行います。
まずは動作確認用に次のコードをconfファイルへ記述します。confファイルはパッケージインストールを使用した場合/etc/logstash/conf.d/配下に作成します。
$ vim /etc/logstash/conf.d/logstash.conf
# 下記の通り編集
-----------------------------------------------------
# 標準入力を受け付ける
input {
stdin { }
}
# 標準出力を行う
output {
stdout { codec => rubydebug }
}
Logstashの動作確認
Logstashの起動(zipファイルでインストールした場合)
bin下にあるlogstashスクリプトから、Logstashを起動します。OSがWindowsの場合、同階層にlogstash.batが配置されているのでそちらを起動します。-fオプションでlogstash.confの名前を指定して起動する必要があります。
$ bin/logstash -f logstash.conf
Logstashの起動(パッケージからインストールした場合)
こちらもサーバのOSによって起動コマンドが違います。Logstashは/etc/init.d配下のlogstashスクリプトを使用するか、systemctlコマンドを使用する場合に分かれます。
起動スクリプトを使用する場合、次のコマンドでLogstashサービスを起動します。
$ sudo /etc/init.d/logstash start | status | stop | restart
プロセスの自動起動・自動停止設定は次のコマンドを用いて行います。
$ sudo update-rc.d elasticsearch defaults 95 10
systemctlコマンドを使用する場合、次のコマンドでLogstashサービスを起動します。
$ sudo systemctl start logstash.service
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable logstash.service
動作確認
logstash.confにタイプミスがない場合、“Logstash startup completed”と出力されます。コマンドプロンプトに好きな文字列を打ち込んでみましょう。文字列がそのまま返り値として出力された場合、正しくセットアップできています。
# Logstash起動後、標準入力で"hello world"を入力
hello world
{
"@timestamp" => 2017-03-05T07:22:40.899Z,
"@version" => "1",
"host" => "hostname",
"message" => "hello world"
}
Kibanaのインストール
KibanaもElasticsearchなどと同様に、インストール方法が複数準備されています。インストール方法の種類はElasticsearch・Logstashと同様のため、紹介は省略します。
KibanaもElasticsearch・Logstashとインストール方式を合わせておきましょう。
zipファイルを用いたインストール
OSごとにzipファイルが異なる以外、インストール手順に差はありません。
公式サイトからzipファイルをダウンロード
Elasticの公式サイトにアクセスし、zipファイルをダウンロードします。ElasticsearchやLogstashと違い、OSの種類によってzipファイルが異なります。環境に合わせてファイルを選択して下さい。
https://www.elastic.co/jp/downloads/kibana
zipファイルの解凍
Elasticsearchをインストールする際に作成したディレクトリに、ダウンロードしたzipファイルを解凍します。
# 必要であれば
$ unzip kibana-5.4.0-darwin-x86_64.tar.gz
rpm パッケージを用いたインストール(Kibana)
インストール用PGP Keyの入手
Kibanaパッケージも他パッケージと同様、PGP(Pretty Good Privacy)を用いて暗号化されています。使用にはPGP鍵の入手が必要なため、Elastic社が提供する公開されている署名された鍵をダウンロードします。Elasticsearch・Logstashと同じサーバーにインストールする場合、この手順は省略します。
$ rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
RPMリポジトリからインストールする場合
/etc/yum.repos.d配下にkibana.repoを登録し、yumコマンドを用いてインストールします。バージョン指定しない場合、最新版がインストールされます。リポジトリの追記はElasticsearch・Logstashどちらかがインストールされていれば不要です。
# リポジトリファイルの作成
$ touch /etc/yum.repos.d/kibana.repo
# 下記を追記
[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
rpmパッケージをダウンロードしてインストールする場合
wgetコマンドを用いてパッケージをダウンロードし、rpmコマンドでインストールを行います。明示的にバージョン指定したい場合、rpmパッケージからインストールすると良いでしょう。
サーバーが32bitの場合と64bitの場合ではrpmパッケージが別となっているため、注意して下さい。
# Kibanaのダウンロード
$ wget https://artifacts.elastic.co/downloads/kibana/ kibana-5.4.0-x86_64.rpm
# パッケージの完全性を検証し、Kibanaをインストール
$ sha1sum kibana-5.4.0-x86_64.rpm
$ sudo rpm --install kibana-5.4.0-x86_64.rpm
# Kibanaのダウンロード
$ wget https://artifacts.elastic.co/downloads/kibana/ kibana-5.4.0-i686.rpm
# パッケージの完全性を検証し、Kibanaをインストール
$ sha1sum kibana-5.4.0-i686.rpm
$ sudo rpm --install kibana-5.4.0-i686.rpm
debパッケージを用いたインストール(Kibana)
インストール用PGP Keyの入手
debパッケージもElasticsearchなどと同様にPGPを用いて暗号化されています。使用にはPGP鍵の入手が必要なため、Elastic社が提供する公開されている署名された鍵をダウンロードします。同じサーバーにElasticsearch・Logstashをインストールしている場合、この手順は不要です。
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
必要パッケージのインストール
Kibanaを起動するためにapt-transport-httpsパッケージをインストールする必要があります。こちらもPGP鍵の登録と同様に、ElasticsearchかLogstashが既にインストールされているサーバーであれば手順の実施は不要です。
$ sudo apt-get install apt-transport-https
aptリポジトリからインストールする場合
/etc/apt/sources.list.dにElastic Stack用のリポジトリを登録し、apt-getコマンドを用いてインストールします。バージョン指定しない場合、最新版がインストールされます。既にリポジトリ登録されている場合、リポジトリの登録は不要です。
$ echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
$ sudo apt-get update && sudo apt-get install kibana
debパッケージをダウンロードしてインストールする場合
wgetコマンドを用いてdebパッケージをダウンロードし、dpkgコマンドでインストールを行います。明示的にバージョン指定したい場合、debパッケージからインストールすると良いでしょう。
サーバーが32bitの場合と64bitの場合でパッケージが変わる点はrpmパッケージを利用する場合と同じです。
# Kibanaのダウンロード
$ wget https://artifacts.elastic.co/downloads/kibana/ kibana-5.4.0-amd64.deb
# パッケージの整合性を確認し、インストール
$ sha1sum kibana-5.4.0-amd64.deb
$ sudo dpkg -i kibana-5.4.0-amd64.deb
# Kibanaのダウンロード
$ wget https://artifacts.elastic.co/downloads/kibana/ kibana-5.4.0-i386.deb
# パッケージの整合性を確認し、インストール
$ sha1sum kibana-5.4.0-i386.deb
$ sudo dpkg -i kibana-5.4.0-i386.deb
Kibana起動前の設定項目
kibana.ymlの編集
前にも述べた通り、KibanaはElasticsearchからデータを取得するためElasticsearchのURLを指定する必要があります。URLの指定はkibana.ymlから行います。
kibana.ymlのパスはインストール方法によって異なりますが、パッケージからインストールした場合は/etc/kibana配下に配置されています。
sudo vim /etc/kibana/kibana.yml
# 21行目の下にURLを追記(ElasticsearchのURLが10.0.0.100:9200の場合)
-----------------------------------------------------------------
20 # The URL of the Elasticsearch instance to use for all your queries.
21 #Elasticsearch.url: "http://localhost:9200"
Elasticsearch.url: "http://10.0.0.100:9200"
-----------------------------------------------------------------
また、Kibana自体のURLはデフォルトで「http://localhost:5601」となっています。こちらを変更したい場合、kibana.ymlの7行目を指定します。合わせてKibanaがインストールされているサーバーのホスト名も指定しておくと良いでしょう。
-----------------------------------------------------------------
6 # To allow connections from remote users, set this parameter to a non-loopback addr ess.
7 #server.host: "localhost"
8 server.host: "10.0.0.100"
~~~~~~~省略~~~~~~~~~~~~~~
18 # The Kibana server's name. This is used for display purposes.
19 #server.name: "your-hostname"
20 server.name: "dev_webserver01"
-----------------------------------------------------------------
Kibanaの動作確認
Kibanaの起動
zipファイルでインストールを行った場合、binフォルダ下にあるkibanaスクリプトから起動します。Kibanaを起動する前にElasticsearchを起動しておいてください。(Windowsはkibana.batから起動します。)
kibana-5.4.0-darwin-x86_64 mofumofu$ bin/kibana
パッケージからインストールした場合、serviceコマンドかsystemctlコマンドから起動することができます。パッケージからインストールした場合、OS起動時に自動的にKibanaサービスを立ち上げる設定ができますので実施しておくと良いです。
sudo -i service kibana start | stop | status |restart
sudo chkconfig --add kibana
# 停止時はstart部分をstopに変更する
sudo systemctl start kibana.service
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable kibana.service
動作確認
起動後、ブラウザにhttp://localhost:5601(kibana.ymlでURLを編集している場合はそのURL)と入力します。Kibanaの画面が閲覧できればインストールは完了です。参考画像を載せますので、こちらと同じような画面が見えているか確認して下さい。
(次回へつづく)
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- データを集めて可視化しよう(Beatsを使って情報を集めてみる)
- オフラインマルチ(ウイルス)スキャナ「Malice」「IRMA」を使ってみよう
- トラブルシューティング
- データを集めて可視化しよう(Twitterのつぶやき履歴編)
- Elastic Stackって何?
- スローログの集計に便利な「pt-query-digest」を使ってみよう
- サンドボックス解析によるマルウェア対策ツール「cuckoo」を使ってみよう
- Elasticsearchを開発するElastic、最新バージョン5.0とElastic Stackを解説
- Kubernetes環境を構築して、実際にコンテナを動かしてみよう
- 「Ubuntu」のパッケージ管理を学ぼう