Elasticsearch:redact processor - 编辑处理器

这篇具有很好参考价值的文章主要介绍了Elasticsearch:redact processor - 编辑处理器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

警告:此功能处于技术预览阶段,可能会在未来版本中更改或删除。 Elastic 将尽最大努力解决任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。

Elasticsearch:redact processor - 编辑处理器,Elasticsearch,Elastic,elasticsearch,大数据,搜索引擎,全文检索

Redact 处理器使用 Grok 规则引擎来模糊输入文档中与给定 Grok 模式匹配的文本。 该处理器可用于通过配置检测电子邮件或 IP 地址等已知模式来隐藏个人识别信息 (PII)。 与 Grok 模式匹配的文本将替换为可配置的字符串,例如匹配电子邮件地址的 <EMAIL>,或者如果愿意,只需将所有匹配项替换为文本 <REDACTED>。

Elasticsearch 附带了许多有用的预定义模式,Redact 处理器可以方便地引用这些模式。 如果其中之一不满足您的需求,请使用自定义模式定义创建新模式。 Redact 处理器会替换每次出现的匹配项。 如果有多个匹配项,所有匹配项都将替换为模式名称。

Redact 处理器与弹性通用架构 (ECS) 模式兼容。 不支持旧版 Grok 模式。

在管道中使用 Redact 处理器

Redact 选项
名称 必要项 默认
field yes - 要编辑的字段
patterns yes - 用于匹配和编辑命名捕获的 grok 表达式列表
pattern_definitions no - 模式名称和模式元组的映射,定义处理器要使用的自定义模式。 匹配现有名称的模式将覆盖预先存在的定义
prefix no < 使用此标记开始编辑部分
suffix no > 使用此标记结束编辑部分
ignore_missing no true 如果 true 并且字段不存在或为 null,则处理器安静退出而不修改文档
description no - 处理器的描述。 对于描述处理器或其配置的用途很有用。
if  no - 有条件地执行处理器。 请参阅有条件地运行处理器。
ignore_failure no false 忽略处理器的故障。 请参阅处理管道故障。
on_failure no -

 忽略处理器的故障。 请参阅处理管道故障。

tag no - 处理器的标识符。 对于调试和指标很有用。

示例

在此示例中,预定义的 IP Grok 模式用于匹配和编辑消息文本字段中的 IP 地址。 使用 Simulate API 测试管道。

POST _ingest/pipeline/_simulate
{
  "pipeline": {
    "description" : "Hide my IP",
    "processors": [
      {
        "redact": {
          "field": "message",
          "patterns": ["%{IP:client}"]
        }
      }
    ]
  },
  "docs":[
    {
      "_source": {
        "message": "55.3.244.1 GET /index.html 15824 0.043"
      }
    }
  ]
}

上面命令显示的结果为:

{
  "docs": [
    {
      "doc": {
        "_index": "_index",
        "_id": "_id",
        "_version": "-3",
        "_source": {
          "message": "<client> GET /index.html 15824 0.043"
        },
        "_ingest": {
          "timestamp": "2023-06-24T01:53:44.906188Z"
        }
      }
    }
  ]
}

响应中的文档仍然包含 message 字段,但现在 IP 地址 55.3.244.1 被文本 <client> 替换。

IP 地址被替换为单词 client,因为这是 Grok 模式 %{IP:client} 中指定的内容。 模式名称周围的 < 和 > 标记可以使用前缀和后缀选项进行配置。

下一个示例定义了多个模式,这两个模式都被单词 REDACTED 替换,并且前缀和后缀标记设置为 *

POST _ingest/pipeline/_simulate
{
  "pipeline": {
    "description": "Hide my IP",
    "processors": [
      {
        "redact": {
          "field": "message",
          "patterns": [
            "%{IP:REDACTED}",
            "%{EMAILADDRESS:REDACTED}"
          ],
          "prefix": "*",
          "suffix": "*"
        }
      }
    ]
  },
  "docs": [
    {
      "_source": {
        "message": "55.3.244.1 GET /index.html 15824 0.043 test@elastic.co"
      }
    }
  ]
}

在响应中,IP 55.3.244.1 和电子邮件地址 test@elastic.co 均已替换为 *REDACTED*。

上面命令运行的结果为:

{
  "docs": [
    {
      "doc": {
        "_index": "_index",
        "_id": "_id",
        "_version": "-3",
        "_source": {
          "message": "*REDACTED* GET /index.html 15824 0.043 *REDACTED*"
        },
        "_ingest": {
          "timestamp": "2023-06-24T01:56:07.547294Z"
        }
      }
    }
  ]
}

定制 patterns

如果现有 Grok 模式之一不符合你的要求,可以使用 pattern_definitions 选项添加自定义模式。 新模式定义由模式名称和模式本身组成。 该模式可以是正则表达式或引用现有的 Grok 模式。

此示例定义自定义模式 GITHUB_NAME 以匹配 GitHub 用户名。 该模式定义使用现有的 USERNAME Grok 模式,并以文字 @ 为前缀。

提示:Grok 调试器对于构建自定义模式来说是一个非常有用的工具。

POST _ingest/pipeline/_simulate
{
  "pipeline": {
    "processors": [
      {
        "redact": {
          "field": "message",
          "patterns": [
            "%{GITHUB_NAME:GITHUB_NAME}"
          ],
          "pattern_definitions": {
            "GITHUB_NAME": "@%{USERNAME}"
          }
        }
      }
    ]
  },
  "docs": [
    {
      "_source": {
        "message": "@elastic-data-management the PR is ready for review"
      }
    }
  ]
}

