描述
查询过程中遇到的任何错误都将打印到标准输出。特定类型的错误可以合并,并且每隔一段时间打印一次。
此插件仅可在每个服务器块中使用一次。
语法
基本语法如下
errors
可使用扩展语法获得额外的设置。
errors {
stacktrace
consolidate DURATION REGEXP [LEVEL]
}
选项 stacktrace
将在恐慌恢复期间记录堆栈跟踪。
选项 consolidate
允许收集在 DURATION 间匹配正则表达式 REGEXP 的多个错误消息。从收到第一条此类消息起的 DURATION 后,合并后的消息将使用日志级别打印到标准输出,该日志级别可通过可选选项 LEVEL 进行配置。LEVEL 选项支持的选项有 warning
、error
、info
和 debug
。
2 errors like '^read udp .* i/o timeout$' occurred in last 30s
允许使用带有不同 DURATION 和 REGEXP 的多个 consolidate
选项。如果某条错误消息与多个已定义的正则表达式匹配,则该消息将与第一个匹配的 REGEXP 关联。
为了获得更好的性能,建议在按前缀或后缀过滤错误消息(例如 ^failed to .*
或 .* timeout$
时在正则表达式中使用 ^
或 $
元字符。
示例
在 example.org 域中使用 whoami 来响应查询并记录错误到标准输出。
example.org {
whoami
errors
}
使用 forward 插件通过 8.8.8.8 解析查询,并为具有后缀“i/o timeout”的错误按警告方式打印合并的消息,以及为具有前缀“Failed to”的错误按错误方式打印合并的消息。
. {
forward . 8.8.8.8
errors {
consolidate 5m ".* i/o timeout$" warning
consolidate 30s "^Failed to .+"
}
}