apache 2.4.17以降でmod_http2有効にすると、送信バイト数が正しく記録されない? のその後

以前書いていた HTTP/2 が有効な apache2 2.4.18 で、相手に送信したコンテンツの送信バイト数がうまく記録されなかった件、

改めて、 mod_http2 有効化以降のログもチェックし直してみたところ、有効化の直後から送信バイト数が "0" でロギングされてて、途中 2.4.17 → 2.4.18 のアップデートがあったにもかかわらず、"0" のままという状況が継続していた模様。

ということで、バグレポートしてみたのだけど、fix されるといいな…。

[From apache 2.4.17以降でmod_http2有効にすると、送信バイト数が正しく記録されない? - Soukaku's HENA-CHOKO Blog]

Debian のバグトラッカーに投げたのだけど、そこで報告したから必ず直るというわけではないので、改めて Apache の bugzilla にも同じようにレポート投げてみたところ、mod_http2 のメンテナから「次のリリースで直すよ」という回答をもらっておりました。

Thanks, that did indeed slip my attention. This is fixed in revision 1725496 in trunk. It will be back ported to the next 2.4.x release.

[From Bug 58871 ? HTTP/2 when in use, response size is recorded in the zero byte If you set the %O in LogFormat]

で、 2.4.19 で修正されました。(実際のリリースとしては 2.4.19 は欠番で、 2.4.20 で対応。)

*) mod_http2: bytes read/written on slave connections are reported via the
optional mod_logio functions. Fixes PR 58871.

