问题
在RockLinux 8
上全新安装了自己编译的 Zimbra OSE 9 遇到安装后 logger
服务无法启动的问题,zimbra
启动时会报 zmlogswatch
启动失败
现象
启动 zimbra 或执行 zmcontrol status
查看服务状态时,显示 logger not running
查看 /opt/zimbra/log/zmlogswatch.out 日志会显示找不到文件
Error opening /var/log/zimbra-stats.log: No such file or directory at /opt/zimbra/data/tmp/.swatch_script.13361 line 92
原因
Zimbra 自带的 zmlogswatch
这个服务主要是负责处理在多机分布式架构下(不得不说,zimbra 在分布式方面的设计还考虑得还是非常全面和充分的)统一收集和处理整个集群中每一台机器的服务相关状态记录和log日志文件的统一记录和分析用途;
zmlogswatch
依赖于操作系统的 rsyslog
服务
由于 RockLinux 8
系统是最小化(minimal install)安装的,所以系统中默认没有安装 rsyslog服务;
ps:本人习惯最小化安装基础Linux OS,然后再根据业务需求仅安装必须的依赖和其他包,以保证系统单纯和存粹;
因为系统缺少 rsyslog
服务所以导致 zimbra
在安装过程中无法成功配置好 zmlogswatch
的相关设定导致出现该服务无法启动的问题
这里要吐槽一下,zimbra
的安装过程中竟然没有任何的提示和错误告警,至少应该给个提示
解决方法
1. 安装rsyslog
服务并启动
#dnf install rsyslog
#systemctl start rsyslog
2. 重新设定 zmsyslog
#/opt/zimbra/libexec/zmsyslogsetup
该指令以root身份执行,会自动修改 /etc/rsyslog.conf
设置相关的系统日志设置,创建 /var/log/zimbra-stats.log
等操作
3. 重新启动 zmlogswatch
服务
#su - zimbra -c "zmlogswatchctl restart"
#su - zimbra -c "zmlogswatchctl status"
此时服务就能正常启动成功了
以上内容虽然成功解决了服务无法启动的问题,但其实还会连带导致另一个问题的发生:
就是在
具体解决办法参考这篇文章记录
就是在
ZimbraAdmin
界面上监控服务器状态的页面的信息一直不会自动刷新,且与系统后台实际的各项服务状态不一致;具体解决办法参考这篇文章记录