uuid
- 插件版本:v3.0.5
- 发布于:2017-11-07
- 更新日志
对于其他版本,请参阅 插件版本文档。
安装
对于默认情况下未捆绑的插件,可以通过运行 bin/logstash-plugin install logstash-filter-uuid 轻松安装。 有关更多详细信息,请参阅 使用插件。
帮助
有关插件的问题,请在 论坛 中创建一个主题。对于bug或功能请求,请在 Github 创建issue。有关Elastic支持插件的列表,请参阅 Elastic支持列表。
说明
uuid过滤器允许您生成 UUID 并将其作为字段添加到每个已处理的事件。
如果您需要生成对每个事件都唯一的字符串,即使多次处理相同的输入,这也很有用。如果要在每次处理具有给定内容的事件(即hash)时生成相同的字符串,则应使用 Fingerprint 过滤器。
生成的UUID遵循 RFC 4122 的 version 4 声明,并将表示为标准十六进制字符串格式,例如,"e08806fe-02AF-406C-bbde-8a5ae4475e57"。
uuid过滤器配置项
此插件支持以下配置选项以及稍后描述的 通用配置项。
| Setting | Input type | Required |
|---|---|---|
overwrite |
boolean | No |
target |
string | 是 |
另请参阅 通用配置项 以获取所有输入插件支持的选项列表。
overwrite
- 值类型是 boolean
- 默认值为
false
如果当前字段中的值(如果有)应由生成的UUID覆盖。默认为 false(即如果该字段存在,具有任何值,则不会被覆盖)
例:
filter {
uuid {
target => "uuid"
overwrite => true
}
}
target
- 这是必需的设置。
- 值类型是 string
- 此设置没有默认值。
选择应存储生成的UUID的字段的名称。
例:
filter {
uuid {
target => "uuid"
}
}
通用配置项
所有过滤器插件都支持以下配置选项:
| 设置 | 输入类型 | 必须 |
|---|---|---|
add_field |
hash | 否 |
add_tag |
array | 否 |
enable_metric |
boolean | 否 |
id |
string | 否 |
periodic_flush |
boolean | 否 |
remove_field |
array | 否 |
remove_tag |
array | 否 |
add_field
- 值类型是 hash
- 默认值为
{}
如果此过滤器配置成功,则向此事件添加任意字段。字段名称可以是动态的,并使用 %{field} 包含事件的部分内容。
例:
filter {
uuid {
add_field => { "foo_%{somefield}" => "Hello world, from %{host}" }
}
}
# You can also add multiple fields at once:
filter {
uuid {
add_field => {
"foo_%{somefield}" => "Hello world, from %{host}"
"new_field" => "new_static_value"
}
}
}
如果事件具有字段 "somefield" == "hello" ,则此过滤器成功时将添加字段 foo_hello (如果存在),上面的值和 %{host} 部分替换为事件中的该值。第二个例子还会添加一个硬编码字段。
add_tag
- 值类型是 array
- 默认值为
[]
如果此过滤器成功,则向事件添加任意标记。标签可以是动态的,并使用 %{field} 语法包含事件的一部分。
例:
filter {
uuid {
add_tag => [ "foo_%{somefield}" ]
}
}
# You can also add multiple tags at once:
filter {
uuid {
add_tag => [ "foo_%{somefield}", "taggedy_tag"]
}
}
如果事件具有字段 "somefield" == "hello" ,则此过滤器成功时将添加标记 foo_hello(第二个示例当然会添加 taggedy_tag 标记)。
enable_metric
- 值类型是 boolean
- 默认值为
true
默认情况下,禁用或启用此插件实例的度量记录,我们会记录所有可用的度量标准,但您可以禁用特定插件的度量收集。
id
- 值类型是 string
- 此设置没有默认值。
为插件配置添加唯一 ID。如果未指定ID,Logstash将生成一个ID。强烈建议在配置中设置此ID。当您有两个或更多相同类型的插件时,这尤其有用,例如,如果您有2个http过滤器。在这种情况下添加命名ID将有助于在使用监视API时监视Logstash。
filter {
uuid {
id => "ABC"
}
}
periodic_flush
- 值类型是 boolean
- 默认值为
false
定期调用过滤器刷新方法。可选的。
remove_field
- 值类型是 array
- 默认值为
[]
如果此过滤器成功,请从此事件中删除任意字段。例:
filter {
uuid {
remove_field => [ "foo_%{somefield}" ]
}
}
# You can also remove multiple fields at once:
filter {
uuid {
remove_field => [ "foo_%{somefield}", "my_extraneous_field" ]
}
}
remove_tag
- 值类型是 array
- 默认值为
[]
如果此过滤器配置成功,则从事件中删除任意tag。tag以是动态的,并使用 %{field} 语法包含事件的一部分。
例:
filter {
uuid {
remove_tag => [ "foo_%{somefield}" ]
}
}
# You can also remove multiple tags at once:
filter {
uuid {
remove_tag => [ "foo_%{somefield}", "sad_unwanted_tag"]
}
}
如果事件具有字段 "somefield" == "hello" ,则此过滤器成功时将删除标记 foo_hello(如果存在)。第二个例子也会删除一个不需要的标签。