跳至主内容

装饰器

装饰器允许您在搜索时自动修改消息字段,同时 保留磁盘上未修改的原始消息 。装饰器特别适用于提升字段数据的可读性、合并字段数据,或添加包含消息更多信息的新字段。由于装饰器是按数据流(包括 默认数据流 )配置的,您还可以在多个数据流中以不同方式呈现同一条消息。

由于装饰器所做的更改不会持久化,您无法搜索装饰后的值或对其使用字段分析器。但您仍可在原始未装饰字段中使用这些功能。

装饰器在数据流层级应用,可供所有能访问该数据流的用户共享,因此所有用户都能获得相同结果并享受装饰器带来的优势。

安全数据湖 内置了一些开箱即用的消息装饰器,但您也可以通过流水线添加新装饰器,或编写插件来自定义装饰器。

装饰器可在 系统 > 配置 。在 装饰器 部分选择数据流以查看所有相关装饰器的概览。

overview.png

若要为数据流添加新的默认装饰器,请点击 更新 按钮。这将打开一个模态窗口,提供两个选项:指定数据流或定义装饰器类型。创建装饰器后,需要 保存 更改以完成配置。

config 5.png

当对同一搜索结果应用多个装饰器时,可随时通过模态窗口内装饰器列表的拖拽功能调整应用顺序。

列出活跃装饰器

消息表格组件会展示所有活跃装饰器的概览。通过在 数据流 页面选择数据流打开流搜索页面时,该组件已预配置并显示相关搜索结果。编辑消息表格组件将打开显示所有活跃装饰器的模态窗口。此处也可添加装饰器,但这些装饰器不会被保存或关联至数据流。若需为特定消息表格保存装饰器,可在 仪表盘 已保存搜索 .

decorator config.png

Syslog严重性映射器

该装饰器可将syslog消息的数字等级转换为可读字符串。例如,对日志中的 level 字段应用装饰器后,syslog等级 4 将转换为 警告(4) .

应用syslog严重性映射装饰器需提供以下数据:

  • 源字段 :包含syslog数字等级的字段

  • 目标字段 : 用于存储人类可读字符串的字段。若希望在搜索结果中替换原始数值,该字段可与源字段同名。

格式字符串

格式字符串装饰器提供了一种将多个字段合并为一个的简便方法,也可用于修改字段内容而不改变Elasticsearch中的存储结果。

应用格式字符串装饰器需提供以下数据:

  • 格式字符串 : 用于格式化输出字符串的模式。可通过 ${} 包裹字段名引用消息中的字段,例如 ${source} 会将 source 消息字段内容插入结果字符串。

  • 目标字段 : 存储结果值的字段。

  • 要求所有字段 (可选):勾选此项后仅当所有其他字段存在时才进行字符串格式化。

例如使用格式字符串 Requestto${controller}#${action}finishedin${took_ms}mswithcode${http_response_code} ,可能生成文本 RequesttoPostsController#showfinishedin57mswithcode200 ,并使其在搜索结果的某个消息字段中可见。

流水线装饰器

流水线装饰器通过 处理流水线 对消息进行装饰处理。与常规处理流水线不同,其对消息的修改不会持久化,而是在搜索时用于改变消息的 呈现形式

使用流水线装饰器需预先存在处理流水线。

注意

用于装饰的管道不应连接到流。若已连接,则每条消息将被处理两次(索引期间和搜索期间),导致第二次运行实际无效。

创建管道后,您可为其添加装饰器以应用于任意数量的流。创建过程与其他装饰器类型相同:

  1. 导航至 系统 > 配置

  2. 点击 更新 位于 装饰器配置 .

  3. 选择类型( 本例为管道处理器装饰器

  4. 点击其旁的 应用 按钮

选择管道并点击 保存 。此时您已获得新的管道装饰器。

扩展功能

若现有装饰器无法满足需求,您可搜索 安全数据湖 市场 ,或自行编写装饰器。