hhvmのログローテーションの設定方法
2017年03月15日
運用しているとあるサイトのサーバが低速化していたので、原因を調べてみるとhhvmのログサイズが肥大化していた。
ちなみに、linuxでどのフォルダが肥大化しているかを調べるには以下のコマンドが便利
容量を使っているディレクトリ上から30個表示
du / | sort -nr | head -30
調べてみたところ、hhvmのエラーログが肥大化していた。
/var/log/hhvmd/error.log
これがサーバ全体を圧迫するほど巨大化して容量を占有していた
該当ディレクトリまで移動し、このコマンドでとりあえず空にする
: > error.log
hhvmのログファイルのローテーションだが、以下のファイルで編集できる
/etc/logrotate.d/hhvmd
編集すると、初期設定では以下のようになっていた
/var/log/hhvmd/*log {
daily
rotate 52
missingok
notifempty
compress
delaycompress
sharedscripts
copytruncate
}
デイリーでログをローテーションし、52世代まで残す設定となっていた。
ファイルの上限がなかったので、ファイルサイズを追記しておいた。
/var/log/hhvmd/*log {
daily
rotate 52
size 5M
missingok
notifempty
compress
delaycompress
sharedscripts
copytruncate
}
上記の設定では5Mを超えるとローテーションされるので、最大でも 5M×52で250M程度しか容量を圧迫することはない。
設定後、Apacheの再起動を行って反映させた。