Skip to content

Instantly share code, notes, and snippets.

@Kazuma
Last active December 19, 2015 22:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Kazuma/6028335 to your computer and use it in GitHub Desktop.
Save Kazuma/6028335 to your computer and use it in GitHub Desktop.
Kibana + elasticsearch + Fluentd 環境構築メモ, あと Kibana3

Kibana + elasticsearch + Fluentd 環境構築メモ

環境

あれ それ
OS Ubuntu 12.10
Ruby ruby 2.0.0p195 (2013-05-14 revision 40734) [i686-linux]

elasticsearch

Java のインストール

$ aptitude install openjdk-7-jdk

ダウンロード&インストール

$ curl -O 'https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.5.deb'
$ sudo dpkg -i elasticsearch-0.90.5.deb

実行

$ sudo service elasticsearch start

Kibana

$ git clone --branch=kibana-ruby https://github.com/rashidkpc/Kibana.git
$ cd Kibana
$ bundle install

Host の変更

$ vi KibanaConfig.rb
-KibanaHost = '127.0.0.1'
+KibanaHost = '0.0.0.0'

実行

$ ruby kibana.rb

Fluentd の設定

$ cd fluentd
$ vi fluentd.conf
# fluentd.conf

<source>
  type tail
  format ltsv
  path /path/to/access_log
  pos_file /path/to/access_log.pos
  tag access_log
</source>

<match access_log>
  type elasticsearch

  index_name adminpack
  type_name apache
  include_tag_key true
  tag_key @log_name
  host localhost
  port 9002
  logstash_format true
  flush_interval 10s
</match>

実行

$ fluentd -c fluentd.conf

アクセス

http://localhost:5601

参考リンク

Kibana3 + elasticsearch + Fluentd 環境構築メモ

elastichsearch, Fluentd は Kibana2 の環境と同じ

Kibana 3

apache のインストール

$ aptitude install apache2

Kibana を clone

$ git clone https://github.com/elasticsearch/kibana.git
$ mv kibana /var/www/

アクセス

http://localhost/kibana

参考リンク

elasticsearch-servicewrapper を使う

elasticsearch -f -Des.~ とかやってたのを設定ファイルに記述できるようになる。

環境

Elasticsearch のパスは /usr/share/elasticsearch

ダウンロード&解凍

$ curl -L http://github.com/elasticsearch/elasticsearch-servicewrapper/tarball/master | tar -xz

移動

$ mv *servicewrapper*/service /usr/share/elasticsearch/bin/

起動スクリプトをインストール

Elasticsearch を deb でインストールしてる場合、すでに /etc/init.d/elasticsearch があるので remove しないと配置されなかった

$ sudo /usr/share/elasticsearch/bin/service/elasticsearch remove
$ sudo /usr/share/elasticsearch/bin/service/elasticsearch install

設定変更

Elasticsearch のディレクトリを指定

-set.default.ES_HOME=<Path to ElasticSearch Home>
+set.default_ES_HOME=/usr/share/elasticserach

ここでは、起動時にオプションで渡していた -Des.max-open-files=true を設定ファイルに記述する

wrapper.java.additional.1=-Delasticsearch-service
wrapper.java.additional.2=-Des.path.home=%ES_HOME%
wrapper.java.additional.3=-Xss256k
wrapper.java.additional.4=-XX:+UseParNewGC
wrapper.java.additional.5=-XX:+UseConcMarkSweepGC
wrapper.java.additional.6=-XX:CMSInitiatingOccupancyFraction=75
wrapper.java.additional.7=-XX:+UseCMSInitiatingOccupancyOnly
wrapper.java.additional.8=-XX:+HeapDumpOnOutOfMemoryError
wrapper.java.additional.9=-Djava.awt.headless=true
+wrapper.java.additional.10=-Des.max-open-files=true

起動

$ sudo service elasticsearch start

参考リンク

Elasticsearch で too many open files みたいなログが出た場合

結論

公式ドキュメント に書いてある通りに設定する

limit の上限を変更

Elasticsearch を起動するユーザで開けるファイル数の上限を変更する

$ sudo vi /etc/security/limits.d/elasticsearch.conf

+elasticsearch soft nofile  10000
+elasticsearch hard nofile  10000
+elasticsearch  -   memlock unlimited

pam_limits.so を有効にする

$ sudo vi /etc/pam.d/common-session

+session required pam_limits.so

再起動

$ sudo reboot

max-open-files を有効にする

Elasticsearch 起動時にオプションを渡す

$ elasticsearch -f -Des.max-open-files=true

ログに出力されていればきっとたぶん OK

INFO   | jvm 1    | 2013/09/26 14:10:00 | [2013-09-26 14:10:00,768][INFO ][bootstrap                ] max_open_files [10000]

参考リンク

too many open files - Elasticsearch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment