原因と対処(コンポーネント別)
各コンポーネントのログに記録されるエラーから、原因と対処を調べます。手元のエラーログやエラーメッセージがある場合は、本ページ右上の検索でエラーメッセージを検索すると該当箇所に直接たどり着けます。
コンポーネント別の調査
- kengine(ジョブフロー実行エンジン) — redis / rabbitmq 接続エラー
- データベース(postgres / 外部DB / pgpool) — DB 接続エラー
- rabbitmq — ディスク/メモリアラーム、クラスタ関連エラー
- kompira — 静的ファイル(GlusterFS)エラー
- jobmngrd(ジョブマネージャ) — AMQP 接続エラー
- nginx — upstream timed out
- docker — docker デーモン/Swarm 関連エラー
- 高負荷時のチューニング(環境変数) — 接続数上限・Web ワーカ枯渇・タイムアウト
ログの採取手順
Docker コンテナのログ確認手順
Docker コンテナのログを確認する手順については、以下を参照してください。
Docker Swarm 構成でサービス単位のログを確認する手順については、以下を参照してください。
なお、本セクションに記載したログのサンプルは、以下のようなホスト構成で取得したものです。
| IP | Host Name | Comment |
|---|---|---|
| 10.20.47.11 | ke2-rhel89-swarm-1 | シングル構成、外部DBシングル構成、クラスタ構成(1号機) |
| 10.20.47.12 | ke2-rhel89-swarm-2 | クラスタ構成(2号機) |
| 10.20.47.13 | ke2-rhel89-swarm-3 | クラスタ構成(3号機) |
| 10.20.47.20 | DB VIP (pgpool/postgres) | クラスタ構成、外部DBシングル構成 |
その他サービスのログ確認手順
コンテナ以外の各サービスのログを確認する方法については、OS ごとのログ管理の手順を確認してください。以下では Linux で一般的な journalctl
コマンドによる確認手順の例を示します(使い方は man journalctl を参照)。
docker サービスのログ確認
$ journalctl -u docker
# or
$ journalctl -u docker.service
# 最新 N 行のみ確認する場合は -n オプションを指定します
$ journalctl -u docker -n 10
glusterfs サービスのログ確認
$ journalctl -u glusterd
$ journalctl -u glusterd -n 10
$ journalctl -u glusterd --since today