まずは器を用意する
Kibanaを使うには、分析・可視化対象のデータを入れる器としてのElasticsearchを立て、それを参照させるようにKibanaを立て、また、器にデータを入れる仕組みを用意する、という順番で進んでいきます。
よって、ここでは、器としてのElasticsearch、器の中身を覗き込むKibanaの環境設定を行います。
ElasticSearch
公式ドキュメントのありかはここです。
https://www.elastic.co/guide/en/elasticsearch/reference/5.5/install-elasticsearch.html
なお、この先も公式ドキュメントのURLを貼っていきますが、「/5.5/」の部分がバージョン番号になります。この数字の部分を、「/current/」とすると、その時点の最新GAバージョンのドキュメントが表示されます。
それにしても、プラットフォーム、インストール手段も豊富ですね。
アップグレードメンテナンスがし易いように、yumリポジトリを用意して、インストールすることにします。
https://www.elastic.co/guide/en/elasticsearch/reference/5.5/rpm.html#rpm-repo
sudo vi /etc/yum.repos.d/elasticsearch.repo 以下内容を添付 [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 -y install elasticsearch
サービス登録をして、起動しておきます。
https://www.elastic.co/guide/en/elasticsearch/reference/5.5/rpm.html#rpm-running-init
sudo chkconfig --add elasticsearch sudo service elasticsearch start
動作確認は、こんな感じで。
https://www.elastic.co/guide/en/elasticsearch/reference/5.5/rpm.html#rpm-check-running
curl GET 'localhost:9200/'
とりあえず初回起動までに必要な手順はほんとうにコレだけでした。
次にKibana
同じく、アップグレードメンテナンスがし易いように、yumリポジトリを用意して、インストールすることにします。
マニュアル上ではこちらになります。
https://www.elastic.co/guide/en/kibana/5.5/rpm.html#rpm-repo
sudo vi /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 -y install kibana
サービス登録をして、起動しておきます。
https://www.elastic.co/guide/en/kibana/5.5/rpm.html#rpm-running-init
sudo chkconfig --add kibana service kibana start
動作確認は、GUI付きのLinuxを使っているので、こんな感じでブラウザから
http://localhost:5601
こうじゃっ。
え、もう普通にKibanaの画面見れたよ!
なお、Kibana5.5からは、ブラウザでクセスすると最初にサーバーサービスのステータスを表示してくれるようになったみたいです。
その後、しばらくハマる - 起動できなくなる!
ElasticSearchはデフォルトだとローカルホストからしか参照できないので、とりあえずVirtualBox内だけでの参照はツライ。
ってことで、ホストマシン側からブラウザで参照できるように、と思って設定開始。
/etc/elasticsearch/elasticsearch.yml
で、ネットワークを制限しているところを
#network.host: 192.168.0.1 network.host: 0.0.0.0
としてサービス再起動してあげればよいでしょうよ、と思ったら、起動プロセスで落ちるようになりました。
ログに出ていた手がかりはコレ
[1] bootstrap checks failed [1]: max number of threads [1024] for user [elasticsearch] is too low, increase to at least [2048]
いろいろ探し回った挙句、ElasticSearch側の設定ではなく、ElasticSearchの要件にもとづいて設定する「OS」側の設定。
公式ドキュメントにもとづいて
/etc/security/limits.conf
に以下を追加してあげました。
elasticsearch hard nproc 2048 elasticsearch soft nproc 2048 elasticsearch - nofile 65536
今回の直接原因は上2つ。だけど、ネットワークの制限を緩めなければ、普通に起動するのよね。
3つ目は、調べたついでにドキュメントに記載があって、むしろnprocよりも重要であるかのように書いてあったので、追加。
次に、Kibana側もネットワーク制限しているので、
/etc/kibana/kibana.yml
を
#server.host: "localhost" server.host: "0.0.0.0"
として再起動。
こちらはすんなり起動して、リモートホストからアクセスできました。
サーバーサイドの構築手順はここまでです。
ここから先は、器にデータを流し込まないと、何も進みません。
なので、いろいろなエージェントを使ってElasticsearchにデータを流し込む話に移ります。
サーバ/インフラエンジニア養成読本 ログ収集〜可視化編 [現場主導のデータ分析環境を構築!] Software Design plus
- 出版社/メーカー:技術評論社
- 発売日: 2014/08/14
- メディア:Kindle版
- この商品を含むブログを見る