ElasticSearchとKibanaセッティングメモ

ElasticSearchとKibanaセッティングメモ

環境: CentOS6.5

JVMインストール

ElasticSearchセットアップ

ダウンロード

公式サイトからダウンロード

 wget http://www.elasticsearch.org/overview/elkdownloads/

インストール

解凍するだけ

 tar zxf elasticsearch.tar.gz
 mv elasticsearch /opt

設定

elasticsearch/config/elasticsearch.ymlに設定を記述

 #設定例
 index.number_of_replicas: 0 #レプリカセットの数
 index.number_of_shards: 1  #シャードの数
  
 path.data: /data       #index(データ)の保存先
 path.logs: /var/log/elasticsearch/logs #ログの保存先

Kibanaセットアップ

ダウンロード

公式サイトからダウンロード

 wget https://download.elasticsearch.org/kibana/kibana/kibana-3.1.2.tar.gz

インストール

 tar zxf kibana.tar.gz
 mv kibana /opt

設定

kibana/config.jsonに設定を記述

 #config.jsの24行目あたり
 elasticsearch: "http://<ElasticsearchのIPなど>:9200"

Nginxをセットアップ

インストール

公式ページからyumリポジトリのURLをコピー

 rpm -ivh http://nginx.org/packages/rhel/6/noarch/RPMS/nginx-release-rhel-6-0.el6.ngx.noarch.rpm
 yum -y install nginx

yumでインストールしたパッケージのインストール場所を調べる

  rpm -ql パッケージ名

設定

Kibanaを配信するためのnginxの設定 nginxの設定ファイルのパスに以下を編集 今回は /etc/nginx/conf.d/default.conf

 server {
    listen *:50080;
    server_name localhost;
    access_log /var/log/nginx/access.log;
 
    location / {
      root /opt/kibana/; #Kibanaを展開したディレクトリを指定
      index index.html index.htm;
    }

ファイアウォール開けるのを忘れずに!

起動

 service nginx start

Kibanaにアクセス

http://hogehoge:50080にアクセスし表示されればOK

エラーが出る場合

[image] 上記のようなエラーが出る場合 elasticsearch.ymlのNetwork And HTTPの一番最後に以下を記述

 # クロスドメインアクセスを許可する
 http.cors.enabled: true
 http.cors.allow-origin: "http://kibanaのアドレス:50080"

nginx再起動

これでもう一度アクセスすると以下のように表示されるはずです [image]

fluentd設定

fluentdのサーバにelasticsearch用のpluginをインストールする

 gem install fluent-plugin-elasticsearch

これでできなければ

 sudo /usr/lib64/fluent/ruby/bin/fluent-gem install fluent-plugin-elasticsearch

設定ファイル

 <match apache.access>
  type copy
  <store>
    type mongo
    host localhost
    port 27017
    database dbname
    collection apache_logs
    user USERNAME
    password  PASSWORD
    flush_interval 10s
  </store>
  <store>
    type elasticsearch
    host localhost
    port 9200
    type_name access_log
    logstash_format true
    logstash_prefix apache_access
    logstash_dateformat %Y%m
 
    buffer_type memory
    buffer_chunk_limit 10m
    buffer_queue_limit 10
    flush_interval 1s
    retry_limit 16
    retry_wait 1s
  </store>
 </match>

ちなみにfluentdで複数の出力をしたい場合

<match >
 type copy
 <store>
    出力1
 </store>
 <store>
    出力2
 </store>
</match>

と書けば良い [img]図のように表示されていればおk

まとめ

ElasticSearchとKibanaの設定を行いました。 Kibanaの使い方はまた今度まとめる。

参考