👀 監視コマンド
ログファイルを眺める:lamp logs
lamp logs
lampman コンテナのファイルの中身をコンソールに出力し追記を監視します。
出力プログラムには MultiTail を使用しています。(lampman コンテナの中で実行されるのでインストールは不要です)
以下、設定例ですが、https, db は自由に決めていただいてOKなグループ名です。
その中に監視したいファイル名と設定オプションがありますが、設定オプションは MultiTailのドキュメント をご参考ください。
以下ですと、 -cS でフォーマット定義、 -ci でANSIカラーの指定をしています。
config.js 設定例:
...
logs: {
https: [
['/var/log/httpd/ssl_request_log', ['-cS', 'apache']],
['/var/log/httpd/ssl_error_log', ['-cS', 'apache_errors']],
],
db: [
['/var/log/mysql/query.log', ['-ci', 'green']],
],
},
...
オプション無しの場合、一番最初のグループのみ監視します。
lamp logs -a
lamp logs --all
全てのグループを画面を割って表示します
lamp logs -s
lamp logs --select
複数グループを定義している場合に選択肢が出るので、表示するグループを1つ選択してそれを表示します。
MultiTailの簡単な操作説明
- ヘルプ:
horF1 - 履歴:
b※上下でスクロールする - キーワード検索:
/ - ログマーカーを付ける:
Enter - ウィンドウを抜ける, 終了:
q
別のコンテナ内のログファイルも一緒に眺めたい場合
Lampmanで設定できるMySQLでは、クエリログを有効に設定すると lampman コンテナに /var/log/(mysql設定名) にmysqlコンテナのログディレクトリが自動でマウントされるようになりますが、これ以外で lampman 本体以外のコンテナの中のファイルを lamp logs で眺める方法を Lampman 側では特に方法を用意していません。
ですが、 docker-compose.override.yml に設定を追記して、lampman コンテナに該当のコンテナのディレクトリをマウントすることで比較的カンタンに対応できます。以下例です。
docker-compose.override.yml 設定例:
version: '2.2'
services:
lampman:
volumes_from:
- centos
centos:
volumes:
- 'centos_log:/centos_log'
volumes:
centos_log:
driver: local
name: lampman-xxx-centos_log
これで centos コンテナ内の /centos_log ディレクトリが lampman コンテナにマウントされアクセスできるようになったので、設定に追記して完了です。
config.js 設定例:
...
// project name
project: 'lampman-xxx',
...
logs: {
https: [
['/var/log/httpd/ssl_request_log', ['-cS', 'apache']],
['/var/log/httpd/ssl_error_log', ['-cS', 'apache_errors']],
],
centos: [
['/centos_log/error.log', ['-ci', 'red']],
],
},
...
※ 上記の場合、centos コンテナで /centos_log を用意しておく必要はあります。(大抵はシンボリックリンクになると思いますが)