Help us understand the problem. What is going on with this article?

elasticのサブスクリプションを入れる

More than 1 year has passed since last update.

概要

elasticのサブスクリプションを投入しようとした際に、なんだか引っかかったので、要点をまとめる。

対象

ElasticStack 6.5を想定している。

  • elasticsearch 6.5.4
  • kibana 6.5.4
  • logstash 6.5.4

ライセンスの投入

概要

ライセンスを購入すると、サポートサイトで「ライセンスのjson」をダウンロードできる。これを投入すれば良い。

但し、ElasticStackを入れた直後では、ライセンス投入はできない。X-Pack securityの設定がされていないと、ライセンスを受け付けないようだ。

  • 以下の設定をすることが想定されている
    • 全体
      • 30day-trialライセンスが有効になっていること
    • elasticsearch.yml
      • セキュリティが有効になっている
      • built-in usersのパスワードを設定する
      • TLSを利用する設定になっている
    • kibana.yml
      • kibanaユーザのパスワード変更をしている(built-in usersのパスワード変更があるため)

「30日間のトライアルライセンス」を有効にしないと、GOLD等のサブスクリプションは入れられない。

  • 「サブスクリプション入れて設定を有効にする」思想ではなく、「設定した各種追加機能の"有効期間を拡張する"」という思想なのかも。

設定

トライアルの有効化

  • Kibanaで[Management][License]を選択し、"Start a 30-day trial"を有効にする

セキュリティ設定の有効化

セキュリティの有効化

  • elasticsearchの停止
    • # systemctl stop elasticsearch
  • elasticsearch.ymlの編集
    • xpack.security.enabled: true を追加
  • elasticsearchの起動
    • # systemctl restart elasticsearch でサービス再起動し、反映

ここで、起動後しばらくしてelasticsearchが落ちるようなら、以下を確認する。

  • 今まで、きちんとelasticsearchは動いてた?
    • 動いてないなら、それは動かないよね
  • trial licenseを有効にしていない
    • 有効にしないと xpack.security.enabled: ture できない
  • xpack.security.enabled: true のtypo
    • あるんだな、これが。

built-in usersパスワード変更

パスワードの変更

前述 xpack.security.enabled を有効にすると、パスワード変更できるようになる。

  • elasticsearchが起動していること
    • # systemctl status elasticsearch などで確認
  • 対話的に、built-in usersのパスワード変更する
    • /usr/share/elasticsearch/bin/elasticsearch-setup-password interactive
    • 複数のbuilt-in userのパスワードを変更する
      • elastic, apm_system, kibana, logstash_system, beat_system, remote_monitoring_user のパスワードを変更する。

Kibanaの設定変更

Kibanaが使うbuild-in user "kibana" を指定する

  • kibana.ymlの変更
    • elasticsearch.username: "kibana"
    • elasticsearch.password: "先程のパスワード"

直接設定ファイルにアカウントを書きたくない場合は、kibana-keystoreを使う

  • # /usr/share/kibana/bin/kibana-keystore create
  • # /usr/share/kibana/bin/kibana-keystore add elasticsearch.username
  • # /usr/share/kibana/bin/kibana-keystore add elasticsearch.password

TLSの有効化

Node Certificatesの作成

  • CAを作る
    • # /usr/share/elasticsearch/bin/elasticsearch-certutil ca
    • デフォルトで elastic-stack-ca.p12 が作られる
  • 証明書と秘密鍵を作る
    • # /usr/share/elasticsearch/bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
    • デフォルトで elastic-certificates.p12 が作られる
  • elasticsearchの場所に置く
    • /etc/elasticsearch/cert/ などに elastic-certificates.p12 ファイルを配置する

設定の有効化

elasticsearchに設定を追加する

elasticsearch.yml
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12

elasticsearchの再起動をする

  • 再起動後しばらくして落ちる場合は、設定が間違っている
    • /var/log/elasticsearch/*.log を見る
    • 追加したコンフィグで typo がないかを確認する

サブスクリプションの投入

ここまでくれば、Kibanaからライセンス更新ができる。

  • [Management][Elasticsearch][License Management]の "Update your license" に、サポートサイトからダウンロードした json を投入する。

まとめ

  • trialライセンスを有効にして、securityの設定をした後で、ライセンスを入れる
    • ライセンス入れてから設定しよう、は、できない
  • typoひどいよtypo!
    • elasticsearch.ymlに書く内容をtypoしないように。

以上。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away