• 监控指标(Grafana)
由grafana组件实现
• 网格可视化(Kiali)
由kiali组件实现。
• 调用链跟踪(Jaeger)
由istio-tracing 组件实现。
默认情况下,此三个组件都是内部访问,没有暴露处理,我们可以编辑配置文件将期暴露出来
[root@master istio-1.4.2]# cat monitor-gateway.yaml
---
# 监控指标
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: grafana-gateway
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: grafana
spec:
hosts:
- "grafana.liaochao.com"
gateways:
- grafana-gateway
http:
- route:
- destination:
host: grafana
port:
number: 3000
---
# 网格可视化 Kiali
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: kiali-gateway
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: kiali
spec:
hosts:
- "kiali.liaochao.com"
gateways:
- kiali-gateway
http:
- route:
- destination:
host: kiali
port:
number: 20001
---
# 调用链
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: tracing-gateway
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: tracing
spec:
hosts:
- "tracing.liaochao.com"
gateways:
- tracing-gateway
http:
- route:
- destination:
host: tracing
port:
number: 80
执行该文件暴露:
[root@master istio-1.4.2]# kubectl apply -f monitor-gateway.yaml -n istio-system
gateway.networking.istio.io/grafana-gateway created
virtualservice.networking.istio.io/grafana created
gateway.networking.istio.io/kiali-gateway created
virtualservice.networking.istio.io/kiali created
gateway.networking.istio.io/tracing-gateway created
virtualservice.networking.istio.io/tracing created
我们提前在win中的hosts中配置好我们指定的域名。利用我们前2个章节部署的nginx做的反向代理指定的后端svc,此时我们就可以访问监控了。
1、访问http://grafana.liaochao.com/
举例:我们查看服务网格的状态。
因为数据都是实时产生的,我们写一个for循环来访问bookinfo
for i in {1..100};do curl -I http://192.168.25.137/productpage -H "Host:bookinfo.liaochao.com";sleep 1;done
2、访问http://kiali.liaochao.com/
默认账户密码为admin admin
举例:通过选择命名空间可以看到应用的调用情况,
3、访问http://tracing.liaochao.com/
举例:查看数据链路调用,并能根据流量进行具体分析。
总结关键功能点:
grafana:
- 请求错误率
- 响应时间
kiali:
- 链路调用拓扑图
- RPS(每秒请求),也有错误请求
- 请求/响应数据包大小
- 查看Pod日志
- isito配置资源在线编辑
jeager
- 一个服务涉及的调用情况
- 分析数据包中的具体请求/响应信息
- 响应时间
istio主要还是针对流量还获取信息,代码级监控还是需要借助其他监控工具。