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了。只是沒有不使用收集模塊。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM