linux - 根据严重性将 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”。
解决方案
通过快速阅读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
假设这些词出现在调试日志中,当这些严重性弹出时。
推荐阅读
- google-cloud-platform - 有什么方法可以通过 terraform sentinel 来验证 GCP API
- html - HTML视频每一帧的事件?
- javascript - 无法获取 ProxyPass 用户 IP 地址
- javascript - package.json 中的“导出”属性是否在工作区中工作?
- javascript - JS:单击时添加类,单击窗口时删除类(或在 div 之外)
- bash - 在某个文本文件中执行 bash
- ant - 如何有条件
进入日志文件? - c++ - .gitignore 不会忽略 CMakeLists 文件夹
- python - 使用python为特定范围的数字过滤一对数组
- electron - DesktopCapture 当我切换窗口 ID 应用程序崩溃时