質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

195閲覧

apachコンテナのaccess.logとerror.logがリアルタイムに取得できない

eisaku123

総合スコア75

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2024/05/02 14:37

実現したいこと

表記の通りaccess.logとerror.logがリアルタイムに取得したいです

sudo -u www-data tail -f access.logをした後に対象のwebにアクセスしてもリアルに表示されないです。

イメージ説明

発生している問題・分からないこと

なんで表示されないかが疑問。

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

docker logs -f f85f1183611f | tee 77777.logだと書き込めれた。
しかし、エラーログは書き込まれなかった。

補足

まずは、これを解決して、外部にaccess.logとerror.logを書き込めれるようにしたい
次に本番環境でブラウザーやcloud watch logsなどで監視がしたい。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

なんで表示されないかが疑問。

access.logerror.logはシンボリックリンクで、ログの出力先はそれぞれ、 /dev/stdout/dev/stderr になっています。

stdoutstderr は 標準出力と、標準エラー出力ですので、それを tail しても中身は見れません。(というか、中身がそもそもありません)

これは、ログはコンテナ内に蓄積するのではなく、ストリームデータとして扱い、コンテナの外でどうにかするべき、といった思想が元になっていると思います。こうすることで、アプリケーションはログの出力先や、ストレージを気にしなくて良くなります。

リアルタイムにログの内容を表示する場合は tail -f <FILENAME> の代わりに、docker logs <CONTAINER_ID> -f で参照します。

ログの出力先は、ログドライバーによって変更できます。
https://docs.docker.jp/config/container/logging/configure.html

たとえば、syslog に出力するには、syslog logging driver を使います。 https://docs.docker.com/config/containers/logging/syslog/

また、cloudwatch logs に出力する場合は、Amazon CloudWatch Logs logging driver を使います。 https://docs.docker.com/config/containers/logging/awslogs/

他には、fluend を使ってログストリームを制御するといったやり方もあります。

とまぁ、Dockerではログはこういう感じですので、先ほどのURLを御覧頂いて、検討してみてもらえればと思います。

投稿2024/05/02 16:28

take88

総合スコア1407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

eisaku123

2024/05/03 00:13

貴重なアドバイスありがとうございます。これらから深く調べます。
eisaku123

2024/05/05 05:16

take88さん 以下の内容でcloud watchlogのアクセスログは見えたましたがエラーログが見えないです。 どこに設定を追記すれば良いのでしょうか? version: "3.5" services: php-apache-sdk: image: at460904/php-apache-awssdk:latest ports: - 80:80 - 443:443 volumes: - ./web/base:/var/www/html - ./config:/var/www/config restart: always logging: driver: awslogs options: awslogs-region: ap-northeast-1 awslogs-group: my-ecs-logs awslogs-stream: myservice-error
take88

2024/05/06 10:08

エラーログが見えない、というのはどのように確認されたでしょうか? エラーログと アクセスログは、一緒に Cloudwatch logs で処理されると思いますので、アクセスログが見えるなら、エラーログの内容も、Cloudwatch logs にで処理されてると思います。 コンテナ内のApcheが、エラーログへ出力できているのか確認した方がいいかもしれませんね。Apache の httpd.conf でエラーログの設定はどうなってますか?
eisaku123

2024/05/10 03:51

httpd.confの実体がないです。 # tree httpd httpd ├── conf.d │ └── README └── conf.modules.d OSは以下の内容です。 $ cat /etc/os-release NAME="Amazon Linux" VERSION="2" ID="amzn" ID_LIKE="centos rhel fedora" VERSION_ID="2" PRETTY_NAME="Amazon Linux 2" ANSI_COLOR="0;33" CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2" HOME_URL="https://amazonlinux.com/" SUPPORT_END="2025-06-30"
eisaku123

2024/05/11 02:38

すみません!!!!!上記の内容を訂正します。 apacheコンテナの中身で apache2.confのエラーログの設定はこのようになってます。 ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn コンテナのOSの中身はこれです。 cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 10 (buster)" NAME="Debian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)" VERSION_CODENAME=buster ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/" root@d6cf4d9887a3:/var/www/html#
eisaku123

2024/05/12 00:13

参考になりました。アドバイスありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問