username 在响应中被编辑。

{
  "docs": [
    {
      "doc": {
        "_index": "_index",
        "_id": "_id",
        "_version": "-3",
        "_source": {
          "message": "<GITHUB_NAME> the PR is ready for review"
        },
        "_ingest": {
          "timestamp": "2023-06-24T01:59:15.427469Z"
        }
      }
    }
  ]
}

Grok watchdog

Watchdog 会中断执行时间过长的表达式。 当中断时,Redact 处理器会失败并出现错误。 控制 Grok Watchdog 超时的相同设置也适用于 Redact 处理器。文章来源地址https://www.toymoban.com/news/detail-532536.html

到了这里,关于Elasticsearch:redact processor - 编辑处理器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SkyEye处理器仿真系列:龙芯2K1000处理器

    天目全数字实时仿真软件SkyEye作为基于可视化建模的硬件行为级仿真平台,能够为嵌入式软件提供虚拟化运行环境,开发、测试人员可在该虚拟运行环境上进行软件开发、软件测试和软件验证活动。小到芯片,大到系统,SkyEye均可进行模拟。 1936年,被誉为“计算机科学与人

    2024年02月12日
    浏览(60)
  • DP读书:鲲鹏处理器 架构与编程(九)鲲鹏920处理器片上系统

    停更了两天,我做了一个本专业相关的孤岛问题的论文复现,可并没有什么太大进展,就像当初最开始跑Aspen一样,我要面对的是一个相当复杂的多参系统,这种情况下只能啃着技术文档一步一步的去调。 再次返回我的鲲鹏920处理器,无疑是舒服的所以我只能尽我所能的在做

    2024年02月12日
    浏览(55)
  • 第三十二章 开发Productions - ObjectScript Productions - 定义警报处理器 - 使用路由警报处理器

    如果需要通过多种输出机制联系用户,警报处理器应该是一个业务流程,用于确定如何在消息中路由 Ens.AlertReques 。在这种情况下, Productions 必须为每个输出机制包含一个额外的业务操作,并且警报处理器将消息转发到这些业务操作。 要将警报处理器定义为路由流程,请创建

    2024年02月08日
    浏览(50)
  • 处理器架构和配置

    成功之前我们要做应该做的事情,成功之后我们才可以做喜欢做的事情。 CPU 架构是 CPU 厂商给属于同一系列的 CPU 产品定的一个规范,主要目的是为了区分不同类型 CPU 的重要标示。市面上的 CPU 分类主要分有两大阵营,一个是 intel、AMD 为首的 复杂指令集 CPU,另一个是以 I

    2024年02月04日
    浏览(56)
  • Spring异常处理器

     问题:   程序允许不免的在各层都可能会产生异常,我们该如何处理这些异常? 如果只是在方法里面单独使用 try… catch… 语句去一个一个的进行捕捉处理的话,那毫无疑问是不现实的,因为异常数量是非常庞大的并且对于异常的出现种类是不可预料的,于是我们可以使用

    2024年02月13日
    浏览(46)
  • ARM处理器概述

    RISC处理器和CISC处理器 首先了解一下两种处理器名字: RISC(Reduced Instruction Set Computer): 精简指令集 处理器 与之相对应的是: CISC(Complex Instruction Set Computer): 复杂指令集 处理器 顾名思义,RISC比CISC更加简单,那么对于处理器来说什么能称为简单呢?可以联想为生活中可

    2024年02月13日
    浏览(57)
  • 全局异常处理器

    前言:由于 Controller 调用 Services ,最后调用 Mapper 来操作数据库,若 Mapper 操作数据库出问题了,此时页面报错会按照调用的原路径层层上报,最后未经处理的异常会上报至框架,最后服务器会向前端返回一个 JSON 的报错数据,而前端接收的是对 Result 封装过的 data 对象中的

    2024年02月11日
    浏览(49)
  • 【并行计算】多核处理器

    这张图连接了几个并行计算的思想。 从上往下。 1.两个fetch/decode部件,是 superscalar 技术,每个cycle可以发射多个指令。 2.多个执行单元,支持乱序执行,是ILP, 指令级并行 。 3.每个执行单元里还支持 SIMD 操作。 4.有多个execution context,就相当于是有多套线程的状态,类似寄

    2024年02月05日
    浏览(41)
  • 处理器(计组课程)

    31~26 25~21 20~16 15~11 ---    (从流水线寄存器通过旁路传回数据 也叫作  转发 ) 若产生冒险,则更前面的指令中 需要写入的目的寄存器刚好是 当前指令需要读取的源寄存器,此时对于当前源寄存器而言,这个寄存器内部的数据并不是准确的,因为它需要用到前一个指令产

    2024年02月07日
    浏览(46)
  • SpringMVC之异常处理器

    SpringMVC提供了一个处理控制器方法执行过程中所出现的异常的接口:HandlerExceptionResolver。 HandlerExceptionResolver接口的实现类有:DefaultHandlerExceptionResolver(默认的)和 SimpleMappingExceptionResolver(自定义的)。 这里配置了两个异常,出现其中一个异常后跳转到error页面。 以上就是异

    2024年02月10日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包