【问题标题】:Prevent forwarding of systemd service logs to syslog without affecting other service logs sent to syslog防止将 systemd 服务日志转发到 syslog,而不影响发送到 syslog 的其他服务日志
【发布时间】:2017-12-27 07:17:17
【问题描述】:

我的计算机将多个 java 进程作为 systemd 服务运行。systemd 日志在 syslog 中累积,最终导致磁盘空间不足。如何将 systemd 服务启动的日志重新定向到 /dev/null 以便它不会在 syslog 中累积。由于这个问题,机器不断地用完磁盘空间。但是,我需要能够使用 journalctl 来查看 systemd 服务日志。我找到的可能解决方案是:

1.通过设置修改/etc/systemd/journald.conf中的配置 'ForwardToSyslog=no'

2.在systemd服务文件本身中添加StandardOutput=null

但是第一个解决方案完全停止发送到 syslog 的所有日志,解决方案 2 不起作用。我希望仅停止转发来自 systemd 服务的日志消息。

【问题讨论】:

    标签: linux ubuntu logging systemd syslog


    【解决方案1】:

    StandardOutput=null 的第二个选项应该可以工作。我认为您需要通过添加 StandardError=null 将 STDERR 也重定向到 /dev/null。 总结 - 在你的 *.service 文件中应该有两行:

    [Service]
    StandardOutput=null
    StandardError=null
    

    有关详细信息,请参阅 SYSTEMD.EXEC(5) 手册页。

    【讨论】:

    • 但是这个解决方案完全禁用了日志,所以你不能再通过journalctl -u <unit> -f 观看它们了:/ 有没有办法保持日志但不转发到系统日志?
    【解决方案2】:

    类似地,在运行 systemd-219-42.el7_4.1.x86_64 的 Redhat 7.4 机器上,我无法使用 /etc/systemd/journald.conf 中的“ForwardToSyslog=no”设置关闭日志重定向。

    我成功设置了“MaxLevelSyslog=warning”,它删除了所有转发到 rsyslog 的 INFO 和 DEBUG 级别消息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-02
      • 1970-01-01
      • 2015-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多