Istio 遥测| 学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
可观测监控 Prometheus 版,每月50GB免费额度
简介: 快速学习 Istio 遥测

开发者学堂课程微服务实战-Service Mesh 与 IstioIstio 遥测】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/620/detail/9437


Istio 遥测

目录:

一、Mixer adapters

二、Mixer API

三、分布式追踪

四、分布式追踪: Jaeger

五、日志采集

 

一、Mixer adapters

image.png

mixer是一个新的学习内容,mixer有一个插件结构,可以让不同的时限插在下面,在安装instio时,它已经自带了插件,这些插件来自第三方,但它能使instio的功能变得强大。

 

二、Mixer API

Mixer API 比较不直观,一般来说分成三个部分。

1Instance:要采集什么样的日志

要求指标值以及日志条目比较熟悉

2Handler:用哪个适配器

Mixer 适配器

3rule 配置:

instance 传递给 handler的规则,关于规则的配置,讲规则传递的配置。在什么情况下把收集到的东西传递到适配器中。

所以分成三部分。

实例:这是一个采集数据的 Mixer API,分了三部分。

# Configuration for metric instances

apiVersion:config.istio.io/v1alpha2

kind:instance

metadata:

name:doublerequestcount

namespace:istio-system

spec:

compiledTemplatemetric

params:

value:"2"# count each request twice

dimensions: N

reporter:conditional((context.reporter.kind "inbound")=="outbound", "client", "server

source: source.workload.name |"unknown"

destination:destination.workload.name "unknown"

message: '"twice the fun!"l

monitored_resource_type:'"UNSPECIFIED"I

# Configuration for a Prometheus handler

apiVersionconfig.istio.io/v1alpha2

kind:handler//引用了instance

netadata:

name: doublehandler

namespace: istio-system

compiledAdapter:prometheus

params:

metrics:

- name:double_request_count # Prometheusmetric name

instance_name:doublerequestcount.instance.istio-system #Mixer instance name (fully-qual: kind:COUNTER

label_names:

- reporter

- source

- destination

message

# Rule to send metric instances to a Prometheus handlerapiVersion:config.istio.io/v1alpha2

kind:rule

metadata:

name:doubleprom

namespace:istio-system

spec:

US-169691- -MP:istio andy.shi$ kubectl -n istio-system port-forward $(kubectl -n istio-system getpod l app=grafana sonpath='f.items[0] . metadata .name]' )3000 : 3000

这个例子看一下即可,为了保证操作,不会更改 API,mixer api 非常复杂,没有纠错功能,为了防止拷贝出错,不做复杂的操作,直接看一下内置的instance即可。

下面来看下怎么访问界面:

US-169691-MP:istio andy.shiS kubectl port-forward prometheus-77f67668f-4nc4z -n istid-system 9090:989e

把端口号转到本地来,它会打通端口然后转接出来。prometheus 名字需要牢记,端口号为9090

现在开始访问。看下instio的创建内容,所有的请求访问数目,访问了很多内容,返回的信息等都在这里。变量都是内置的,所以不一定有数据。

另外一个常用的监控工具为grafana

US-169691-MP:istio andy.shiS kubectl -n istio-system port-forward $(kubectl -n istio-systemetpod -l app=grafana -o jsonpath='i.items[0].metadata.name} ' ) 3000;3000]

使用步骤:

端口号是3000.可以产生一些流量,访问微服务,过会就可以看到数量增加,还可以看到具体的每一个内容。数据也有了。


三、分布式追踪

在没有 instio 之前,需要追踪微服务之间的通讯,很复杂。有了分布式追踪后一切都变得简单了,用户不需要做任何事情,代码不用写,任何东西不需要改变。有了分布式追踪的项,不同的追踪工具都可以拿掉。

x-request-id

x-b3-traceid

x-b3-spanid

x-b3-parentspanid

x-b3-sampled

x-b3-flags

x-ot-span-context

 

四、分布式追踪: Jaeger

instio 版本上是没有安装的,这个需要了解,看一下图片的操作,可以看出跟以前的工具差不多,体现了各个微服务之间调用的信息,特别是延迟和返回的http,可以帮助我们能够找到哪里有问题,或者发现瓶颈进行改正。

image.png


五、日志采集

日志有以下三种采集方式:

1. Envoy 访问日志,可以通过配置策略,把握容器的标准输出,然后可以拿到配置。

2. Mixer 收集新的日志数据,必须有指标是可以被收集的,就像分布式追踪一样,指标被收集才能使用

3.使用 Fluentd 记录日志,把日志功能都集成起来。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
相关文章
|
测试技术 开发者
KubeVela 对接 Istio 实现应用灰度发布实践|学习笔记(二)
快速学习 KubeVela 对接 Istio 实现应用灰度发布实践
KubeVela 对接 Istio 实现应用灰度发布实践|学习笔记(二)
|
自然语言处理 Kubernetes 网络协议
在阿里云安装初试 Istio| 学习笔记
快速学习在阿里云安装初试 Istio
在阿里云安装初试 Istio| 学习笔记
|
负载均衡 监控 测试技术
Istio 介绍| 学习笔记
快速学习 Istio 介绍
Istio 介绍| 学习笔记
|
网络协议 开发者 Docker
Istio 服务韧性| 学习笔记
快速学习 Istio 服务韧性
Istio 服务韧性| 学习笔记
|
Kubernetes 安全 API
Istio 安全性和课程总结| 学习笔记
快速学习 Istio 安全性和课程总结
Istio 安全性和课程总结| 学习笔记
|
Prometheus 监控 Kubernetes
进阶:对接 Istio 实现应用灰度发布实践| 学习笔记
快速学习进阶:对接 Istio 实现应用灰度发布实践。
183 0
进阶:对接  Istio 实现应用灰度发布实践| 学习笔记
|
开发者 微服务
Istio 流量管理| 学习笔记
快速学习 Istio 流量管理
|
Kubernetes 监控 Go
在Kubernetes上安装和配置Istio:逐步指南,展示如何在Kubernetes集群中安装和配置Istio服务网格
在Kubernetes上安装和配置Istio:逐步指南,展示如何在Kubernetes集群中安装和配置Istio服务网格
239 0
|
Kubernetes Cloud Native 开发者
15分钟在笔记本上搭建 Kubernetes + Istio开发环境-阿里云开发者社区
15分钟在笔记本上搭建 Kubernetes + Istio开发环境-阿里云开发者社区
15分钟在笔记本上搭建 Kubernetes + Istio开发环境-阿里云开发者社区
|
存储 Kubernetes 负载均衡
【Kubernetes的Service Mesh发展历程及Istio架构、存储供应使用NFS flexvolume CSI接口】
【Kubernetes的Service Mesh发展历程及Istio架构、存储供应使用NFS flexvolume CSI接口】
209 0