根据严重程度将 kea-dhcp4 服务器日志推送到不同的文件

Pushing kea-dhcp4 server logs to different files based on severity

无法根据严重级别隔离 kea 日志。

 "Logging": {
    "loggers": [
      {
        "name": "kea-dhcp4",
        "output_options": [
          {
            "output": "/var/log/kea-dhcp4.log"
          }
        ],
        "severity": "WARN"
      },
      {
        "debuglevel": 99,
        "name": "kea-dhcp4",
        "output_options": [
          {
            "output": "/var/log/kea-debug.log"
          }
        ],
        "severity": "DEBUG"
      }
    ]
  }

以上是kea server config的部分,所有日志都指向“/var/log/kea-debug.log”,不考虑严重级别。预期:严重性 "WARN" 及更高级别的日志记录到“/var/log/kea-dhcp4.log”。

通过快速阅读 https://jenkins.isc.org/job/Kea_doc/guide/kea-guide.html 的第 18 节,我会:

  • 尝试将调试日志部分放在警告日志部分之前,看看是否只记录警告。
  • 检查keactrl 配置。

似乎每个 "name" 只能有一个日志,如果您想要调试日志记录,则必须使用不同的记录器名称,例如。 "kea-ctrl-agent" 而不是 "kea-dhcp4" - 但不清楚是否涉及层次结构以及是否会捕获其下方部分的条目。

如果是这种情况,开发人员应该很容易修复 - 您应该更新 kea 项目中的错误报告,此处:https://gitlab.isc.org/isc-projects/kea/issues/592

您可以做的其他一些事情是将所有内容记录到系统日志中,并将其发送到远程日志中,然后使用 splunk 或 logzilla 之类的东西按严重性对它们进行排序。

或者你,如果它只是暂时的,你可以创建一个 cron 作业,每隔几分钟执行一次,或者只是 运行 它在尾部:

tail /var/log/kea-debug.log|egrep '(WARN|ERR|FATAL)' /var/log/kea-debug.log|tee -a /var/log/kea-dhcp.log

假设这些词存在于调试日志中,当这些严重性弹出时。