CentOS 6.3
Apache Tomcat/7.0.32
※chefのcookbooksにてtomcatインストールした場合の設定方法となります
http://kakakikikeke.blogspot.jp/2013/05/opscodecookbooks.html
Apache Tomcat/7.0.32
※chefのcookbooksにてtomcatインストールした場合の設定方法となります
http://kakakikikeke.blogspot.jp/2013/05/opscodecookbooks.html
■概要
tomcatの起動や停止に関するログを記録するcatalina.outですが、
こいつはtomcatのconf/logging.propertiesというログローテーションを定義するプロパティで
ちゃんと日次でローテーションしてくれるはずなのですが、tomcatがずっと起動している場合
ローテーションで日付付きのファイル自体は作成させるのですが、ログ自体はずっとcatalina.outというログファイルに吐き続けるため
catalina.outがどんどん肥大化していってしまいます
そんな場合にちゃんとローテーションしたタイミングでcatalina.outも切り替えてくれる方法を記載します
他にも方法はあると思いますので参考程度に見て下さい
こいつはtomcatのconf/logging.propertiesというログローテーションを定義するプロパティで
ちゃんと日次でローテーションしてくれるはずなのですが、tomcatがずっと起動している場合
ローテーションで日付付きのファイル自体は作成させるのですが、ログ自体はずっとcatalina.outというログファイルに吐き続けるため
catalina.outがどんどん肥大化していってしまいます
そんな場合にちゃんとローテーションしたタイミングでcatalina.outも切り替えてくれる方法を記載します
他にも方法はあると思いますので参考程度に見て下さい
■設定方法
vim /etc/init.d/tomcat7
以下を編集
service tomcat7 restart
サービスを再起動
lsof | grep catalina.out
catalina.outを掴んでいるプロセスがいないことを確認する
rm catalina.out
df -h
ディスク容量が大きくなっていることを確認する
ここでディスク容量が減らなかったりするとまだcatalina.outをtomcatが掴んでしまっており見た目は削除されたファイルですが、
実は裏ではcatalina.outにログを吐き続けているためどんどん肥大化しディスクサイズを逼迫していきます
rotetelogsはインストールされている環境に合わせてパスを変更してください
引数に86400を指定することで毎日0時にローテーションするようになります
また今回はchefでインストールしたtomcatの場合を紹介しましたが他の方法でインストールした場合もほぼ同様に設定可能です
/usr/local/tomcat/bin/catalina.sh
等の起動スクリプトに同じような記述があるのでそこを編集すれば問題ありません
以下を編集
$SU "$TOMCAT_USER" -c "touch $CATALINA_OUT" ↓ #$SU "$TOMCAT_USER" -c "touch $CATALINA_OUT" org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_OUT" 2>&1 & echo \$! > "$CATALINA_PID" ↓ org.apache.catalina.startup.Bootstrap "$@" start >/dev/null 2>&1 & echo \$! > "$CATALINA_PID" | /usr/sbin/rotatelogs $CATALINA_BASE/logs/catalina.%Y-%m-%d.log 86400 540
service tomcat7 restart
サービスを再起動
lsof | grep catalina.out
catalina.outを掴んでいるプロセスがいないことを確認する
rm catalina.out
df -h
ディスク容量が大きくなっていることを確認する
ここでディスク容量が減らなかったりするとまだcatalina.outをtomcatが掴んでしまっており見た目は削除されたファイルですが、
実は裏ではcatalina.outにログを吐き続けているためどんどん肥大化しディスクサイズを逼迫していきます
rotetelogsはインストールされている環境に合わせてパスを変更してください
引数に86400を指定することで毎日0時にローテーションするようになります
また今回はchefでインストールしたtomcatの場合を紹介しましたが他の方法でインストールした場合もほぼ同様に設定可能です
/usr/local/tomcat/bin/catalina.sh
等の起動スクリプトに同じような記述があるのでそこを編集すれば問題ありません
0 件のコメント:
コメントを投稿