12.5. Critical Alerts のトラブルシューティング


12.5.1. Elasticsearch クラスターの正常性が赤である

1 つ以上のプライマリーシャードとそのレプリカがノードに割り当てられません。

トラブルシューティング

  1. Elasticsearch クラスターの正常性を確認し、クラスターの ステータス が赤であることを確認します。

    oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- health
    Copy to Clipboard Toggle word wrap
  2. クラスターにに参加したノードを一覧表示します。

    oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cat/nodes?v
    Copy to Clipboard Toggle word wrap
  3. Elasticsearch Pod を一覧表示し、この Pod を直前の手順のコマンド出力にあるノードと比較します。

    oc -n openshift-logging get pods -l component=elasticsearch
    Copy to Clipboard Toggle word wrap
  4. 一部の Elasticsearch ノードがクラスターに参加していない場合は、以下の手順を実行します。

    1. Elasticsearch に選ばれたコントロールプレーンノードがあることを確認します。

      oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cat/master?v
      Copy to Clipboard Toggle word wrap
    2. 選ばれたコントロールプレーンノードの Pod ログで問題を確認します。

      oc logs <elasticsearch_master_pod_name> -c elasticsearch -n openshift-logging
      Copy to Clipboard Toggle word wrap
    3. 問題がないか、クラスターに参加していないノードのログを確認します。

      oc logs <elasticsearch_node_name> -c elasticsearch -n openshift-logging
      Copy to Clipboard Toggle word wrap
  5. 全ノードがクラスターに参加している場合は、以下の手順を実行し、クラスターがリカバリープロセスにあるかどうかを確認します。

    oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cat/recovery?active_only=true
    Copy to Clipboard Toggle word wrap

    コマンドの出力がない場合には、リカバリープロセスが保留中のタスクによって遅延しているか、停止している可能性があります。

  6. 保留中のタスクがあるかどうかを確認します。

    oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- health |grep  number_of_pending_tasks
    Copy to Clipboard Toggle word wrap
  7. 保留中のタスクがある場合は、そのステータスを監視します。

    そのステータスが変化し、クラスターがリカバリー中の場合には、そのまま待機します。リカバリー時間は、クラスターのサイズや他の要素により異なります。

    保留中のタスクのステータスが変更されない場合には、リカバリーが停止していることがわかります。

  8. リカバリーが停止しているようであれば、cluster.routing.allocation.enablenone に設定されているかどうかを確認します。

    oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cluster/settings?pretty
    Copy to Clipboard Toggle word wrap
  9. cluster.routing.allocation.enablenone に設定されている場合、これを all に設定します。

    oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cluster/settings?pretty -X PUT -d '{"persistent": {"cluster.routing.allocation.enable":"all"}}'
    Copy to Clipboard Toggle word wrap
  10. どのインデックスが赤のままかを確認します。

    oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cat/indices?v
    Copy to Clipboard Toggle word wrap
  11. インデックスがまだ赤い場合は、以下の手順を実行して赤のインデックスをなくします。

    1. キャッシュをクリアします。

      oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name>/_cache/clear?pretty
      Copy to Clipboard Toggle word wrap
    2. 最大割り当ての再試行回数を増やします。

      oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name>/_settings?pretty -X PUT -d '{"index.allocation.max_retries":10}'
      Copy to Clipboard Toggle word wrap
    3. スクロールアイテムをすべて削除します。

      oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_search/scroll/_all -X DELETE
      Copy to Clipboard Toggle word wrap
    4. タイムアウトを増やします。

      oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name>/_settings?pretty -X PUT -d '{"index.unassigned.node_left.delayed_timeout":"10m"}'
      Copy to Clipboard Toggle word wrap
  12. 前述の手順で赤色のインデックスがなくならない場合には、インデックスを個別に削除します。

    1. 赤色のインデックスの名前を特定します。

      oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cat/indices?v
      Copy to Clipboard Toggle word wrap
    2. 赤色のインデックスを削除します。

      oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_red_index_name> -X DELETE
      Copy to Clipboard Toggle word wrap
  13. 赤色のインデックスがなく、クラスターのステータスが赤の場合は、データノードで継続的に過剰な処理負荷がかかっていないかを確認します。

    1. Elasticsearch JVM ヒープの使用量が多いかどうかを確認します。

      oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_nodes/stats?pretty
      Copy to Clipboard Toggle word wrap

      コマンド出力で node_name.jvm.mem.heap_used_percent フィールドを確認し、JVM ヒープ使用量を判別します。

    2. 使用量が多い CPU がないかを確認します。

12.5.2. Elasticsearch クラスターの正常性が黄色である

1 つ以上のプライマリーシャードのレプリカシャードがノードに割り当てられません。

トラブルシューティング

  1. ClusterLogging CR で nodeCount を調整してノード数を増やします。

