问题

RockLinux 8上全新安装了自己编译的 Zimbra OSE 9 遇到安装后 logger 服务无法启动的问题,zimbra 启动时会报 zmlogswatch 启动失败

现象

启动 zimbra 或执行 zmcontrol status 查看服务状态时,显示 logger not running
logger-Stopped.png
查看 /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 界面上监控服务器状态的页面的信息一直不会自动刷新,且与系统后台实际的各项服务状态不一致;
具体解决办法参考这篇文章记录

Last modification:September 3, 2023
如果觉得我的文章对你有用,请随意赞赏