Как управлять порядком / иерархией графитовых полей / тегов из телеграфного конфига?
Мы только начали собирать метрики iptables с телеграфного ввода iptables и отправлять их на выход графита. Проблема в том, что итоговая иерархия тегов / полей Graphite не соответствует конфигурации.
мы пытаемся контролировать это, используя такие параметры конфигурации:
[[outputs.graphite]]
prefix = "telegraf"
template = "host.tags.measurement.field"
вот полный конфиг:
[global_tags]
location = "dc1"
tier = "live"
role = "intfw"
lsbdistdescription = "wheezy"
[agent]
hostname = "intfw1-test"
[[processors.regex]]
namepass = ["iptables"]
[[processors.regex.tags]]
key = "ruleid"
pattern = "[:.,\\s]"
replacement = "_"
[[outputs.graphite]]
prefix = "telegraf"
template = "host.tags.measurement.field"
[[inputs.iptables]]
table = "filter"
chains = ["INPUT","FORWARD","OUTPUT"]
В результате такой конфигурации мы ожидаем иерархию графитовых полей, например:
telegraf ( == outputs.graphite prefix )
└── intfw1-test ( == host from outputs.graphite template )
└── dc1 ( == first global tag from outputs.graphite template tags (global_tags.location))
└── live ( == global_tags.tier)
└── intfw ( == global_tags.role)
└── wheezy ( == global_tags.lsbdistdescription )
└── iptables ( == measurment(inputs.iptables))
└── filter ( == first tag from inputs.iptables, table)
└── INPUT( == 2nd tag from inputs.iptables, chain)
└── allow_monitoring ( == 3rd tag from inputs.iptables, ruleid)
└── pkts.wsp (field)
но, на самом деле, мы получаем эту структуру:
telegraf
└── intfw1-test
└── INPUT
└── dc1
└── wheezy
└── intfw
└── allow_monitoring
└── filter
└── live
└── iptables
└── pkts.wsp
т.е. global_tags и теги из iptables.input смешиваются каким-то странным образом. Есть ли возможность управлять такой иерархией из конфигурации телеграфа?