说明
通过追踪,你可以了解请求是怎样通过 CoreDNS 流动的。启用调试插件可以从追踪插件获得日志。
语法
最简单的形式就是
trace [ENDPOINT-TYPE] [ENDPOINT]
- 终端类型是追踪目标的类型。目前只支持
zipkin
和datadog
。默认值为zipkin
。 - 终端是追踪目标,默认为
localhost:9411
。对于 Zipkin,如果终端不以http
开头,它将被转换为http://ENDPOINT/api/v1/spans
.
使用此格式,所有查询都将被追踪。
使用此语法可以启用附加功能
trace [ENDPOINT-TYPE] [ENDPOINT] {
every AMOUNT
service NAME
client_server
datadog_analytics_rate RATE
zipkin_max_backlog_size SIZE
zipkin_max_batch_size SIZE
zipkin_max_batch_interval DURATION
}
每
数量只跟踪数量查询中的一个查询。例如,要跟踪 100 个查询中的 1 个,请使用 100 的数量。默认值为 1。服务
名称允许你指定报告给追踪服务器的服务名称。默认值为coredns
。客户端_服务器
将启用客户端服务器 SameSpan
OpenTracing 功能。datadog_analytics_rate
率启用追踪分析,针对从0至1发送的追踪,1表示发送的每个追踪都将被分析。这是一项只适用于 datadog 的功能(终端类型需要是datadog
)。zipkin_max_backlog_size
为 Zipkin HTTP 报告程序配置最大积压大小。当批量大小达到此阈值时,将处理批量的开头部分。默认的积压大小为 1000。zipkin_max_batch_size
为 Zipkin HTTP 报告程序配置最大批量大小,之后将触发收集。默认的批量大小为 100 个追踪。zipkin_max_batch_interval
配置缓冲追踪的最大持续时间,在将它们通过 Zipkin HTTP 报告程序发送到收集程序之前。默认的批量时间间隔为 1 秒。
Zipkin
你可以像这样在 Docker 主机上运行 Zipkin
docker run -d -p 9411:9411 openzipkin/zipkin
请注意,zipkin 提供程序自 coredns 1.7.1 起不支持 v1 API。
示例
使用备用 Zipkin 地址
trace tracinghost:9253
或
. {
trace zipkin tracinghost:9253
}
如果出于某种原因你在使用 API 反向代理或其他内容,并且需要重新映射标准 zipkin URL,你可以执行一些操作,例如
trace http://tracinghost:9411/zipkin/api/v1/spans
使用 DataDog
trace datadog localhost:8126
追踪每 10000 个查询中的一个查询,重命名服务,并启用同一路径
trace tracinghost:9411 {
every 10000
service dnsproxy
client_server
}
元数据
如果元数据插件也已启用,追踪插件将发布以下元数据
追踪/追踪 ID
:已处理请求的(zipkin/datadog)追踪的标识符
另请参见
有关调试日志记录的更多信息,请参阅调试插件。