X-Pack Monitoringを使ってElasticsearchを監視します。まず Elasticsearch上にX-Packをインストールし(詳細install X-Pack onto Elasticsearch)、X-Packのセキュリティ機能を使用している場合は、セキュリティを設定します。上記のことが完了したら、X-Packで保護されているElasticsearchとKibana、およびLiferay DXPが簡単かつ安全に通信できるように、以下のX-PackでKibana(監視サーバー)をインストール、および構成する手順に従ってください。この統合を行うには、(Premiumに含まれている)Liferay Enterprise Search Standardサブスクリプション契約が必要です。詳細はこちらまでお問い合わせください:Liferay’s Sales department for more information
-
データ収集を有効にするようにElasticsearchに指示します。
-
Kibanaをダウンロードしてインストールします。
-
適切なセキュリティ設定でKibanaを設定してください。
-
Liferay Connector to X-Pack Monitoring [Elastic Stack 6.x]をインストールします。
-
Elasticsearchと通信できるようにコネクタを設定します。
このドキュメントでは、セキュリティおよび監視を有効にしていることを前提としていますが、プロセスの違いについては必要に応じて注記されています。
X-Packのインストール手順については、[X-Pack security article](/docs/いては/deploy/-/knowledge_base/d/X-Pack security articleを参照してください。
Elasticsearchでデータ収集を有効にすることから始めます。
データ収集を有効にする
Elasticsearchのモニタリングはデフォルトで有効になっていますが、データ収集は有効になっていません。
以下をelasticsearch.yml
に追加してデータ収集を有効にします。
xpack.monitoring.collection.enabled: true
それができたらKibanaをインストールしてください。
Kibanaをインストール
必ず正しいバージョンのKibanaをインストールしてください。詳細については、Liferay Enterprise Search compatibility matrixを確認してください。
-
Kibanaをダウンロードして(詳細:Download Kibana)解凍します。ルートフォルダの名前はKibana Homeです。
-
ElasticsearchのURLを
kibana.yml
で設定して、Kibanaにモニタリングデータの送信先を指示します。elasticsearch.url: "http://localhost:9200"
ElasticsearchでSSLが有効になっている場合は、
https
のURLです。 -
X-Packセキュリティを使用していない場合は、Kibana Homeへのコマンドプロンプトを開き、次のコマンドを入力してKibanaを起動します:
./bin/kibana
ElasticsearchサーバーでX-Packのセキュリティ機能を使用している場合は、Kibanaを起動する前に追加の設定が必要です。
認証付きのKibanaを設定する
X-PackがElasticsearchクラスターにアクセスするために認証を必要とする場合は、次の手順に従うかElastic’s documentationを参照してください。
-
[Kibana Home]/config/kibana.yml
に組み込みkibana
ユーザーのパスワードをに設定します。elasticsearch.username: “kibana” elasticsearch.password: “liferay”
X-Packセットアップにkibana
のユーザーパスワードを使用してください。Kibanaをインストールしたら、Managementユーザーインターフェイスから組み込みのユーザーパスワードを変更できます。
-
Elasticsearchクラスターとの通信を暗号化していない場合は、KibanaホームからKibanaを起動してください。
./bin/kibana
-
localhost:5601
に移動して、kibana_user
があるuserとしてサインインできることを確認してください。役割またはスーパーユーザー(
elasticユーザ
のような)。
暗号化を使用したKibanaの設定
X-PackがElasticsearchクラスターとの通信を暗号化する場合は、次の手順に従ってKibanaを設定してください。詳細についてはElastic’s guideを参照してください。
以下の設定をkibana.yml
に追加します:
xpack.security.encryptionKey: "xsomethingxatxleastx32xcharactersx"
xpack.security.sessionTimeout: 600000
elasticsearch.ssl.verificationMode: certificate
elasticsearch.url: "https://localhost:9200"
elasticsearch.ssl.certificateAuthorities: [ "/path/to/ca.crt" ]
server.ssl.enabled: true
server.ssl.certificate: /path/to/[Elasticsearch Home]/config/localhost.crt
server.ssl.key: /path/to/[Elasticsearch Home]/config/localhost.key
クラスター環境での監視およびセキュリティのベストプラクティスの詳細については、Elastic’s documentationを参照してください 。
この手順の後、https://localhost:5601
でKibanaにアクセスし、Kibanaのユーザーでサインインすることができます。最後の手順は、KibanaをLiferay DXPに接続することです。
Liferay ConnectorからX-Pack Monitoringへの設定方法
Liferay Enterprise Search(プレミアムまたはスタンダード)サブスクリプション契約をお持ちの場合は、Liferay Connector to X-Pack Monitoring[[Elastic Stack 6.x]]をダウンロードしてください。まずILPKGファイルをLiferay Home/deploy
フォルダにコピーしてインストールします。
-
コネクタがインストールされ、KibanaとElasticsearchが安全に設定されたら、以下の名前のconfiguration file を作成します。<segment 0155>
com.liferay.portal.search.elasticsearch6.xpack.monitoring.web.internal.configuration.XPackMonitoringConfiguration.config
-
以下の設定を
.config
ファイルに配置します:kibanaPassword="liferay" kibanaUserName="elastic" kibanaURL="http://localhost:5601"
値はKibanaの設定によって異なります。X-Pack Security機能を使用している場合、
kibanaURL="https://localhost:5601"
のような安全なURLを使ってください。または、System Settingsからモニタリングアダプタを設定します。 [Control Panel]>[Configuration]>*[System Settings]*へ移動し、検索カテゴリーを使ってX-Pack Monitoringの項目を見つけてください。モニタリングコネクタのすべての設定オプションがそこに表示されます。
-
この設定ファイルを
Liferay Home/osgi/configs
にデプロイすると、実行中のインスタンスが設定を適用します。サーバーを再起動する必要はありません。 -
Kibana自体に追加する設定がさらに2つあります。1つ目の設定では、接頭辞に
server.basePath
と付いた要求をKibanaが書き換えることを妨げます。2つ目の設定では、監視ポートレットのKibanaの基本パスを、Kibanaの監視UIのプロキシとして機能するように設定します。以下をkibana.yml
に追加してください:server.rewriteBasePath: false server.basePath: "/o/portal-search-elasticsearch-xpack-monitoring/xpack-monitoring-proxy"
しかし一度
server.basePath
を設定すると、KibanaのURL(例えばhttps://localhost:5601
)からKibanaのUIにアクセスできなくなります。Kibana UIへのアクセスはすべてMonitoringポートレットを介して行われます。これはログインしたLiferay DXPユーザーにのみアクセス可能です。以下のURLを使用してポートレットに直接移動します: -
Liferay DXPのMonitoringポートレットをKibanaのUIへのプロキシとして使用しているため、X-Pack Securityを使用している場合、有効なtruststoreとpasswordを認識するようにアプリケーションサーバーの起動JVMパラメータを設定する必要が あります。
まず、Elasticsearch Homeに移動し、X-Packセキュリティの設定時に作成したCAからPKSC#12証明書を生成します。
./bin/elasticsearch-certutil cert --ca-cert /path/to/ca.crt --ca-key /path/to/ca.key --ip 127.0.0.1 --dns localhost --name localhost --out /path/to/Elasticsearch_Home/config/localhost.p12
次に
keytool
コマンドを使用してトラストストアを生成します。keytool -importkeystore -deststorepass liferay -destkeystore /path/to/truststore.jks -srckeystore /path/to/Elasticsearch_Home/config/localhost.p12 -srcstoretype PKCS12 -srcstorepass liferay
アプリケーションサーバーの立ち上げ時JVMパラメータにトラストストアパスとパスワードを追加します。以下はTomcatサーバーの
CATALINA_OPTS
に追加するためのトラストストアとパスのパラメーターの例をです:-Djavax.net.ssl.trustStore=/path/to/truststore.jks -Djavax.net.ssl.trustStorePassword=liferay
Liferay DXPとKibanaを再起動してください。
Liferay DXPでの監視
KibanaとX-Packが正常にインストールされて設定され、すべてのサーバーが稼働したら、X-Pack Monitoringポートレットをページに追加します。
-
*[Add]メニューを開き、[Widgets]*を選択します。
-
monitoringを検索し、X-Pack Monitoringウィジェットを「検索」カテゴリからページにドラッグします。
monitoring Elasticsearchについては、Elasticのドキュメンテーションを参照してください 。