Elasticsearch X-Pack Monitoring は無料で使えるので必ず入れておこう

Basic ライセンスの取得と適用方法

X-Pack には、Monitoring (旧 Marvel) が含まれています。Monitoring は クラスタの状態やノードの状態、Search Rate (/s) や Index Rate (/s) などのインデックスの状態を把握することができるプロダクトです。

Monitoring は、Basic ライセンス(無料)ですので、必ず入れておきましょう。

Basic ライセンスの Monitoring は以下の制限があります。

  • マルチクラスタの非サポート
  • データ保存期間は7日間

Installing X-Pack

Monitoring をインストールするには、X-Pack をインストールします。Elasticsearch と Kibana は事前にインストール(ダウンロード)しておいてください。

# 1. Install X-Pack into Elasticsearch.
$ bin/elasticsearch-plugin install x-pack
# 2. Start Elasticsearch.
$ bin/elasticsearch
# 3. Install X-Pack into Kibana.
$ bin/kibana-plugin install x-pack
# 4. Start Kibana.
$ bin/kibana

Viewing the Installed License

X-Pack インストール直後は、30日トライアルライセンスがインストールされています。次のコマンドで確認できます。

# Request
$ curl -XGET -u elastic:changeme 'http://localhost:9200/_xpack/license'
# Response
{
"license": {
"status": "active",
"uid": "e78666f4-d321-44f5-8e6f-0a4990004130",
"type": "trial",
"issue_date": "2017-04-26T07:26:36.160Z",
"issue_date_in_millis": 1493191596160,
"expiry_date": "2017-05-26T07:26:36.160Z",
"expiry_date_in_millis": 1495783596160,
"max_nodes": 1000,
"issued_to": "elasticsearch",
"issuer": "elasticsearch",
"start_date_in_millis": -1
}
}

typetrial になっているのが確認できますね。

X-Pack をインストールすると Security (旧Shield) が有効になるので、Elasticsearch へのアクセスはユーザーIDとパスワード -u elastic:changeme の指定が必要です。

Register an Elastic Product

Basic ライセンスの登録は、以下のページのフォームに必要な情報を入力して送信してください。

https://register.elastic.co/

フォーム送信後すぐにライセンスのダウンロード方法が記載されたメールが届きます。メールの内容にしたがってライセンスを入手しましょう。ライセンスファイルは大切に保管しましょう。

Updating Your License

入手したライセンスファイルを使って、ライセンスを更新しましょう。次のコマンドで更新できます。

$ curl -XPUT -u elastic:changeme 'http://localhost:9200/_xpack/license?acknowledge=true' -H "Content-Type: application/json" -d @licens.json

ライセンスが更新されたか確認してみましょう。

# Request
$ curl -XGET 'http://localhost:9200/_xpack/license'
# Response
{
"license" : {
"status" : "active",
"uid" : "374f5164-fe25-4161-9755-f286e3710d87",
"type" : "basic",
"issue_date" : "2017-04-26T00:00:00.000Z",
"issue_date_in_millis" : 1493164800000,
"expiry_date" : "2018-04-26T23:59:59.999Z",
"expiry_date_in_millis" : 1524787199999,
"max_nodes" : 100,
"issued_to" : "Kunihiko Kido (Veltra Corporation)",
"issuer" : "Web Form",
"start_date_in_millis" : 1493164800000
}
}

typebasic になって入れば成功です。

Basic ライセンスに更新したことで、Security (旧 Shield) が無効になるため、Elasticsearch への API アクセスは、認証が必要なくなってます。

まとめ

Monitoring は、運用している Elasticsearch クラスタの状態を把握するのに大変役に立ちます。

また、検索エンジンのサイジングをする場合は、1ノードあたりの Search Rate (/s) や Index Rate (/s) を計測して、要件に合わせたノード数を決定するので、開発フェーズでも必須のプロダクトです。

まだ、導入していなければぜひ導入しましょう。