2011-08-29
菖蒲のころ
zabbix の2.0.9が出ていることに気がついて、コンパイルして導入したところ、そういえばlogローテーションをしていないことに気が付き、慌ててlogローテーションをするように設定したところ、以下の様なエラーが発生しました。
/var/log/zabbix/zabbix_agentd.log {
rotate 7
missingok
monthly
notifempty
compress
dateext
create 0664 zabbix zabbix
}
logローテーションファイル(zabbix-agent)
エラーメッセージ
logrotate -f zabbix-agent
error: skipping "/var/log/zabbix/zabbix_agentd.log" because parent directory has insecure permissions (It's world writable or writable by group which is not "root") Set "su" directive in config file to tell logrotate which user/group should be used for rotation.
Googleで少し検索したところ、明示的にsuを与えてやることでこのエラーに対処することが出来るようです。ということでlogローテーションファイルを以下のように修正してみました。
/var/log/zabbix/zabbix_agentd.log {
rotate 7
missingok
daily
notifempty
compress
dateext
su zabbix zabbix
create 0664 zabbix zabbix
}
こうすることでエラーメッセージが出力されないようになり、問題が改善したことを確認しました。
logrotate -v zabbix-agent
reading config file zabbix-agent
Handling 1 logs
rotating pattern: /var/log/zabbix/zabbix_agentd.log after 1 days (7 rotations)
empty log files are not rotated, old logs are removed
switching euid to 993 and egid to 991
considering log /var/log/zabbix/zabbix_agentd.log
log does not need rotating
switching euid to 0 and egid to 0
今回の件で、logローテーションは奥が深いと感じ、また勉強不足だなぁと思いました。