Istio使用【链路监控】


本文使用的istio版本:1.4.2

开启链路监控

....
#
# addon jaeger tracing configuration
#
tracing:
  enabled: true
....

可以看出。istio链路监控集成使用的是JaegerJaeger是什么,参考开发分布式追踪OpenTracing与Jaeger相关文档整理

查看是否启动成功

[root@k8s-master istio-1.4.2]# kubectl get po -n istio-system --show-labels | grep jaeger
istio-tracing-795c9c64c4-224wm            1/1     Running     0          47h   app=jaeger,chart=tracing,heritage=Tiller,pod-template-hash=795c9c64c4,release=istio

访问jaeger UI

[root@k8s-master istio-1.4.2]# kubectl get svc -n istio-system | grep jaeger
jaeger-agent             ClusterIP      None             <none>        5775/UDP,6831/UDP,6832/UDP                                                                                                                   47h
jaeger-collector         ClusterIP      10.110.206.207   <none>        14267/TCP,14268/TCP,14250/TCP                                                                                                                47h
jaeger-query             NodePort       10.101.53.38     <none>        16686:31944/TCP 

如上所示,默认情况下,jaeger-query类型也是ClusterIP,为了便于访问,直接修改成NodePort类型:

kubectl edit svc jaeger-query  -n istio-system

然后访问IP:31944即可。

UI预览

Jaeger UI
Jaeger UI
Jaeger UI

采集频率控制

如果所有的请求都采集监控,不管出于性能考虑还是资源考虑,都是不实际的。

pilot组件中PILOT_TRACE_SAMPLING环境变量用于控制采集率,默认为10~100),测试的时候可以改大点便于分析:

 kubectl -n istio-system get deploy istio-pilot -oyaml | grep PILOT_TRACE_SAMPLING -A5

--
        - name: PILOT_TRACE_SAMPLING
          value: "1"
        - name: PILOT_ENABLE_PROTOCOL_SNIFFING_FOR_OUTBOUND
          value: "true"
        - name: PILOT_ENABLE_PROTOCOL_SNIFFING_FOR_INBOUND
          value: "false"
---

监控数据采集存储

参考控制台kiali配置,其中配置了Prometheusgrafana。参考Istio链路监控和监控可视化

  • prometheus作为基础数据采集和存储方式,可以通过PromQL查询指标。
  • grafana可定制化报表展示。

grafana


文章作者: wuzhiyong
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 wuzhiyong !
评论
 上一篇
Istio使用【Bookinfo示例】 Istio使用【Bookinfo示例】
Bookinfo示例简介Bookinfo是istio官网示例,应用程序分为四个单独的微服务: productpage。该productpage微服务调用details和reviews微服务来填充页面。 details。该details微服
2019-12-26
下一篇 
logback配置文件模板 logback配置文件模板
Logback默认配置的步骤 尝试在 classpath下查找文件logback-test.xml; 如果文件不存在,则查找文件logback.xml; 如果两个文件都不存在,logback用BasicConfigurator自动对自己进行
2019-12-25
  目录