首页 > 解决方案 > 根据严重性将 kea-dhcp4 服务器日志推送到不同的文件

问题描述

无法根据严重性级别隔离 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 服务器配置的部分,所有日志都被定向到“/var/log/kea-debug.log”,无论严重程度如何。预期:严重程度为“WARN”或更高的日志将记录到“/var/log/kea-dhcp4.log”。

标签: linuxdhcp

解决方案


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

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

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

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

您可以做的其他一些事情是将所有内容记录到 syslog,并将其发送到远程日志并使用 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

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


推荐阅读