kompira の原因と対処
kompira コンテナのログに記録されるエラーから、原因と対処を調べます。
静的ファイルにアクセスできない(KeyError: 'staticfiles')
対象構成: Swarmクラスタ構成(GlusterFS 利用時)
観測される症状・影響
GlusterFS ボリュームが利用できないため、kompira が静的ファイルにアクセスできず、ブラウザ画面が崩れる・内部処理エラーになる可能性があります。
- 影響範囲: kompira の役割と影響範囲
主なエラーメッセージ
KeyError: 'staticfiles'OSError: [Errno 107] Socket not connected: '/var/opt/kompira/html/staticfiles.json'
ログのサンプルエントリ
File "/usr/local/lib/python3.11/site-packages/django/core/files/storage/filesystem.py", line 68, in _open
return File(open(self.path(name), mode))
OSError: [Errno 107] Socket not connected: '/var/opt/kompira/html/staticfiles.json'
[2024-08-14 12:52:10,444:ap-ke2-rhel89-swarm-3:MainProcess:uWSGIWorker5Core0] ERROR: database error: [Errno 107] Socket not connected: '/var/opt/kompira/html/staticfiles.json'(OSError(107, 'Socket not connected'))
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/django/core/files/storage/handler.py", line 35, in __getitem__
return self._storages[alias]
KeyError: 'staticfiles'
原因
静的ファイルを提供する GlusterFS ボリュームが利用できない、またはクラッシュした場合に発生します。kompira の Django アプリケーションがこのボリュームに格納された静的ファイルにアクセスしようとして接続できず、エラーになります。
解決策
-
KE2 APP ホストサーバでリソース使用率が高い場合、ホストサーバのリソース状況の確認 を確認してください。
-
GlusterFS のボリュームアクセスの問題が考えられます。共有ファイルシステム(glusterfs)の正常性確認 を確認してください。
-
正常に戻らない場合、kompira コンテナを再起動してください。
# kompira コンテナ ID: $ docker ps -aq -f name=kompira で取得できます $ docker restart <KOMPIRA_CONTAINER_ID>