字符串处理器插件
此插件允许使用不同的函数操作度量名称、标签和字段值中的字符串。
引入版本: Telegraf v1.8.0 标签: transformation 操作系统支持: all
全局配置选项
插件支持其他全局和插件配置设置,用于修改指标、标签和字段,创建别名以及配置插件顺序等任务。更多详情请参阅 CONFIGURATION.md。
配置
# Perform string processing on tags, fields, and measurements
[[processors.strings]]
## Convert a field value to lowercase and store in a new field
# [[processors.strings.lowercase]]
# field = "uri_stem"
# dest = "uri_stem_normalised"
## Convert a tag value to uppercase
# [[processors.strings.uppercase]]
# tag = "method"
## Convert a field value to titlecase
# [[processors.strings.titlecase]]
# field = "status"
## Trim leading and trailing whitespace using the default cutset
# [[processors.strings.trim]]
# field = "message"
## Trim leading characters in cutset
# [[processors.strings.trim_left]]
# field = "message"
# cutset = "\t"
## Trim trailing characters in cutset
# [[processors.strings.trim_right]]
# field = "message"
# cutset = "\r\n"
## Trim the given prefix from the field
# [[processors.strings.trim_prefix]]
# field = "my_value"
# prefix = "my_"
## Trim the given suffix from the field
# [[processors.strings.trim_suffix]]
# field = "read_count"
# suffix = "_count"
## Replace all non-overlapping instances of old with new
# [[processors.strings.replace]]
# measurement = "*"
# old = ":"
# new = "_"
## Trims strings based on width
# [[processors.strings.left]]
# field = "message"
# width = 10
## Decode a base64 encoded utf-8 string
# [[processors.strings.base64decode]]
# field = "message"
## Sanitize a string to ensure it is a valid utf-8 string
## Each run of invalid UTF-8 byte sequences is replaced by the replacement string, which may be empty
# [[processors.strings.valid_utf8]]
# field = "message"
# replacement = ""可以使用列出的函数就地修改值,或将其存储在另一个字段或标签中。
操作将按照配置顺序执行。
在每个部分中指定您希望处理的 measurement、tag、tag_key、field 或 field_key,如果希望将结果存储在新标签或字段中,还可以选择性地指定 dest。您可以使用单个字符串处理器对数据进行多种转换。
如果您想将更改应用于每个 tag、tag_key、field、field_key 或 measurement,请为相应的字段使用值 "*"。
如果使用了 "*",则会忽略 dest 设置。
Trim, TrimLeft, TrimRight
trim、trim_left 和 trim_right 函数接受一个可选参数:cutset。此值是一个字符串,其中包含要从值中移除的字符。
TrimPrefix, TrimSuffix
trim_prefix 和 trim_suffix 函数分别从字符串中移除指定的 prefix 或 suffix。
Replace
replace 函数会对整个字符串执行子字符串替换,以允许不同输入和输出插件之间存在不同约定。一些示例用法包括消除字段名称中不允许的字符或替换不同分隔符之间的分隔符。也可用于消除指标中不需要的字符。如果整个名称将被删除,则会拒绝执行操作并保留旧名称。
示例
一个示例配置
[[processors.strings]]
[[processors.strings.lowercase]]
tag = "uri_stem"
[[processors.strings.trim_prefix]]
tag = "uri_stem"
prefix = "/api/"
[[processors.strings.uppercase]]
field = "cs-host"
dest = "cs-host_normalised"示例输入
iis_log,method=get,uri_stem=/API/HealthCheck cs-host="MIXEDCASE_host",http_version=1.1 1519652321000000000示例输出
iis_log,method=get,uri_stem=healthcheck cs-host="MIXEDCASE_host",http_version=1.1,cs-host_normalised="MIXEDCASE_HOST" 1519652321000000000第二个示例
一个示例配置
[[processors.strings]]
[[processors.strings.lowercase]]
tag_key = "URI-Stem"
[[processors.strings.replace]]
tag_key = "uri-stem"
old = "-"
new = "_"示例输入
iis_log,URI-Stem=/API/HealthCheck http_version=1.1 1519652321000000000示例输出
iis_log,uri_stem=/API/HealthCheck http_version=1.1 1519652321000000000此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 Telegraf 和本文档提出反馈和 bug 报告。要获取支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。