Amazon LinuxにElasticsearchをyum install

表題の通り。以前はソースからインストールしたが今回はパッケージでインストールする。

■ 環境

  • Elasticsearch 2.3.5
  • Amazon Linux

■ install

公式のドキュメントにあるまま。

Elasticsearch Reference [2.3] > Setup > Repositories
https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-repositories.html

インストール対象がAmazon Linuxなので”YUM/DNF“を参照する。

$ sudo rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

`/etc/yum.repos.d/elasticsearch.repo`に下記を記述する。

[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=https://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

あとはインストール。

$ sudo yum update
$ sudo yum install elasticsearch

■ start

Macで入れたような`elasticsearch`コマンドは存在しない。`service`コマンドで起動する。

$ sudo service elasticsearch start
Starting elasticsearch:                        [  OK  ]
$

以上。

■ 関連

  • AmazonLinuxでElasticsearchを稼働

Elasticsearchコンテナのversion確認

Dockerにおいて表題の通り。Elasticsearchの”latest“で稼働しているコンテナがあるのだが、Elasticsearchのどのversionが動いているのかを知りたい。

■ 環境

  • Elasticsearch 2.3.4
  • Docker for Mac 1.12.0-a
  • Mac OSX El Capitan

■ version

Elasticsearch側からも知る方法があるであろうが、今回はDocker側からのアプローチを試みる。何か情報となるところはないかと思っていたのだが、稼働させているコンテナの下記を確認したところ情報が得られた。下記は”elasticsearch“という名前を付けて起動しているコンテナに対して行なっている。

$ docker inspect elasticsearch
[
    {
        "Id": "fe28ad03be38e42c1ba3cf4500b0425030d5e49a6bf1bd7aac5cbf781934dd4b",
  :
            "Env": [
                "no_proxy=*.local, 169.254/16",
                "PATH=/usr/share/elasticsearch/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LANG=C.UTF-8",
                "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre",
                "JAVA_VERSION=8u91",
                "JAVA_DEBIAN_VERSION=8u91-b14-1~bpo8+1",
                "CA_CERTIFICATES_JAVA_VERSION=20140324",
                "GOSU_VERSION=1.7",
                "ELASTICSEARCH_VERSION=2.3.4",
                "ELASTICSEARCH_REPO_BASE=http://packages.elasticsearch.org/elasticsearch/2.x/debian"
            ],
  :
$

環境変数にJavaのversionやElasticsearchのversionが入っていた。

Elasticsearchの最新versionは”2.3.5“が既にリリースされているはずであるから、現在”latest“を`docker pull`すれば、”ELASTICSEARCH_VERSION=2.3.5“のコンテナが稼働していることであろう。

以上。

■ 関連

Packetbeat on Mac

表題の通り。

■ 環境

  • Mac OSX (10.10.5)
  • PacketBeat 1.0.1
  • Elasticsearch 2.1.1
  • Kibana 4.3.1
  • Docker 1.9.1
  • Docker Compose 1.5.2

■ Elasticsearch + Kibana

これは先日の下記エントリで作成した`docker-compose.yml`を使用して、Dockerに起動する。

Elasticserch + Kibana on Docker Compose

$ docker-compose up -d
Creating elasticsearch
Creating kibana
$
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                              NAMES
79bc76f8e520        kibana              "/docker-entrypoint.s"   10 seconds ago      Up 10 seconds       0.0.0.0:5601->5601/tcp             kibana
55c45961eed4        elasticsearch       "/docker-entrypoint.s"   10 seconds ago      Up 10 seconds       9300/tcp, 0.0.0.0:9200->9200/tcp   elasticsearch
$

■ Packetbeat

公式ページの”Getting Started“を参考にする。

Getting Started
https://www.elastic.co/guide/en/beats/packetbeat/current/packetbeat-getting-started.html

Macへのインストールは下記。

$ curl -L -O https://download.elastic.co/beats/packetbeat/packetbeat-1.0.1-darwin.tgz
$ tar zxf packetbeat-1.0.1-darwin.tgz
$ cd packetbeat-1.0.1-darwin

設定は特に変更せずデフォルトままにする。Elasticsearchを起動しているのはDockerなので、DockerホストのIPに設定変更をしたのみである。

156     hosts: ["192.168.99.100:9200"]

テンプレートを投入。

$ curl -XPUT 'http://192.168.99.100:9200/_template/packetbeat' -d@packetbeat.template.json
{"acknowledged":true}

Packeteatを起動する。

$ sudo ./packetbeat -e -c packetbeat.yml -d "publish"

■ Kibana

Kibanaから確認。Dashboardは”Topbeat“の時と同様である。

$ cd beats-dashboard-1.0.0
$ ./load.sh http://192.168.99.100:9200/

とここまでやって、どうやらデータが投入できていないようである。

packetbeat-001

いまいちわからないので調査しよう。

以上。

■ 関連

Filebeat on Mac

表題の通り。

■ 環境

  • Mac OSX (10.10.5)
  • Filebeat 1.0.1
  • Elasticsearch 2.1.1
  • Kibana 4.3.1
  • Docker 1.9.1
  • Docker Compose 1.5.2

■ Elasticsearch + Kibana

これは先日の下記エントリで作成した`docker-compose.yml`を使用して、Dockerに起動する。

Elasticserch + Kibana on Docker Compose

$ docker-compose up -d
Creating elasticsearch
Creating kibana
$
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                              NAMES
79bc76f8e520        kibana              "/docker-entrypoint.s"   10 seconds ago      Up 10 seconds       0.0.0.0:5601->5601/tcp             kibana
55c45961eed4        elasticsearch       "/docker-entrypoint.s"   10 seconds ago      Up 10 seconds       9300/tcp, 0.0.0.0:9200->9200/tcp   elasticsearch
$

■ Filebeat

公式ページの”Getting Started“を参考にする。

Getting Started
https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-getting-started.html

Macへのインストールは下記。

$ curl -L -O https://download.elastic.co/beats/filebeat/filebeat-1.0.1-darwin.tgz
$ tar zxf filebeat-1.0.1-darwin.tgz
$ cd filebeat-1.0.1-darwin

設定は特に変更せずデフォルトままにする。Elasticsearchを起動しているのはDockerなので、DockerホストのIPに設定変更をしたのみである。

155     hosts: ["192.168.99.100:9200"]

テンプレートを投入。

$ curl -XPUT 'http://192.168.99.100:9200/_template/filebeat' -d@filebeat.template.json
{"acknowledged":true}

Filebeatを起動する。

$ sudo ./filebeat -e -c filebeat.yml

Getting Started“では、`-d “publish”`も付けているが、コンソールに大量にログが出力されるので省いた。

■ Kibana

Kibanaから確認。”Topbeat“の時にはダッシュボードが公開されていたが、Filebeat用には入っていなかったのでデータが投入できているかを確認する。

filebeat-001

以上。

■ 関連

Elasticsearch + Kibana on Docker Compose

表題の通り。先日のエントリ「Elasticsearch + Kibana on Docker」をDocker Composeで稼働させてみる。

■ 環境

  • Mac OSX (10.10.5)
  • Docker 1.9.1
  • Docker Compose 1.5.2

■ Elasticsearch + Kibana on Docker

それぞれのコンテナは下記のように起動している。

Elasticsearch:

$ docker run -d -p 9200:9200 --name elasticsearch elasticsearch

Kibana:

$ docker run -d -p 5601:5601 --name kibana --link elasticsearch:elasticsearch kibana

ひとつずつ起動するのは面倒なので、`docker-compose`で起動をさせる。

■ docker-compose.yml

ディレクトリ名称がプロジェクト名として使用され、コンテナ名にもprefixとして含まれるが、今回は`docker-compose`の`scale`は使用せずに1台のElasticsearchと1台のKibanaだけを利用したいので、コンテナ名は固定で設定する。その為、ディレクトリ名称も気にしない。

docker-compose.yml“は下記のようにしている。

elasticsearch:
  image: elasticsearch
  container_name: elasticsearch
  ports:
    - "9200:9200"
kibana:
  image: kibana
  container_name: kibana
  links:
    - elasticsearch:elasticsearch
  ports:
    - "5601:5601"

image“はどちらもタグを指定していないので最新版を取得してくる。”container_name“を付けなければ”dir_elasticsearch_1“や”dir_kibana_1“といったコンテナ名が付けられてしまい、Kibanaの”links“で指定できなくなってしまうので、このようにしている。

■ up

実際に起動してみる。

$ docker-compose up -d
Creating elasticsearch
Creating kibana
$

Kibanaにブラウザでアクセスしてみる。

kibana-001

先日と変わりなくアクセスできた。

■ stop & rm

$ docker-compose stop
Stopping kibana ... done
Stopping elasticsearch ... done
$
$ docker-compose rm
Going to remove kibana, elasticsearch
Are you sure? [yN] y
Removing kibana ... done
Removing elasticsearch ... done
$

以上。

■ 関連