【问题标题】:How get syslogd running on DDEV如何在 DDEV 上运行 syslogd
【发布时间】:2020-04-29 20:25:33
【问题描述】:

我安装了 Drupal 系统日志模块,我想确保系统日志配置正常工作。但是查看web容器内部,我不知道syslogd是否在运行,也没有找到日志可能在哪里。

【问题讨论】:

    标签: ddev


    【解决方案1】:

    正如 Randy 所说,您可以在 config.yaml 中添加 syslog 守护程序作为启动后挂钩。我们使用它如下:

    hooks:
      post-start:
        - exec: sudo syslogd
        - exec: printf "\n\n#Drupal logs\n#local0.* /var/log/drupal.log\n" | sudo tee -a /etc/syslog.conf
    

    这会启动 syslogd 并将其配置为将设施中的所有内容(我猜它是这样称呼的)“local0.*”写入 /var/log/drupal.log . 要查看其中的内容,只需 SSH 进入 DDEV (ddev ssh) 并运行 tail -f /var/log/syslog

    启用 syslog 模块后,您需要进入 admin/config/development/logging 并选择“LOG_LOCAL0”作为 syslog 工具并设置 syslog 格式。

    【讨论】:

      【解决方案2】:
      1. 您必须在您的 Web 容器中安装 syslogd,方法是在您的 config.yaml 中添加 webimage_extra_packages: [inetutils-syslogd],然后重新启动。这将添加必要的包。
      2. 启动项目后,您应该ddev ssh 并运行syslogd。这将手动启动 syslogd。如果您希望它始终启动,您可以将正在运行的 syslogd 添加到启动后 exec 挂钩。
      3. 来自 syslogd 的日志进入 /var/log/syslog

      使用不同的 syslogd 服务器可能更有意义,因此您可以使用 hub.docker.com 上的众多 syslog 映像之一作为 ddev 中的第三方服务,或者您可以在工作站上运行 syslogd,或者你也可以使用https://www.papertrail.com/

      【讨论】:

      • 感谢 Randy,我得到了显示的日志。出于某种原因,我需要将local0.* /var/log/drupal.log 设置为/etc/syslog.conf,然后我运行syslogd 以重新启动服务。
      • 请注意,您对 /etc/syslog.conf 的编辑将无法在 ddev restart 中保留,但由于您只是在踢轮胎,那应该没问题。您可以使用 .ddev/web-build/Dockerfile 添加对 syslog.conf 的永久覆盖,但这可能比您现在想要的要多。
      猜你喜欢
      • 2018-09-14
      • 1970-01-01
      • 2019-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多