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