このドキュメントでは、Alibaba Cloud Elasticsearch の Kibana コンソールに関するよくある質問にお答えします。
-
Kibana が起動に失敗し、「Kibana server is not ready yet」というエラーが表示されます。どうすれば解決できますか?
-
Kibana で「Maximum call stack size exceeded」というエラーが表示されます。どうすれば解決できますか?
-
Kibana V7.16 インスタンスのプライベートエンドポイントから解決された IP アドレスが自分の VPC 内にないのはなぜですか?
-
Discover UI でフィルタリングに使用されるタイムスタンプが Elasticsearch ドキュメントに保存されているタイムスタンプと一致しないのはなぜですか?
-
Kibana にアクセスできなくなりましたが、Elasticsearch にはアクセスできます。どうすれば解決できますか?
-
Kibana のログクエリページで KQL を使用して 1 つまたは複数の IP アドレスを除外する方法を教えてください。
Kibana コンソールへのログイン
Kibana コンソールにログインします。デフォルトのユーザー名は elastic です。パスワードは、Elasticsearch インスタンスを作成したときに指定したパスワードです。パスワードを忘れた場合は、インスタンスのアクセスパスワードのリセットをご参照ください。
elastic アカウントのパスワードの用途
elastic アカウントは、クラスター全体の管理権限を持つ Elasticsearch 管理者アカウントです。
elastic アカウントのパスワードは、以下の方法で Elasticsearch インスタンスにアクセスする際に必要です。
-
API または SDK
-
Kibana コンソール
設定の更新 ボタンがグレーアウトしている
ES インスタンスが正常な状態でない場合、Kibana の 設定の更新 ボタンがグレー表示されることがあります。インスタンスが正常な状態に戻るまで待つか、原因を調査してください。
Kibana コンソールからパブリックサービスへのアクセス
いいえ。Kibana コンソールは VPC 内のサービスにのみアクセスでき、Google マップなどのパブリックネットワーク上のサービスにはアクセスできません。パブリック IP アドレスホワイトリストは、Kibana へのインバウンドアクセスを制御するものであり、Kibana からパブリックネットワークへのアウトバウンドアクセスを制御するものではありません。
Kibana コンソールでの権限管理
-
日常業務では elastic アカウントを使用せず、専用のユーザーとロールを作成してください。詳細については、「Elasticsearch X-Pack を使用したロールの管理とユーザー権限の制御」をご参照ください。
-
検索サービスに elastic アカウントを使用しないでください。elastic パスワードが漏洩すると、クラスター全体がセキュリティリスクにさらされます。
-
elastic パスワードの変更には注意してください。サービスで elastic アカウントを使用している場合、パスワードをリセットすると認証エラーとサービス中断が発生します。
「Kibana server is not ready yet」エラー
|
考えられる原因 |
解決策 |
|
複数の Kibana システムインデックスが存在するか、データ構造が変更されています。 |
警告
|
|
システムに |
|
|
Elasticsearch クラスターが過負荷状態です。 |
クラスターの監視データを確認してください。詳細については、をご参照ください。考えられる原因と解決策は次のとおりです。
|
|
Kibana ノードが過負荷状態です。 |
エラーが続く場合、Kibana ノードが過負荷状態である可能性があります。Kibana ノードを再起動するか、仕様をアップグレードしてください。詳細については、「クラスターまたはノードの再起動」および「クラスターのアップグレード」をご参照ください。 重要
1 vCPU と 2 GiB メモリの Kibana ノードは本番環境には適していません。できるだけ早くアップグレードしてください。 |
「Maximum call stack size exceeded」エラー
-
原因
インスタンスが異常な状態です。ヒープメモリの使用率が高いため、リクエストがタイムアウトします。
-
解決策
bulkリクエストのサイズを減らすか、クラスターをアップグレードしてください。
Kibana にアクセスせずにデータをクリアする
API を使用してインスタンスにアクセスし、データをクリアできます。詳細については、「curl コマンドを使用した Alibaba Cloud Elasticsearch クラスターへのアクセスと管理」をご参照ください。例えば、すべてのインデックスをクエリし、対象のインデックスを特定して削除します。
-
クラスター内のすべてのインデックスをクエリ
curl -u elastic:<yourEsPassword> -XGET 'http://es-cn-7pp2auqzk0023****.public.elasticsearch.aliyuncs.com:9200/_cat/indices?v' -
インデックスを削除
curl -u elastic:<yourEsPassword> -XDELETE 'http://es-cn-7pp2auqzk0023****.public.elasticsearch.aliyuncs.com:9200/<yourIndex>'
開発ツールにアクセスできない場合
Kibana ノードの仕様が 1 vCPU、2 GiB になっていないか確認してください。この仕様は不安定であり、テスト目的にのみ適しています。できるだけ早くクラスターをアップグレードしてください。
シャードとインデックス情報の表示
-
GET _cat/indices?vコマンドを実行してインデックス情報を表示し、GET _cat/shards?vでシャード情報を表示できます。 -
[モニタリング] ページでは、特定のノード上のインデックスについて、ヒープメモリ使用量を含むシャーディングステータスを表示できます。
「You do not have permission to manage users」エラー
「You do not have permission to manage users. Please contact your administrator.」のようなエラーメッセージが表示されます。
次のようにトラブルシューティングを行ってください。
-
Kibana コンソールで
GET _licenseを実行して、ライセンスの有効期限が切れているかどうかを確認します。 -
GET /_cat/indices?vを実行して、複数の .security-* インデックスがあるかどうかを確認します。複数存在する場合 (フルインデックスの移行や同期などが原因の可能性があります)、古い .security-* インデックスを削除し、最新のもののみを保持してください。
カスタムプラグインのサポート
いいえ。Kibana 7.0 より前のバージョンは、デフォルトのコンソールプラグインのみをサポートしています。Kibana 7.0 以降は、プラグインをサポートしていません。
言語変更に対応しているバージョン
言語の切り替えは、Kibana 6.7.0 以降のバージョンでのみ可能です。コンソールは英語と中国語に対応しています。言語を変更するには、言語 設定を変更します。Kibana コンソールの言語を設定する。
VPC 外に存在する Kibana のプライベート IP
Kibana V7.16 および一部の V7.10 クラスターのデプロイアーキテクチャには、HTTPS 証明書の置き換え時の再起動を防ぐためのレイヤー 7 エージェントサービスが含まれています。プライベートエンドポイントから解決された IP アドレスは、このエージェントサービスに属しています。この変更は Alibaba Cloud によってセキュリティレビュー済みであり、Kibana の機能には影響しません。
CSV エクスポートのデータサイズ設定
デフォルトの CSV エクスポートサイズ制限は 10,485,760 バイト (10 MB) であり、xpack.reporting.csv.maxSizeBytes パラメータによって制御されます。この制限を超えるデータは切り捨てられます。さらに、server.maxPayloadBytes パラメータは、Kibana サーバーリクエストの最大ペイロードサイズを制限します。Alibaba Cloud Elasticsearch では、xpack.reporting.csv.maxSizeBytes または server.maxPayloadBytes パラメータの変更はサポートされていません。これらの設定は、クラスターの安定性を確保するためにデフォルト値のまま維持されます。
デフォルトの制限を超えるデータをエクスポートする必要がある場合は、次の代替手段を検討してください。
-
Kibana でより具体的なフィルターまたはより短い時間範囲を適用して、データを小さなバッチでエクスポートしてください。
-
Logstash を使用して大規模なデータセットをエクスポートしてください。Logstash は設定可能なバッチサイズと出力先をサポートしており、大規模なデータエクスポートシナリオに適しています。
Kibana プラグインのインストール
X-Pack を有効化した後の Kibana 500 エラー
Elasticsearch クラスターで X-Pack を有効にした後、Kibana にアクセスすると 500 エラーが発生する場合があります。
-
原因
X-Pack 設定を有効にした後、クラスターはすべてのノードに設定を配布するのに時間が必要です。この期間中、Kibana は正しく起動できず、500 エラーを返します。X-Pack 設定を反映させるには、Kibana を再起動する必要があります。
-
解決策
-
クラスターが X-Pack 設定の配布を完了するまで待ちます。このプロセスには通常数分かかります。
-
設定の配布が完了したら、Elasticsearch コンソールから Kibana ノードを再起動してください。クラスター管理ページで、Kibana ノードを見つけて再起動します。
-
インデックスパターン作成時にワイルドカードがインデックスに一致しない場合
Kibana でインデックスパターンを作成する際に、ワイルドカードパターンがインデックスに一致しない場合があります。
-
原因
ワイルドカードパターンがインデックス名の実際のプレフィックスと一致していないことが原因と考えられます。例えば、インデックス名が
owl_resell_20231001の場合、パターンresell_*はプレフィックスが一致しないため、インデックスに一致しません。代わりにowl_resell*を使用する必要があります。 -
解決策
-
インデックスの実際の名前を確認してください。Kibana 開発ツールコンソールで
GET _cat/indices?vを実行して、すべてのインデックスをリスト表示します。 -
ワイルドカードパターンがインデックス名の実際のプレフィックスと一致することを確認してください。例えば、
owl_resell*を使用して、owl_resell_20231001およびowl_resell_20231002という名前のインデックスに一致させます。resell_*は使用しないでください。このパターンは完全なプレフィックスに一致しません。 -
パターンがインデックスに正常に一致したら、次のステップでインデックスの正しい時間フィールドを選択して、インデックスパターンの作成を完了してください。
-
Kibana にアクセスできない、または証明書更新後にアクセスできなくなる問題
Kibana にアクセスできない場合は、次のシナリオに基づいて問題をトラブルシューティングしてください。
-
プライベートネットワークでの時刻同期の問題
クラウドデスクトップなどのクライアントデバイスのシステム時刻がサーバー時刻と同期していない場合、プライベートネットワーク経由で Kibana にアクセスできない可能性があります。クライアントデバイスのシステム時刻を確認して修正し、サーバー時刻と同期していることを確認してください。
-
証明書の更新
Elasticsearch クラスターの HTTPS 証明書の更新後、新しい証明書設定が有効になるまで Kibana にアクセスできなくなる場合があります。Elasticsearch コンソールから Kibana ノードを再起動して、新しい証明書を適用してください。
-
一般的なトラブルシューティング
問題が解決しない場合は、次の項目を確認してください。
-
Elasticsearch インスタンスが正常な状態であることを確認してください。
-
IP アドレスホワイトリストが正しく設定されており、クライアントの IP アドレスが含まれていることを確認してください。
-
ブラウザキャッシュをクリアして、再試行してください。
-
Discover と Elasticsearch 間のタイムスタンプの不一致
Kibana の Discover UI は、デフォルトでブラウザのタイムゾーンに基づいて時刻を表示します。一方、Elasticsearch ドキュメントはタイムスタンプを UTC (協定世界時) で保存します。このため、タイムゾーン設定によっては表示上の不一致が生じることがあります。
- 新しいデータの場合:Kibana の詳細設定ページで dateFormat:tz 設定を変更してください。
- 既存のデータの場合:Reindex API を使用してタイムスタンプを更新してください。
Elasticsearch にはアクセスできるが Kibana にアクセスできない場合
Kibana ノードを再起動するには、Elasticsearch インスタンスの基本情報ページのノード可視化セクションで、Kibana ノードのステータスライトにマウスカーソルを合わせ、再起動をクリックします。
Nginx プロキシ経由で Kibana にアクセスできない場合
不適切なネットワークまたはプロキシ設定により、Nginx プロキシ経由での Kibana アクセスが妨げられる可能性があります。
Nginx プロキシ経由で Kibana にアクセスできない場合は、次のようにトラブルシューティングを行ってください。
-
ネットワーク接続を確認します。
-
IP アドレスホワイトリストを確認: Nginx プロキシまたはクライアント ECS の IP アドレスが Kibana の IP アドレスホワイトリストに含まれていることを確認してください。 ネットワーク環境に基づいて設定してください。詳細については、「Kibana 経由でのクラスターへの接続」をご参照ください。
-
(オプション) セキュリティグループルールを確認: Alibaba Cloud Elasticsearch インスタンスが [クラウドネイティブの新しいコントロール (v3)] アーキテクチャでデプロイされており、プライベートネットワークからアクセスしている場合は、この手順を実行してください。
-
Kibana の セキュリティグループ内: インバウンドルールでは、Nginx サーバーの IP アドレスから Kibana ポート (例: 5601) へのトラフィックが許可されていることを確認してください。アウトバウンドルールには特定の設定は必要ありません。
-
Nginx サーバーのセキュリティグループ内: アウトバウンドルールでは、Kibana サービスの IP アドレスとポート (例: 5601) へのトラフィックが許可されていることを確認してください。
-
説明ネットワーク環境と実際のポート番号に基づいて設定を構成してください。
-
-
プロキシ設定を確認します。
-
Nginx 設定ファイルの
proxy_passディレクティブが、プロトコル、ドメイン名、ポート番号を含む正しい Kibana サービスアドレスを指していることを確認してください。 -
Nginx 設定ファイルが
Hostリクエストヘッダーを書き換えているかどうかを確認してください (例:proxy_set_header Host XXX)。Hostヘッダーが変更されている場合、Kibana はリクエストソースを正しく識別できない可能性があります。この問題は次のいずれかの方法で解決できます。-
方法 1:
proxy_set_header Host設定をコメントアウトまたは削除します。 -
方法 2:
Host設定を保持したい場合は、Host ヘッダーを Kibana の元のドメイン名に設定します。
-
サンプル: 「Nginx 設定ファイル」。
-
-
Kibana 認証方法を調整します。
プロキシ経由でプライベートネットワークからアクセスするクラウドネイティブアーキテクチャインスタンスの場合、ユーザー名とパスワード認証のみを使用してください。詳細については、「Kibana 経由でのクラスターへの接続」をご参照ください。
-
Nginx プロキシを再起動します。
-
設定を変更した後、次のコマンドを実行して Nginx 設定ファイルの構文エラーを確認してください。
sudo nginx -t -
次のコマンドを実行して、Nginx サービスを再起動し、変更を適用してください。
sudo nginx -s reload
-
CNAME レコードを使用して Kibana にアクセスできない場合
[クラウドネイティブの新しいコントロール (v3)] アーキテクチャの Elasticsearch インスタンスでは、CNAME レコードを使用したカスタムドメイン名で Kibana にアクセスすることはできません。カスタムドメイン名を使用するには、Nginx プロキシ経由で Kibana にアクセスしてください。
インスタンスの基本情報ページを表示して、そのデプロイコントロールモードを確認します。
KQL を使用した IP アドレスの除外方法
Kibana の **[Discover]** ページまたはログクエリページでは、KQL (Kibana クエリ言語) で NOT
-
単一の IP アドレスを除外するには、
の形式を使用します。例:NOT <field>: "<IP>"NOT remote: "10.1.146.35" -
複数の IP アドレスを除外するには、複数の
条件をNOT で連結します。例:ANDNOT remote: "10.1.146.35" AND NOT remote: "10.1.150.19"
IP アドレスにポート番号を追加せず、複数の除外条件を AND
KQL は no <field>:noNOT
KQL 構文の詳細については、Kibana 公式ドキュメントの「Kibana Query Language」をご参照ください。