シングル構成の kengine ログ調査

INS-SAK1: kengine ログに「nc: bad address 'postgres'」というエラーが記録されている

kengine のログに次のようなエラーが記録されている場合は、postgres が停止している可能性が考えられます。

ログのサンプルエントリ

Job "Engine.monitor (trigger: interval[0:00:10], next run at: 2024-10-03 10:11:32 JST)" raised an exception
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/django_dbconn_retry/apps.py", line 45, in ensure_connection_with_retries
    self.connect()
  File "/usr/local/lib/python3.11/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/db/backends/base/base.py", line 270, in connect
    self.connection = self.get_new_connection(conn_params)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/db/backends/postgresql/base.py", line 275, in get_new_connection
    connection = self.Database.connect(**conn_params)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/psycopg2/__init__.py", line 122, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.OperationalError: could not translate host name "postgres" to address: Name does not resolve
nc: bad address 'postgres'
nc: bad address 'postgres'
nc: bad address 'postgres'

解決策

以下のコマンドで postgres コンテナのステータスを確認してください。

$ docker ps -a -f name=postgres

CONTAINER ID   IMAGE                                          COMMAND                  CREATED          STATUS                      PORTS     NAMES
4d8f2e81eb86   kompira.azurecr.io/kompira-enterprise:latest   "docker-entrypoint.s…"   16 minutes ago   Exited (1) 12 seconds ago             ke2-postgres-1

ステータスが UP である場合はコンテナとしては起動しているため、コンテナ停止以外の問題が起きていると考えられます。 ホストサーバや docker サービス、ネットワークなどの状態を確認してみてください。

ステータスが UP 以外の場合は、停止しているコンテナの最新の ID を指定して再起動してみてください。

$ docker restart <postgres コンテナ ID>

KE2 APP が正常に戻らない場合は、docker サービスを再起動してみてください。

$ systemctl restart docker.service

それでも正常に動作しない場合は、サポートまでお問い合わせください。