免責事項:これは英文の記事「vco-pods crash with out of memory errors when workflows generate a high number of audit log events in VMware Aria Automation Orchestrator (322687)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。
この問題が発生すると、vco-server-app ポッドが再起動を繰り返す状態になります。以下のいずれか(あるいは両方)の症状が見られる場合、本件に該当すると判断できます。
/services-logs/prelude/vco-app/console-logs/vco-server-app.log ファイルに、以下のようなメモリ不足(Out Of Memory)エラーが記録されます。java.lang.OutOfMemoryError: Java heap space
Dumping heap to /usr/lib/vco/app-server/../app-server/logs/vco_Datestamp_Timestamp_heap_dump.hprof ...
Heap dump file created [########## bytes in #.### secs]
Terminating due to java.lang.OutOfMemoryError: Java heap space.
kubectl -n prelude get pods コマンドを使用してポッドの詳細を確認すると、vco ポッドの再起動回数(RESTARTS)が非常に多く表示されます。vmo_clusterauditlog テーブルには、個々のワークフロー実行 ID の監査ログが大量に含まれます。組み込みの Aria Orchestrator(vRO)を利用している VMware Aria Automation 環境において、vco-app ポッドが継続的に再起動するか、あるいはスタートアッププローブ(Startup probe)に失敗し続けます。これにより、ポッドの再起動ループが止まらなくなり、新しいワークフローを安定して実行できなくなります。
ポッドのイベントを確認するには、以下を実行します。
kubectl describe pod vco-app-###### -n prelude
イベントに次のエラーが表示される場合があります。
Startup probe failed: Get "http://###.###.###.###:8280/vco/api/healthstatus?startupProbe=true": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
VMware Aria Orchestrator 8.x
この問題は、ワークフローが異常に大量の監査ログを生成した場合に発生することがあります。
本事象に該当するかどうかを確認するには、vCO データベースの vmo_clusterauditlog テーブルをクエリし、大量の監査ログを生成しているワークフロー実行がないかを調査する必要があります。
注意: 以下の手順では、vRO の内部データベースに対して直接 SQL コマンドを実行します。作業を開始する前に、Aria Automation アプライアンスのバックアップまたはスナップショットが正常に取得されていることを必ず確認してください。
環境のバックアップ:
確認と解決策:
メモリ不足エラーが発生しているにもかかわらず、手順 3. のクエリで高い数値が返されない場合は、Aria Orchestrator のデフォルトの Java ヒープメモリを増やすことを検討してください。