web-dev-qa-db-ja.com

Apacheロギングが機能しない

2.2.7からApache 2.4.9にアップグレードした後、ロギングが正しく機能しないようです。ログに記録されるのはmodsecurityとfcgidイベントだけですが、Apacheのようなfile not foundエラーはありません。 Apacheのerror_logを確認します。特に再起動後、これに気づきました。

[Sun Jul 13 05:16:10.482003 2014] [log_config:warn] [pid 30283:tid 140001085970176] (32)Broken pipe: [client 125.166.227.47:26260] AH00646: Error writing to |/usr/local/cpanel/bin/splitlogs --main=server.mysite.com --suffix=-bytes_log
[Sun Jul 13 05:16:10.482047 2014] [log_config:warn] [pid 30283:tid 140001085970176] (32)Broken pipe: [client 125.166.227.47:26260] AH00646: Error writing to |/usr/local/cpanel/bin/splitlogs --main=server.mysite.com --mainout=/usr/local/Apache/logs/access_log

「壊れたパイプ」の意味がわかりません。パイプロギングを有効にしました(Apacheのアップグレード前に有効になりました)。それを無効にしてみましたが、同じことを取得し、何も記録されませんでした。ログセクションのhttpd.confファイルをチェックして、古いconfファイルと比較しましたが、何も異なるように見えません。

<IfModule mod_log_config.c>
    LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedvhost
    LogFormat "%v %{%s}t %I .\n%v %{%s}t %O ." bytesvhost
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    LogFormat "%{Referer}i -> %U" referer
    LogFormat "%{User-agent}i" agent

    CustomLog "|/usr/local/cpanel/bin/splitlogs --main=server.mysite.com --suffix=-bytes_log" bytesvhost
    CustomLog "|/usr/local/cpanel/bin/splitlogs --main=server.mysite.com --mainout=/usr/local/Apache/logs/access_log" combinedvhost

</IfModule>

誰かがこれに光を当てることができれば私はそれを感謝しています。ありがとう。

更新:access_logおよびerror_logのpermsを777に変更することで、壊れたファイルエラーが解消されました。ただし、Apache関連のエラー(404、403など)はログに記録されないため、主な問題は依然として解決しません。

3
Ivan

わかったので、これを理解したと思います。修正は、httpd.confで次のディレクティブを変更することでした。

LogLevel warn

新しい値:

LogLevel info

どうやら、Apache 2.4.9では一部のエラーログの重要性が変更されたため、404のようなエラーログは、ここに記載されているように、情報レベルになりました: http://httpd.Apache.org/docs/current/mod/core。 html#loglevel

8
Ivan