Elasticsearch で、低基準値に到達した ノードにシャードが割り当てられません。

トラブルシューティング

  1. Elasticsearch のデプロイ先のノードを特定します。

    oc -n openshift-logging get po -o wide
    Copy to Clipboard Toggle word wrap
  2. 未割り当てのシャード があるかどうかを確認します。

    oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cluster/health?pretty | grep unassigned_shards
    Copy to Clipboard Toggle word wrap
  3. 未割り当てのシャードがある場合は、各ノードのディスク領域を確認します。

    for pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod -- df -h /elasticsearch/persistent; done
    Copy to Clipboard Toggle word wrap
  4. nodes.node_name.fs フィールドで、対象のノードの空きディスク領域を確認します。

    使用済みディスクの割合が 85% を超える場合は、ノードは低基準値を超えており、シャードがこのノードに割り当てられなくなります。

  5. すべてのノードでディスク領域を増やしてみてください。
  6. ディスク領域を増やせない場合は、新しいデータノードをクラスターに追加してみてください。
  7. 新規データノードの追加に問題がある場合には、クラスターの冗長性ポリシー総数を減らします。

    1. 現在の redundancyPolicy を確認します。

      oc -n openshift-logging get es elasticsearch -o jsonpath='{.spec.redundancyPolicy}'
      Copy to Clipboard Toggle word wrap
      注記

      ClusterLogging CR を使用している場合は、以下を入力します。

      oc -n openshift-logging get cl -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'
      Copy to Clipboard Toggle word wrap
    2. クラスター redundancyPolicySingleRedundancy よりも大きい場合は、SingleRedundancy に設定し、この変更を保存します。
  8. 前述の手順で問題が解決しない場合は、古いインデックスを削除します。

    1. Elasticsearch の全インデックスのステータスを確認します。

      oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- indices
      Copy to Clipboard Toggle word wrap
    2. 古いインデックスで削除できるものを特定します。
    3. インデックスを削除します。

      oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name> -X DELETE
      Copy to Clipboard Toggle word wrap

Elasticsearch が 高基準値に達した ノードからシャードを移動しようとします。

トラブルシューティング

  1. Elasticsearch のデプロイ先のノードを特定します。

    oc -n openshift-logging get po -o wide
    Copy to Clipboard Toggle word wrap
  2. 各ノードのディスク容量を確認します。

    for pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod -- df -h /elasticsearch/persistent; done
    Copy to Clipboard Toggle word wrap
  3. クラスターがリバランスされているかどうかを確認します。

    oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_cluster/health?pretty | grep relocating_shards
    Copy to Clipboard Toggle word wrap

    コマンドの出力でシャードの再配置が表示される場合には、高い基準値を超過しています。高い基準値のデフォルト値は 90% です。

    基準値のしきい値上限を超えておらず、ディスクの使用量が少ないノードに、シャードを移動します。

  4. シャードを特定ノードに割り当てるには、領域の一部を解放します。
  5. すべてのノードでディスク領域を増やしてみてください。
  6. ディスク領域を増やせない場合は、新しいデータノードをクラスターに追加してみてください。
  7. 新規データノードの追加に問題がある場合には、クラスターの冗長性ポリシー総数を減らします。

    1. 現在の redundancyPolicy を確認します。

      oc -n openshift-logging get es elasticsearch -o jsonpath='{.spec.redundancyPolicy}'
      Copy to Clipboard Toggle word wrap
      注記

      ClusterLogging CR を使用している場合は、以下を入力します。

      oc -n openshift-logging get cl -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'
      Copy to Clipboard Toggle word wrap
    2. クラスター redundancyPolicySingleRedundancy よりも大きい場合は、SingleRedundancy に設定し、この変更を保存します。
  8. 前述の手順で問題が解決しない場合は、古いインデックスを削除します。

    1. Elasticsearch の全インデックスのステータスを確認します。

      oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- indices
      Copy to Clipboard Toggle word wrap
    2. 古いインデックスで削除できるものを特定します。
    3. インデックスを削除します。

      oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name> -X DELETE
      Copy to Clipboard Toggle word wrap

Elasticsearch は、両条件が含まれるすべてのインデックスに対して読み取り専用のインデックスブロックを強制的に適用します。

  • 1 つ以上のシャードがノードに割り当てられます。
  • 1 つ以上のディスクが いっぱいの段階 を超えています。