[From https://archive.apache.org/dist/httpd/CHANGES_2.4.20]

Debian でも 2.4.20 のパッケージでアップデートをしたところ、当初出ていた問題は解消したように思えたのですが…。


最終的な修正は 2.4.23 で?

で、つい最近のこと、Apache2 2.4.23-1 のパッケージがリリースされたので、当然のようにアップデートしたわけですが…。
なんか、アップデート以降の awstats (うちは、こいつでアクセス統計を出してる)の結果を見ると、ページビューやヒット数は大きく変化していないのに、送信バイト数が大きく記録されているような感じ。

実際ログでどう記録されているのか、アップデートした前後で特定ファイルの状況を確認してみたところ、ある時刻以降ログの出力状態が変わっていることが判明。
ログから抜き出しているのは、アクセス時刻とファイル名、HTTP バージョン、送信バイト数。アップデートを実行したのは 7月7日の 20:40 頃ですが、アップデートの前後ではっきりと違いが…。(記録される HTTP バージョンの表記も変わってるのが見て取れる。)

root@vps2:~# grep -E "\[07\/Jul\/2016:(19|2[0-1]).*src/prettify\.js" /var/log/apache2/access.log | awk '{print $4,$7,$8,$10}'
[07/Jul/2016:19:00:23 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20268
[07/Jul/2016:19:02:56 /~soukaku/code-prettify/src/prettify.js HTTP/2" 397
[07/Jul/2016:19:03:25 /~soukaku/code-prettify/src/prettify.js HTTP/2" 397
[07/Jul/2016:19:08:58 /~soukaku/code-prettify/src/prettify.js HTTP/2" 397
[07/Jul/2016:19:17:33 /~soukaku/code-prettify/src/prettify.js HTTP/2" 397
[07/Jul/2016:19:17:45 /~soukaku/code-prettify/src/prettify.js HTTP/2" 397
[07/Jul/2016:19:18:39 /~soukaku/code-prettify/src/prettify.js HTTP/2" 397
[07/Jul/2016:19:22:45 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20938
[07/Jul/2016:19:30:48 /~soukaku/code-prettify/src/prettify.js HTTP/2" 397
[07/Jul/2016:19:30:50 /~soukaku/code-prettify/src/prettify.js HTTP/2" 397
[07/Jul/2016:19:43:08 /~soukaku/code-prettify/src/prettify.js HTTP/2" 397
[07/Jul/2016:19:43:10 /~soukaku/code-prettify/src/prettify.js HTTP/2" 397
[07/Jul/2016:19:45:36 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20938
[07/Jul/2016:19:54:18 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20613
[07/Jul/2016:19:56:26 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20938
[07/Jul/2016:20:00:39 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 63696
[07/Jul/2016:20:12:49 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20713
[07/Jul/2016:20:12:56 /~soukaku/code-prettify/src/prettify.js HTTP/2" 397
[07/Jul/2016:20:12:57 /~soukaku/code-prettify/src/prettify.js HTTP/2" 397
[07/Jul/2016:20:17:11 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20938
[07/Jul/2016:20:17:55 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20938
[07/Jul/2016:20:19:14 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20938
[07/Jul/2016:20:26:36 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20244
[07/Jul/2016:20:32:44 /~soukaku/code-prettify/src/prettify.js HTTP/2" 397
[07/Jul/2016:20:32:50 /~soukaku/code-prettify/src/prettify.js HTTP/2" 397
[07/Jul/2016:20:32:51 /~soukaku/code-prettify/src/prettify.js HTTP/2" 397
[07/Jul/2016:20:35:36 /~soukaku/code-prettify/src/prettify.js HTTP/2" 397
[07/Jul/2016:20:37:32 /~soukaku/code-prettify/src/prettify.js HTTP/2" 397
[07/Jul/2016:20:42:42 /~soukaku/code-prettify/src/prettify.js HTTP/2.0" 20223
[07/Jul/2016:20:42:46 /~soukaku/code-prettify/src/prettify.js HTTP/2.0" 20223
[07/Jul/2016:20:50:56 /~soukaku/code-prettify/src/prettify.js HTTP/2.0" 20223
[07/Jul/2016:20:53:43 /~soukaku/code-prettify/src/prettify.js HTTP/2.0" 20223
[07/Jul/2016:21:04:06 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20268
[07/Jul/2016:21:04:07 /~soukaku/code-prettify/src/prettify.js HTTP/2.0" 20223
[07/Jul/2016:21:18:05 /~soukaku/code-prettify/src/prettify.js HTTP/2.0" 20223
[07/Jul/2016:21:18:07 /~soukaku/code-prettify/src/prettify.js HTTP/2.0" 20223
[07/Jul/2016:21:22:24 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20713
[07/Jul/2016:21:28:39 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20938
[07/Jul/2016:21:32:07 /~soukaku/code-prettify/src/prettify.js HTTP/2.0" 20223
[07/Jul/2016:21:32:08 /~soukaku/code-prettify/src/prettify.js HTTP/2.0" 20223
[07/Jul/2016:21:32:32 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20713
[07/Jul/2016:21:35:02 /~soukaku/code-prettify/src/prettify.js HTTP/2.0" 20223
[07/Jul/2016:21:41:52 /~soukaku/code-prettify/src/prettify.js HTTP/2.0" 20223
[07/Jul/2016:21:41:56 /~soukaku/code-prettify/src/prettify.js HTTP/2.0" 20223
[07/Jul/2016:21:45:25 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20713
[07/Jul/2016:21:46:29 /~soukaku/code-prettify/src/prettify.js HTTP/2.0" 20223
[07/Jul/2016:21:46:45 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20921
[07/Jul/2016:21:46:52 /~soukaku/code-prettify/src/prettify.js HTTP/2.0" 20223
[07/Jul/2016:21:47:00 /~soukaku/code-prettify/src/prettify.js HTTP/2.0" 20223
[07/Jul/2016:21:51:07 /~soukaku/code-prettify/src/prettify.js HTTP/2.0" 20223
[07/Jul/2016:21:52:06 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20713
[07/Jul/2016:21:57:28 /~soukaku/code-prettify/src/prettify.js HTTP/1.1" 20938
[07/Jul/2016:21:58:26 /~soukaku/code-prettify/src/prettify.js HTTP/2.0" 20223

CHANGES_2.4.23 読んで見てはいるんですが、mod_http2 に対する変更が多くて、どれが該当するものなのかがわからない…。

正しく記録されるようになった、ということで、とりあえずは良しとすればいいのかな?

トラックバック(0)

コメントする