シングル構成・外部 DB シングル構成: kengine ログ調査
INS-SK1: kengine ログに「nc: bad address 'rabbitmq'」というエラーが記録されている
kengine のログに次のようなエラーが記録されている場合は、rabbitmq が停止している可能性が考えられます。
エラーログのサンプル
nc: bad address 'rabbitmq'
nc: bad address 'rabbitmq'
nc: bad address 'rabbitmq'
nc: bad address 'rabbitmq'
nc: bad address 'rabbitmq'
nc: bad address 'rabbitmq'
nc: bad address 'rabbitmq'
nc: bad address 'rabbitmq'
nc: bad address 'rabbitmq'
nc: bad address 'rabbitmq'
nc: bad address 'rabbitmq'
nc: bad address 'rabbitmq'
nc: bad address 'rabbitmq'
nc: bad address 'rabbitmq'
nc: bad address 'rabbitmq'
解決策
以下のコマンドで rabbitmq コンテナのステータスを確認してください。
$ docker ps -a -f name=rabbitmq
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-rabbitmq-1
ステータスが UP である場合はコンテナとしては起動しているため、コンテナ停止以外の問題が起きていると考えられます。 ホストサーバや docker サービス、ネットワークなどの状態を確認してみてください。
ステータスが UP 以外の場合は、停止しているコンテナの最新の ID を指定して再起動してみてください。
$ docker restart <rabbitmq コンテナ ID>
再起動しても正常に戻らない場合は、rabbitmq コンテナ内部で動作している rabbitmq アプリをリセットしてみてください。
$ docker exec $(docker ps -q -f name=rabbit) rabbitmqctl stop_app
$ docker exec $(docker ps -q -f name=rabbit) rabbitmqctl reset
$ docker exec $(docker ps -q -f name=rabbit) rabbitmqctl start_app
この時点でも正常に戻らない場合は、KE2 APP の再起動を試してみてください。
INS-SK2: kengine ログに「Error -2 connecting to redis:6379. Name does not resolve」というエラーが記録されている
kengine のログに次のようなエラーが記録されている場合も、redis が停止している可能性が考えられます。
主なエラーメッセージ
redis.exceptions.ConnectionError: Error -2 connecting to redis:6379. Name does not resolve.
ログのサンプルエントリ
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/kompira/core/cache.py", line 55, in get_object
cache.touch(key)
File "/usr/local/lib/python3.11/site-packages/django/core/cache/backends/redis.py", line 195, in touch
return self._cache.touch(key, self.get_backend_timeout(timeout))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/django/core/cache/backends/redis.py", line 115, in touch
return bool(client.expire(key, timeout))
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/redis/commands/core.py", line 1762, in expire
return self.execute_command("EXPIRE", name, time, *exp_option)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/redis/client.py", line 1266, in execute_command
conn = self.connection or pool.get_connection(command_name, **options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/redis/connection.py", line 1461, in get_connection
connection.connect()
File "/usr/local/lib/python3.11/site-packages/redis/connection.py", line 713, in connect
raise ConnectionError(self._error_message(e))
redis.exceptions.ConnectionError: Error -2 connecting to redis:6379. Name does not resolve.
解決策
以下のコマンドで redis コンテナのステータスを確認してください。
$ docker ps -a -f name=redis
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-redis-1
ステータスが UP である場合はコンテナとしては起動しているため、コンテナ停止以外の問題が起きていると考えられます。 ホストサーバや docker サービス、ネットワークなどの状態を確認してみてください。
ステータスが UP 以外の場合は、停止しているコンテナの最新の ID を指定して再起動してみてください。
$ docker restart <redis コンテナ ID>
この時点でも正常に戻らない場合は、KE2 APP の再起動を試してみてください。