シングル構成の 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
それでも正常に動作しない場合は、サポートまでお問い合わせください。