描述
查詢處理期間遇到的任何錯誤都會輸出到標準輸出。特定類型的錯誤可以被彙整,並在一段時間內印出一次。
每個伺服器區塊只能使用一次這個外掛程式。
語法
基本語法是
errors
擴展語法提供額外的調整選項
errors {
stacktrace
consolidate DURATION REGEXP [LEVEL]
}
選項 stacktrace
將在 panic 恢復期間記錄堆疊追蹤。
選項 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$
。
範例
使用 whoami 來回應 example.org 網域中的查詢,並將錯誤記錄到標準輸出。
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 .+"
}
}