Telegraf 模板模式
模板模式描述了如何将点分隔的字符串映射到 Telegraf 指标以及从 Telegraf 指标映射出来。
一个模板的形式如下
"host.mytag.mytag.measurement.measurement.field*"
以下关键字可以设置
measurement
:指定 graphite bucket 的这部分对应于 measurement 名称。可以多次指定。field
:指定 graphite bucket 的这部分对应于字段名称。可以多次指定。measurement*
:指定 graphite bucket 的所有剩余元素对应于 measurement 名称。field*
:指定 graphite bucket 的所有剩余元素对应于字段名称。
模板中任何不是关键字的部分都将被视为标签键。这也可以多次指定。
注意以下事项
measurement
必须在您的模板中指定。field*
不能与measurement*
结合使用。
示例
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*
从 graphite bucket 的所有剩余元素中派生出来
separator = "_"
templates = [
"measurement.measurement.region.field*"
]
这将导致以下 Graphite 到 Telegraf 指标转换。
cpu.usage.eu-east.idle.percentage 100
=> cpu_usage,region=eu-east idle_percentage=100
过滤器模板
使用 glob 匹配来过滤要使用的模板,基于 bucket 的名称
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
此页面是否对您有帮助?
感谢您的反馈!