1. 程式人生 > >sleuth+zipkin 呼叫追蹤全量日誌方案

sleuth+zipkin 呼叫追蹤全量日誌方案

spring cloud中的zipkin日誌統計是由sleuth客戶端和zipkin伺服器組成。 sleuth收集客端trace,通過mq將trace傳送到zipkin伺服器。

zipkin 做持久化和查詢展示功能。常用kafka+zk叢集作為mq將資訊由客戶端發往伺服器,elasticsearch用於trace儲存。

存在以下問題:

1.大量trace發往zipkin很容易崩潰,通常不能做全量記錄。

2.如果zipkin崩潰或者mq出現問題會導致trace丟失。

解決:

a.不引入mq依賴,使用日誌記錄呼叫資訊。

    @Bean
    public Reporter<Span> reporter(){
        
return span -> { logger.info(span.toString()); }; //輸出到trace日誌檔案 } @Bean public Sampler sleuthTraceSampler() { return Sampler.ALWAYS_SAMPLE; } //全量記錄

 

b.使用elk日誌方案將日誌匯入到trace專用索引。

c.zipkin對資料包括收集和查詢展示兩模組。我正常配置zipkin+es,就ok了。只是沒有不使用收集模組。