分析消息

描述 Istio 分析器生成的消息结构。

AnalysisMessageBase

AnalysisMessageBase 描述了所有消息都需要的一些通用信息。所有信息相对于错误代码应该是静态的。

字段类型描述必需
type类型
level级别

表示消息的严重程度。必需。

documentationUrlstring

指向此特定错误类型的 Istio 文档的 URL。应为以下形式 ^http(s)?://(preliminary\.)?istio.io/docs/reference/config/analysis/ 必需。

AnalysisMessageWeakSchema

AnalysisMessageWeakSchema 是定义弱类型模式所需的信息集。此 proto 的目的是提供一种机制来验证 istio/istio/galley/pkg/config/analysis/msg/messages.yaml,以确保我们不允许提交未指定类型的定义。

字段类型描述必需
messageBaseAnalysisMessageBase

必需

descriptionstring

对错误含义的人类可读描述。必需。

templatestring

一个 go 样式的模板字符串 (https://golang.ac.cn/pkg/fmt/#hdr-Printing),定义如何将特定消息的 args 组合到日志行中。必需。

argsArgType[]

特定消息类型的参数描述

GenericAnalysisMessage

GenericAnalysisMessage 是由模式定义的 AnalysisMessage 的实例,其元模式是 AnalysisMessageWeakSchema。(名称很难。)代码能够通过使用消息类型信息来查看 AnalysisMessageWeakSchema 并检查运行时的 args 列表来执行参数验证。开发人员还可以为众所周知且稳定的消息类型创建更强类型的 GenericAnalysisMessage 版本。

字段类型描述必需
messageBaseAnalysisMessageBase

必需

argsStruct

所有需要编码的消息类型特定参数。可选。

resourcePathsstring[]

一组字符串,指定导致消息生成的资源标识符。这里的“路径”是指一个 (NAMESPACE/)?RESOURCETYPE/NAME 元组,它唯一标识特定资源。似乎没有一个统一的概念,但这个概念直观地借鉴了 https://kubernetes.ac.cn/docs/reference/using-api/api-concepts/#standard-api-terminology 至少需要一个。

InternalErrorAnalysisMessage

InternalErrorAnalysisMessage 是一个强类型消息,表示 Istio 代码中的一些错误,导致我们无法执行分析。

字段类型描述必需
messageBaseAnalysisMessageBase

必需

详细信息string

有关错误具体内容的任何细节。应该可以让人理解。

AnalysisMessageBase.Type

消息类型的唯一标识符。名称旨在让人理解,代码旨在让人机可读。名称和代码之间应该是一对一映射。(即不要在消息类型之间重复使用名称或代码。)

字段类型描述必需
名称string

消息类型的人类可读名称。例如“InternalError”、“PodMissingProxy”。对于所有相同类型的消息,这应该是相同的。必需的。

代码string

一个 7 个字符的代码,匹配 ^IST[0-9]{4}$,用于唯一标识消息类型。(例如,“IST0001”映射到“InternalError”消息类型。)0000-0100 保留。必需的。

AnalysisMessageWeakSchema.ArgType

字段类型描述必需
名称string

必需

goTypestring

必需的。应该是 Go 语言类型,用于代码生成。理想情况下,这将改变为一个与语言无关的类型,然后再发布,但为了与当前的 istio/istio 代码兼容,目前仍然是 go_type。

AnalysisMessageBase.Level

这里的值是选择的,这样更严重的消息排序更高,并且在中间留有空间以便稍后添加更多消息。

名称描述
未知

无效,但包含用于 0 值的协议兼容性。

错误
警告
信息
这些信息有用吗?
您有什么改进建议吗?

感谢您的反馈!