如何获取istio中属性词汇表的数据



在https://istio.io/v1.7/docs/reference/config/policy-and-telemetry/mixer-overview/#attributes,

给定的Istio部署有一个固定的属性词汇表理解。特定的词汇表由集合决定在部署中使用的属性生成器。主Istio中的属性生成器是Envoy,尽管它是专门的Mixer适配器也可以生成属性。

我想知道istio如何从envoy(或mixer适配器)获得这些数据(Attribute Vocabulary)以及envoy如何详细导出这些数据。

因为我想开发WASM日志记录插件,我需要定义自定义日志数据,等于在遥测v1在isio中记录…

我想知道istio如何从envoy(或混合器适配器)获得这些数据(属性词汇表)以及envoy如何详细导出这些数据。

根据banzaicloud

因为Istio Telemetry V2缺乏访问K8s元数据的中心组件(Mixer),代理本身需要提供丰富度量所需的元数据。此外,必须将Mixer提供的功能添加到Envoy代理中,以取代基于Mixer的遥测功能。Istio Telemetry V2使用两个自定义Envoy插件来实现这一点。

Telemetry V2中的代理内服务级别度量由两个自定义插件提供,元数据交换统计.

默认情况下,在Istio 1.5中,Telemetry V2是在Istio代理过滤器中编译时启用的,主要是出于性能原因。相同的过滤器也被编译为WebAssembly (WASM)模块,并随Istio代理一起发布。

你可以在上面的文档中找到更多有用的信息。


因为我想开发用于日志记录的WASM插件,我需要定义自定义日志数据,它等于istio中遥测v1的日志记录

我在envoy网站上找到了这个文档,里面有你可能用到的所有属性。

有一个关于如何在asm ABI中获取这些值的示例。

路径表达式允许通过字段名、映射和列表索引的序列访问结构化属性中的内部字段。例如,Wasm ABI中的get_property({" node ", " id "})提取节点消息属性中id字段的值,而get_property({" request ", " headers ", " my-header "})是指特定请求头的逗号连接值。

最新更新