Alibaba Cloud Elasticsearch で Kibana コンソールを使用する際のよくある質問と解決策を説明します。
-
elastic アカウントでサブアカウント作成時に「You do not have permission to manage users」エラーが表示される理由
-
Kibana V7.16 インスタンスのプライベートエンドポイントから解決された IP アドレスが VPC 内にないのはなぜですか。
-
Discover UI でのフィルタリングに使用されるタイムスタンプが、Elasticsearch ドキュメントに保存されているタイムスタンプと一致しないのはなぜですか。
Kibana コンソールへのログイン
Kibana コンソールには、デフォルトのユーザー名 elastic と、Elasticsearch インスタンスの作成時に指定したパスワードを使用してログインします。パスワードを忘れた場合にリセットするには、「インスタンスのアクセスパスワードのリセット」をご参照ください。
elastic アカウントパスワードの目的
elastic アカウントは、クラスターの完全な管理権限を持つ Elasticsearch の管理者アカウントです。
elastic アカウントのパスワードは、次の方法で Elasticsearch インスタンスにアクセスするために必要です。
-
API または SDK
-
Kibana コンソール
Kibana アクセスホワイトリストの変更方法
Alibaba Cloud Elasticsearch では、Kibana のパブリックネットワークと内部ネットワークのアクセスホワイトリストを変更できます。コンソールまたは API のいずれかを使用できます。
コンソールの使用: Alibaba Cloud Elasticsearch コンソールにログオンし、宛先インスタンスの 設定と管理 > データ可視化 ページに移動します。 Kibana セクションで、Kibana のパブリックまたは内部ネットワークアクセスホワイトリストを変更します。 詳細については、「Kibana を使用したクラスターへの接続」をご参照ください。
API の呼び出し:
UpdateKibanaWhiteIps API を呼び出して、インスタンスの Kibana のパブリックネットワークまたは内部ネットワークのアクセスホワイトリストを更新します。
ホワイトリストは、単一の IP アドレスまたは CIDR ブロック (例: 192.168.0.1 または 192.168.0.0/24) をサポートしています。複数の IP アドレスはコンマ (,) で区切ります。Kibana の 設定の更新 ボタンがグレー表示されている場合、通常、Elasticsearch インスタンスは正常な状態ではありません。インスタンスが正常に戻るのを待ってから、もう一度お試しください。
Kibana コンソールからのパブリックサービスへのアクセス
いいえ。Kibana コンソールは VPC 内のサービスにのみアクセスでき、Baidu Maps や Amap などのパブリックネットワークサービスにはアクセスできません。パブリック 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」エラー
-
原因
インスタンスが異常な状態です。ヒープメモリの使用率が高いため、リクエストがタイムアウトします。
-
解決策
一括リクエストのサイズを減らすか、クラスターをアップグレードします。
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>'
Dev Tools にアクセスできない問題
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-* インデックスを削除し、最新のものだけを保持します。
カスタムプラグインのサポート
いいえ。7.0 より前の Kibana バージョンは、デフォルトのコンソールプラグインのみをサポートします。Kibana 7.0 以降は、どのプラグインもサポートしていません。
言語変更をサポートするバージョン
言語の切り替えは、Kibana 6.7.0 以降でのみサポートされています。 コンソールは英語と中国語に対応しています。 言語を変更するには、言語 設定を変更します。 詳細については、「Kibana コンソールの言語を設定する」をご参照ください。
Kibana のプライベート IP が VPC の外部にある理由
Kibana V7.16 および一部の V7.10 クラスターには、HTTPS 証明書の置換中の再起動を防ぐレイヤー 7 エージェントサービスが含まれています。プライベートエンドポイントは、このエージェントサービスに解決されます。このアーキテクチャは 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 プラグインのインストール
「Kibana プラグインを使用したデータのクエリまたはデータへのタグの追加」をご参照ください。
X-Pack 有効化後に Kibana で 500 エラーが発生した場合の対処法
Elasticsearch クラスターで X-Pack を有効にすると、Kibana へのアクセス時に 500 エラーが発生することがあります。
-
原因
X-Pack を有効にすると、クラスターがすべてのノードに設定を配布するのに時間がかかります。この間、Kibana は起動できず、500 エラーを返します。設定を有効にするには、Kibana を再起動します。
-
解決策
-
クラスターが X-Pack 設定の配布を完了するのを待ちます。このプロセスには通常、数分かかります。
-
設定の配布が完了したら、Elasticsearch コンソールから Kibana ノードを再起動します。クラスター管理ページで Kibana ノードを見つけ、再起動します。
-
インデックスパターン作成時にワイルドカードがインデックスに一致しない場合の対処法
Kibana でインデックスパターンを作成する際、ワイルドカードパターンがどのインデックスにも一致しない場合があります。
-
原因
ワイルドカードパターンがインデックス名の実際のプレフィックスと一致していません。たとえば、インデックス名が
owl_resell_20231001の場合、プレフィックスが一致しないため、パターンresell_*はインデックスに一致しません。代わりにowl_resell*を使用する必要があります。 -
解決策
-
インデックスの実際の名前を確認します。Kibana の Dev Tools コンソールで
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 は、デフォルトでタイムスタンプを UTC で表示します。Elasticsearch は、内部でタイムスタンプを UTC に変換し、エポックからのミリ秒数として保存します。このため、Kibana の表示タイムゾーンの設定と、データが元々持っていたタイムゾーンが異なると、表示上の不一致が発生することがあります。この不一致は次のように解決できます。
- 新規データの場合:Kibana の詳細設定ページで dateFormat:tz 設定を変更します。
- 既存データの場合:再インデックス API を使用してタイムスタンプを更新します。
Kibana にはアクセスできないが Elasticsearch にはアクセスできる場合
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 へのアクセス」をご参照ください。
インスタンスの基本情報ページで、デプロイコントロールモード を確認します。
Kibana のログクエリページで KQL を使用して IP アドレスを除外する方法
Kibana の **[Discover]** ページまたはログクエリページで、KQL (Kibana Query Language) の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」をご参照ください。