Yet another Carbonio bug:
My /var/log/carbonio.log and /var/log/carbonio-stats.log remain empty after logrotated rotates them. I see zmconfigdctl restart
is called by logrotated but that does not seem sufficient to restart logging to these two files. Even "zmcontrol restart" and restarting all carbonio-* services does not resolve the issue. Only a reboot does, so there is obviously some other service that's not getting restarted that needs to be.
Check the file /etc/logrotate.d/carbonio, the first 2 blocks should look like follows (probably the "postrotate" section is missing):
/var/log/carbonio.log {
daily
missingok
notifempty
create 0644 syslog adm
dateext
postrotate
kill -HUP `cat /var/run/syslog*.pid 2> /dev/null` 2> /dev/null || true
su - zextras -c "/opt/zextras/bin/zmconfigdctl restart" > /dev/null 2>&1 || true
endscript
compress
rotate 30
}
/var/log/carbonio-stats.log {
daily
missingok
notifempty
create 0644 syslog adm
dateext
postrotate
kill -HUP `cat /var/run/syslog*.pid 2> /dev/null` 2> /dev/null || true
su - zextras -c "/opt/zextras/bin/zmconfigdctl restart" > /dev/null 2>&1 || true
endscript
rotate 0
}
Those are the defaults in that file which I did not change. Looking at it I just spotted the problem however, RHEL and derivatives do not use syslog, they use rsyslog. That line should instead read "/usr/bin/systemctl -s HUP kill rsyslog.service >/dev/null 2>&1 || true"
Yet again more proof that Carbonio support for RHEL is a complete lie as it's never been properly tested. I'd log a bug but, oh wait there is no proper place to report bugs so this post won't do anything and future releases this will remain unfixed.
That line should instead read "/usr/bin/systemctl -s HUP kill rsyslog.service >/dev/null 2>&1 || true"
Can you help me with a diff? I don't understand what line in what file should be replaced?
Thanks
//Sigtrap
8c8 < kill -HUP `cat /var/run/syslog*.pid 2> /dev/null` 2> /dev/null || true --- > /usr/bin/systemctl -s HUP kill rsyslog.service >/dev/null 2>&1 || true 22c22 < kill -HUP `cat /var/run/syslog*.pid 2> /dev/null` 2> /dev/null || true --- > /usr/bin/systemctl -s HUP kill rsyslog.service >/dev/null 2>&1 || true
