装饰器
装饰器允许您在搜索时自动修改消息字段,同时 保留磁盘上的原始消息 。装饰器能显著提升字段数据的可读性,支持字段数据组合,或添加包含消息详情的新字段。由于装饰器按数据流(包括 默认数据流 )进行配置,您还可以在多数据流中以不同形式呈现同一条消息。
由于装饰器的修改不会持久化,您无法搜索装饰后的值或对其使用字段分析器。但原始未装饰字段仍支持这些功能。
装饰器在流级别应用,可供所有能访问该流的用户共享,因此所有用户都能共享相同结果并受益于装饰器带来的优势。
安全数据湖 内置了一些开箱即用的消息装饰器,但您可以通过管道添加新装饰器,或通过编写插件来自定义装饰器。
装饰器可在 系统 > 配置 中进行设置。在 装饰器 部分选择流即可查看所有相关装饰器概览。
要为流添加新的默认装饰器,请点击 更新 按钮。这将打开一个提供两种选项的模态框:指定流或定义装饰器类型。创建装饰器后,需 保存 更改以完成配置。
当对同一搜索结果应用多个装饰器时,您可随时通过模态框内装饰器列表的拖拽功能调整应用顺序。
查看活跃装饰器
消息表格组件会显示所有活跃装饰器的概览。当您通过 流 页面选择流打开流搜索页面时,该组件已预配置并会显示相关搜索结果。编辑消息表格组件将打开包含所有活跃装饰器概览的模态框。您也可在此添加装饰器,但这些装饰器不会被保存或关联到流中。若需为特定消息表格保存装饰器,可在 仪表盘 或 已保存搜索 .
系统日志严重性映射器
系统日志严重性映射装饰器可将系统日志消息的数字级别转换为人类可读字符串。例如,对日志中的
level
字段应用装饰器后,系统日志级别
4
将被转换为
警告(4)
.
要应用系统日志严重性映射装饰器,需提供以下数据:
-
源字段 :包含数字系统日志级别的字段
-
目标字段 :用于存储人类可读字符串的字段。若希望在搜索结果中替换数值,可与源字段相同。
格式字符串
格式字符串装饰器提供了一种将多个字段合并为一个的简单方法,也可用于修改字段内容而不改变Elasticsearch中的存储结果。
要应用格式字符串装饰器,需提供以下数据:
-
格式字符串 :用于格式化结果字符串的模式。可通过
${}包裹字段名引用消息中的字段。例如${source}会将source消息字段内容插入结果字符串。 -
目标字段 :存储结果值的字段。
-
要求所有字段 (可选):勾选此项则仅当所有其他字段存在时才格式化字符串。
例如,使用格式字符串
请求${controller}#${action}在${took_ms}毫秒内完成,代码${http_response_code}
,可生成文本
请求PostsController#show在57毫秒内完成,代码200
,并使其显示在搜索结果的某个消息字段中。
管道装饰器
管道装饰器通过使用现有 处理管道 与使用处理流水线不同,流水线对消息所做的更改不会被持久化。相反,该流水线会在搜索过程中用于修改 消息的呈现方式 。
要使用流水线装饰器,您需要先有一个现有的流水线。
注意
用于装饰的流水线不应连接到流。如果已连接,则每条消息会运行两次(在索引和搜索时),导致第二次运行实际上无效。
创建流水线后,您可以添加装饰器以用于任意数量的流。创建过程与其他装饰器类型相同:
-
导航至 系统 > 配置
-
点击 更新 在 装饰器配置 .
-
选择类型( 本例中选择流水线处理器装饰器 )
-
点击旁边的 应用 按钮。
选择一条流水线并点击 保存 。现在您已拥有一个新的流水线装饰器。
更多功能
如果现有装饰器无法满足需求,您可以搜索 安全数据湖 市场 ,或自行编写装饰器。