Ubuntu 20.04:尝试让 syslog-ng 和 rsyslog 与 systemd 共存

Ubuntu 20.04:尝试让 syslog-ng 和 rsyslog 与 systemd 共存

我被困在公司束缚中,无法使用 rsyslog。配置已完全设置。

我需要运行一项服务来中继来自各种来源的日志,为此我使用 syslog-ng。

我在较旧的 ubuntu 系统上运行此程序,使用的是本地编译和打包的 syslog-ng 版本。如果不需要,我宁愿不编译。

问题:

首先,标准的 ubuntu 软件包是互斥的。您安装 rsyslog 并删除 syslog-ng。我通过使用第三方存储库并从中安装 syslog-ng 来解决这个问题。

其次,systemd/systemctl 中似乎有一些东西可以确保 rsyslog 和 syslog-ng 服务不会同时运行。

我怀疑他们正在争夺资源,可能是 /run/systemd/journal/syslog

欢迎提出有关如何解决此问题的建议!

答案1

看起来发生的事情是,一个 syslog 的 apt install 删除了另一个 syslog。

所以我做的是

sudo apt install syslog-ng-core进而

sudo cp /usr/sbin/syslog-ng* /usr/local/sbin

sudo cp -r /usr/lib/syslog-ng /usr/local/lib/syslog-ng最后

sudo mkdir /var/lib/syslog-sec

然后我修改/etc/defaults/syslog-ng

# Command line options to syslog-ng                                                                                                                                                                                                    
SYSLOGNG_OPTS="--control /var/lib/syslog-sec/syslog-ng.ctl --module-path /usr/local/lib/syslog-ng/3.31 --persist-file /var/lib/syslog-sec/syslog-ng.persist --pidfile /var/lib/syslog-sec/syslog-ng.pid"
LD_LIBRARY_PATH="/usr/local/lib/syslog-ng"

这似乎有效,但现在还为时过早,如果我找到更多鱼钩,我会更新这个答案。

如果有人有更好的解决方案,我很想知道。

理想情况下,我想要一个可以控制安装路径的发行版。

相关内容