トラブルシューティング

  1. Elasticsearch ノードのディスク領域を確認します。

    for pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod -- df -h /elasticsearch/persistent; done
    Copy to Clipboard Toggle word wrap

    nodes.node_name.fs フィールドで、対象のノードの空きディスク領域を確認します。

  2. 使用済みディスクの割合が 95% を超える場合は、ノードがいっぱいの基準値が越えたことを意味します。この特定のノードに割り当てられたシャードへの書き込みは、ブロックされます。
  3. すべてのノードでディスク領域を増やしてみてください。
  4. ディスク領域を増やせない場合は、新しいデータノードをクラスターに追加してみてください。
  5. 新規データノードの追加に問題がある場合には、クラスターの冗長性ポリシー総数を減らします。

    1. 現在の redundancyPolicy を確認します。

      oc -n openshift-logging get es elasticsearch -o jsonpath='{.spec.redundancyPolicy}'
      Copy to Clipboard Toggle word wrap
      注記

      ClusterLogging CR を使用している場合は、以下を入力します。

      oc -n openshift-logging get cl -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'
      Copy to Clipboard Toggle word wrap
    2. クラスター redundancyPolicySingleRedundancy よりも大きい場合は、SingleRedundancy に設定し、この変更を保存します。
  6. 前述の手順で問題が解決しない場合は、古いインデックスを削除します。

    1. Elasticsearch の全インデックスのステータスを確認します。

      oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- indices
      Copy to Clipboard Toggle word wrap
    2. 古いインデックスで削除できるものを特定します。
    3. インデックスを削除します。

      oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name> -X DELETE
      Copy to Clipboard Toggle word wrap
  7. ディスク使用領域が 90% 未満になるまで、このままディスク領域を解放して監視します。次に、この特定のノードへの書き込み禁止を解除します。

    oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=_all/_settings?pretty -X PUT -d '{"index.blocks.read_only_allow_delete": null}'
    Copy to Clipboard Toggle word wrap

12.5.6. Elasticsearch JVM ヒープの使用量が高い

Elasticsearch ノードで使用済みの JVM ヒープメモリーが 75% を超えます。

トラブルシューティング

ヒープサイズを増やす ことを検討してください。

12.5.7. 集計ロギングシステムの CPU が高い

ノード上のシステムの CPU 使用量が高くなります。

トラブルシューティング

クラスターノードの CPU を確認します。ノードへ割り当てる CPU リソースを増やすことを検討してください。

12.5.8. Elasticsearch プロセスの CPU が高い

ノードでの Elasticsearch プロセスの CPU 使用量が高くなります。

トラブルシューティング

クラスターノードの CPU を確認します。ノードへ割り当てる CPU リソースを増やすことを検討してください。

12.5.9. Elasticsearch ディスク領域が不足している

Elasticsearch クラスターは、現在のディスク使用量に基づいて次の 6 時間以内にディスク領域が不足することが予想します。

トラブルシューティング

  1. Elasticsearch ノードのディスク領域を取得します。

    for pod in `oc -n openshift-logging get po -l component=elasticsearch -o jsonpath='{.items[*].metadata.name}'`; do echo $pod; oc -n openshift-logging exec -c elasticsearch $pod -- df -h /elasticsearch/persistent; done
    Copy to Clipboard Toggle word wrap
  2. コマンド出力の nodes.node_name.fs フィールドで、対象ノードの空きディスク領域を確認します。
  3. すべてのノードでディスク領域を増やしてみてください。
  4. ディスク領域を増やせない場合は、新しいデータノードをクラスターに追加してみてください。
  5. 新規データノードの追加に問題がある場合には、クラスターの冗長性ポリシー総数を減らします。

    1. 現在の redundancyPolicy を確認します。

      oc -n openshift-logging get es elasticsearch -o jsonpath='{.spec.redundancyPolicy}'
      Copy to Clipboard Toggle word wrap
      注記

      ClusterLogging CR を使用している場合は、以下を入力します。

      oc -n openshift-logging get cl -o jsonpath='{.items[*].spec.logStore.elasticsearch.redundancyPolicy}'
      Copy to Clipboard Toggle word wrap
    2. クラスター redundancyPolicySingleRedundancy よりも大きい場合は、SingleRedundancy に設定し、この変更を保存します。
  6. 前述の手順で問題が解決しない場合は、古いインデックスを削除します。

    1. Elasticsearch の全インデックスのステータスを確認します。

      oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- indices
      Copy to Clipboard Toggle word wrap
    2. 古いインデックスで削除できるものを特定します。
    3. インデックスを削除します。

      oc exec -n openshift-logging -c elasticsearch <elasticsearch_pod_name> -- es_util --query=<elasticsearch_index_name> -X DELETE
      Copy to Clipboard Toggle word wrap

12.5.10. Elasticsearch FileDescriptor の使用量が高い

現在の使用傾向に基づいて、ノードで予測されるファイル記述子の数は十分ではありません。

トラブルシューティング

必要に応じて、Elasticsearch ファイル記述子 のトピックで説明されているように、各ノードの max_file_descriptors の値を確認して設定します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat