説明
実行中のソフトウェアのログファイルを見たいときに、設定ファイルから場所を探すことが多いと思いますが、それでも場所がわからないときに以下の手順で探すと良いと思います。
プロセスからログファイルの場所を探す
例として、今回はdockerコンテナのログを探したいと思います。
ちなみに通常の場合、dokcerのコンテナのログは以下のように、「docker logs -f コンテナ名(コンテナID)」で中身をみることができます。
[root@hoge ~]# docker ps CONTAINER ID ・・ NAMES 9b8b5de95cde ・・ https_portal e1e482670e3f ・・ wp_web 5b50bdcd9c24 ・・ wp_smtp 41ce797ea44b ・・ wp_db [root@blog-web01 ~]# docker logs -f wp_web
次は、本題のプロセスからログを探したいと思います。
①. psコマンドでPID(プロセスID)を確認します。
Linuxコマンドの「ps aux |grep 検索文字(サービス名)」確認できます。
[root@hoge ~]# ps aux |grep docker root 16046 0.0 ・・ 2020 154:36 /usr/bin/dockerd -H fd:// --contain・・・省略 root 16192 0.0 ・・ 2020 0:14 /usr/bin/docker-proxy -proto tcp -host-・・省略 ・ ・
PIDの16046、16192などが確認できました。
②. lsofコマンドでログファイルのリストを取得
Linuxコマンドの「lsof -p プロセスID |grep 検索文字(ログファイル名)」で取得できます。
[root@hoge ~]# lsof -p 16046 |grep log dockerd 16046 ・・/var/lib/docker/containers/41ce797ea44b6b・・・f2a8a-json.log dockerd 16046 ・・/var/lib/docker/containers/5b50bdcd9c24・・・5636-json.log dockerd 16046 ・・/var/lib/docker/containers/e1e482670e3f・・・ee3434-json.log dockerd 16046 ・・/var/lib/docker/containers/9b8b5de95cde・・・fea-json.log
今回は、dockerコンテナが4つ稼働しているため、ログファイル(json.log)4つ出てきました。
「/var/lib/docker/containers/コンテナID-json.log」で各コンテナがどのログファイルなのか見分けることができます。
以上です。
コメント