Syslog_pri 过滤器插件

编辑
  • 插件版本:v3.2.1
  • 发布日期:2024-01-17
  • 更新日志

其他版本请参见 版本化插件文档

获取帮助

编辑

如有关于插件的问题,请在 Discuss 论坛中发起主题讨论。如发现错误或有功能需求,请在 Github 中提交问题。如需查看 Elastic 支持的插件列表,请查阅 Elastic 支持矩阵

描述

编辑

Logstash 的过滤器插件,用于解析 Syslog (RFC3164) 消息开头的 PRI 字段。如果未设置优先级,则默认为 13(根据 RFC)。

此过滤器基于 Logstash 附带的原始 syslog.rb 代码。

Syslog_pri 过滤器配置选项

编辑

此插件支持以下配置选项以及稍后描述的 常用选项

另请参见 常用选项,了解所有过滤器插件支持的选项列表。

 

ecs_compatibility

编辑
  • 值类型为 字符串
  • 支持的值为

    • disabled:不使用与 ECS 兼容的字段名称(例如,syslog 严重性使用 syslog_severity_code
    • v1v8:使用与 Elastic Common Schema 兼容的字段(例如,[log][syslog][severity][code]
  • 默认值取决于正在运行的 Logstash 版本

    • 当 Logstash 提供 pipeline.ecs_compatibility 设置时,其值将用作默认值
    • 否则,默认值为 disabled

控制此插件与 Elastic Common Schema (ECS) 的兼容性。此设置的值会影响 syslog_pri_field_name默认值。

facility_labels

编辑
  • 值类型为 数组
  • 默认值为 ["kernel", "user-level", "mail", "daemon", "security/authorization", "syslogd", "line printer", "network news", "uucp", "clock", "security/authorization", "ftp", "ntp", "log audit", "log alert", "clock", "local0", "local1", "local2", "local3", "local4", "local5", "local6", "local7"]

设备级别的标签。这来自 RFC3164。如果提供了一个无法识别的设备代码并且 use_labelstrue,则事件将被标记为 _syslogpriparsefailure

severity_labels

编辑
  • 值类型为 数组
  • 默认值为 ["emergency", "alert", "critical", "error", "warning", "notice", "informational", "debug"]

严重性级别的标签。这来自 RFC3164。

syslog_pri_field_name

编辑
  • 值类型为 字符串
  • 默认值取决于是否启用了 ecs_compatibility

    • 禁用 ECS 兼容性:"syslog_pri"
    • 启用 ECS 兼容性:"[log][syslog][priority]"

传递 syslog 消息的已提取 PRI 部分的字段名称

use_labels

编辑

在从 PRI 解析严重性和设备后添加人类可读的名称

常用选项

编辑

所有过滤器插件都支持这些配置选项

add_field

编辑

如果此过滤器成功,则向此事件添加任意字段。字段名称可以是动态的,并使用 %{field} 包含事件的部分。

示例

    filter {
      syslog_pri {
        add_field => { "foo_%{somefield}" => "Hello world, from %{host}" }
      }
    }
    # You can also add multiple fields at once:
    filter {
      syslog_pri {
        add_field => {
          "foo_%{somefield}" => "Hello world, from %{host}"
          "new_field" => "new_static_value"
        }
      }
    }

如果事件具有字段 "somefield" == "hello",则此过滤器成功后,如果存在,将添加字段 foo_hello,其值为上述值,并且 %{host} 部分将被事件中的该值替换。第二个示例还将添加一个硬编码字段。

add_tag

编辑
  • 值类型为 数组
  • 默认值为 []

如果此过滤器成功,则向事件添加任意标签。标签可以是动态的,并使用 %{field} 语法包含事件的部分。

示例

    filter {
      syslog_pri {
        add_tag => [ "foo_%{somefield}" ]
      }
    }
    # You can also add multiple tags at once:
    filter {
      syslog_pri {
        add_tag => [ "foo_%{somefield}", "taggedy_tag"]
      }
    }

如果事件具有字段 "somefield" == "hello",则此过滤器成功后,将添加标签 foo_hello(当然,第二个示例将添加 taggedy_tag 标签)。

enable_metric

编辑

禁用或启用此特定插件实例的指标日志记录。默认情况下,我们会记录所有可以记录的指标,但您可以禁用特定插件的指标收集。

  • 值类型为 字符串
  • 此设置没有默认值。

向插件配置添加唯一的 ID。如果未指定 ID,Logstash 将生成一个。强烈建议在您的配置中设置此 ID。当您有两个或多个相同类型的插件时,这尤其有用,例如,如果您有两个 syslog_pri 过滤器。在这种情况下,添加命名 ID 将有助于在使用监控 API 时监控 Logstash。

    filter {
      syslog_pri {
        id => "ABC"
      }
    }

id 字段中的变量替换仅支持环境变量,不支持使用密钥存储中的值。

periodic_flush

编辑

定期调用过滤器刷新方法。可选。

remove_field

编辑
  • 值类型为 数组
  • 默认值为 []

如果此过滤器成功,则从此事件中删除任意字段。字段名称可以是动态的,并使用 %{field} 示例包含事件的部分

    filter {
      syslog_pri {
        remove_field => [ "foo_%{somefield}" ]
      }
    }
    # You can also remove multiple fields at once:
    filter {
      syslog_pri {
        remove_field => [ "foo_%{somefield}", "my_extraneous_field" ]
      }
    }

如果事件具有字段 "somefield" == "hello",则此过滤器成功后,如果存在,将删除名称为 foo_hello 的字段。第二个示例将删除另一个非动态字段。

remove_tag

编辑
  • 值类型为 数组
  • 默认值为 []

如果此过滤器成功,则从事件中删除任意标签。标签可以是动态的,并使用 %{field} 语法包含事件的部分。

示例

    filter {
      syslog_pri {
        remove_tag => [ "foo_%{somefield}" ]
      }
    }
    # You can also remove multiple tags at once:
    filter {
      syslog_pri {
        remove_tag => [ "foo_%{somefield}", "sad_unwanted_tag"]
      }
    }

如果事件具有字段 "somefield" == "hello",则此过滤器成功后,如果存在,将删除标签 foo_hello。第二个示例还将删除一个令人不快的、不需要的标签。