字段是向非结构化事件添加结构的强有力方式,允许操控数据的文本和可视化表示形式。
字段是内容包中的最重要项目之一,因为可以通过不同的方式(包括聚合和筛选)使用它们。通过聚合可以向字段应用函数和分组。通过筛选可以对字段执行运算。
必须提取日志消息中可能适用于查询或聚合的任何部分。字段是一种正则表达式查询且对复杂模式匹配是非常有用的,因此您无需了解、记住或学习复杂的正则表达式。
字段上下文值 | 定义 |
---|---|
值前面的正则表达式 | 包括尽可能多的关键字。如果此字段为空或仅包含特殊字符,则值后面的正则表达式必须包括关键字。 |
值后面的正则表达式 | 包括尽可能多的关键字。如果此字段为空或仅包含特殊字符,则值前面的正则表达式必须包括关键字。 |
名称 | 仅使用字母数字字符。确保所有字符都是小写的且使用下划线而不是空格,因为这使字段更易于查看。请记住,内容包字段和用户字段的名称可以相同,但是内容包字段将在字段名称右侧具有一个用括号括起的命名空间。在内容包字段前面添加缩写(例如 vmw_)作为前缀,以避免出现混淆。 |
关键字搜索项 | 以空格分隔的一个或多个关键字,显示在包含此字段的事件中。 |
筛选 | 显示在包含此字段的事件中的静态字段、运算符和可能值。 通常将其与不包含关键字的事件的 vRealize Log Insight 代理和标记一起使用。 |
信息(“i”按钮) | 用于提供有关字段的信息,包括其含义、可能返回的值,以及值与人工可理解信息之间的用户友好的映射。 |
最佳做法
除了组成字段的各种要素之外,还有多个最佳做法适用。
- 仅为正则表达式模式创建字段。如果可以使用关键字查询来查询字段,或者字段将仅返回单个值,则使用关键字查询而不是预定义的字段。如果字段将仅返回两个值,则考虑构建单独查询,而不是提取字段。字段可用于向未结构化数据添加结构,并提供了一种查询事件特定部分的方式。
- 仅为返回全部事件的一部分的正则表达式模式创建字段。将匹配大多数事件和/或返回大量结果的字段不适合进行字段提取。正则表达式将需要应用于在耗费大量资源的操作中产生的大量事件。如果可能,添加其他关键字以减少返回的结果数并优化查询。
- 如果字段在正则表达式语法中包含关键字,则在没有正则表达式语法的情况下将这些关键字作为筛选进行添加。例如,如果字段的值或上下文在正则表达式语法中包含关键字(如 this|that),则将这些关键字作为文本筛选进行添加,以优化查询(如 text contains this, that)。
- 建议使用具有一个或多个关键字的附加上下文,而不是在之前或之后的上下文中使用复杂正则表达式。
- 向提取的所有字段添加附加上下文,以便优化查询性能。