istio默認會進行日誌的記錄,可是僅僅記錄到服務、以及服務之間調用的信息,不記錄業務日誌。java
如:python
因此須要添加業務日誌記錄。git
1.引入依賴github
<dependency>
<groupId>org.fluentd</groupId>
<artifactId>fluent-logger</artifactId>
<version>
0.3
.
3
</version>
</dependency>
|
2.代碼中引入相關類,並鏈接fluent服務ui
import org.fluentd.logger.FluentLogger;
1) 本地調用遠程fluent服務url
private static FluentLogger log = FluentLogger.getLogger("service-a.ServiceController","192.168.181.99",30224);spa
2)istio線上調用fluent服務
private static FluentLogger log = FluentLogger.getLogger("service-a.ServiceController","fluentd-es.logging",24224);
詳解:.net
service-a.ServiceController爲記錄日誌tag日誌
192.168.181.99 爲遠程fluent服務code
30224 爲遠程fluent服務的端口
建議:
tag爲 當前服務名+類名
遠程fluent服務不指定,默認爲本地fluent服務
3.記錄日誌
詳解:
log.log方法參數:tag建議爲方法名稱,key爲(info,error,warn)中的一個,value爲記錄的信息。
4.fluent ui 展示狀況
詳解:
由於方法info 調用了notify方法,並且notify方法報錯,因此fluent收到兩條記錄。
5.事例項目(jeager-fluent分支)
https://github.com/jiuchongxiao/istio-python-hello-jaeger.git