概要
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しないように。
以上。