Telegraf 模板模式
模板模式描述了如何将点分隔的字符串映射到Telegraf metrics中及其反向映射。
模板的形式为:
"host.mytag.mytag.measurement.measurement.field*"
以下关键词可以设置:
measurement: 指定了这个石墨桶的这一部分对应于测量名称。可以多次指定。field: 指定这个石墨桶的部分对应于字段名称。可以多次指定。measurement*: 指定石墨桶的所有剩余元素都对应于测量名称。field*: 指定石墨桶的所有剩余元素对应于字段名称。
模板中任何不是关键字的部分都被视为标签键。这也可以多次指定。
请注意以下事项:
- 必须在您的模板中指定
measurement。 field*不能与measurement*一起使用。
示例
测量和标签模板
一个基本模板指定一个单一的转换应用于所有传入的指标:
templates = [
"region.region.measurement*"
]
这导致了以下Graphite到Telegraf的度量转换。
us.west.cpu.load 100
=> cpu.load,region=us.west value=100
您可以指定多个模板,并使用 过滤器 将它们区分开来。
templates = [
"*.*.* region.region.measurement", # All 3-part measurements will match this one.
"*.*.*.* region.region.host.measurement", # All 4-part measurements will match this one.
]
字段模板
这个 field 关键字告诉 Telegraf 给予度量这个字段名称。
separator = "_"
templates = [
"measurement.measurement.field.field.region"
]
这导致了以下Graphite到Telegraf的指标转换。
cpu.usage.idle.percent.eu-east 100
=> cpu_usage,region=eu-east idle_percent=100
字段键还可以通过指定 field* 从石墨桶的所有剩余元素中派生:
separator = "_"
templates = [
"measurement.measurement.region.field*"
]
这导致了以下Graphite到Telegraf的度量转换。
cpu.usage.eu-east.idle.percentage 100
=> cpu_usage,region=eu-east idle_percentage=100
筛选模板
使用 glob 匹配根据桶的名称筛选要使用的模板:
templates = [
"cpu.* measurement.measurement.region",
"mem.* measurement.measurement.host"
]
这导致了以下转换:
cpu.load.eu-east 100
=> cpu_load,region=eu-east value=100
mem.cached.localhost 256
=> mem_cached,host=localhost value=256
添加标签
要为一个指标添加额外的标签,请在模板模式之后使用InfluxDB行协议标签格式(以逗号分隔的键值对)包含它们。
templates = [
"measurement.measurement.field.region datacenter=1a"
]
这导致了以下Graphite到Telegraf的度量转换。
cpu.usage.idle.eu-east 100
=> cpu_usage,region=eu-east,datacenter=1a idle=100