描述
使用 trace,您可以啟用 OpenTracing 來追蹤請求如何流經 CoreDNS。啟用 debug 外掛程式以從 trace 外掛程式取得日誌。
語法
最簡單的形式是
trace [ENDPOINT-TYPE] [ENDPOINT]
- ENDPOINT-TYPE 是追蹤目的地的類型。目前僅支援
zipkin
和datadog
。預設值為zipkin
。 - ENDPOINT 是追蹤目的地,預設為
localhost:9411
。對於 Zipkin,如果 ENDPOINT 不以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
}
every
AMOUNT 將僅追蹤每 AMOUNT 個查詢中的一個查詢。例如,要追蹤每 100 個查詢中的 1 個,請使用 100 作為 AMOUNT。預設值為 1。service
NAME 允許您指定報告給追蹤伺服器的服務名稱。預設值為coredns
。client_server
將啟用ClientServerSameSpan
OpenTracing 功能。datadog_analytics_rate
RATE 將在從 0 到 1 發送的追蹤上啟用 追蹤分析,1 表示將分析發送的每個追蹤。這是僅限於 datadog 的功能(ENDPOINT-TYPE 需要是datadog
)zipkin_max_backlog_size
設定 Zipkin HTTP 報告器的最大積壓大小。當批次大小達到此閾值時,將會處置批次開頭的 span。預設值為 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
請注意,自 coredns 1.7.1 以來,zipkin 提供者不支援 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 個查詢追蹤一個查詢、重新命名服務,並啟用相同的 span
trace tracinghost:9411 {
every 10000
service dnsproxy
client_server
}
中繼資料
如果也啟用了 metadata 外掛程式,則追蹤外掛程式將發布以下中繼資料
trace/traceid
:已處理請求的 (zipkin/datadog) 追蹤識別碼
另請參閱
請參閱 debug 外掛程式,以取得有關除錯記錄的更多資訊。