Я использую collectd с плагинами snmp и write_graphite. Я хочу, чтобы одни метрики передавались в Graphite с префиксом A, а другие - с префиксом B, чтобы данные в Graphite / Whisper были организованы.
Например, я хотел бы разделить вещи следующим образом:
network.switches.xxxx power.pdu.xxxxxx
Моя конфигурация write_graphite выглядит так:
<Plugin write_graphite>
<Node "mygraphitehost">
Host "mygraphitehost"
Port "2003"
Protocol "tcp"
LogSendErrors true
Prefix "network."
Postfix "-collectd"
</Node>
</Plugin>
Это приводит к тому, что все, что я собираю с помощью подключаемого модуля snmp, отображается в папке «сеть» в веб-интерфейсе Graphite. Является ли запуск нескольких сборщиков с разными конфигурациями / сценариями инициализации единственным способом решить эту проблему?
Использовать "расширенный режим"где вы точно указываете свой путь, установите EscapeCharacter
к "."
.
<Plugin write_graphite>
EscapeCharacter "."
</Plugin>
ВНИМАНИЕ: Когда вы это делаете, вы фактически пишете новые ключи для всего на этом хосте.
Чтобы ключи хоста оставались неизменными, вручную задайте имя хоста в верхней части /etc/collectd.conf
Hostname "thishost_mydomain_net"
Затем вы можете редактировать все свои хосты в /etc/collectd.d/snmp.conf
(или где бы вы их ни хранили), чтобы положить их на дерево именно там, где вы хотите.
<Host "network.switches.core-router">
Address "10.1.1.1"
Version 2
Community "public"
Collect "snmp_dataset1"
</Host>
<Host "network.switches.accounting">
Address "10.1.1.2"
Version 2
Community "public"
Collect "snmp_dataset2"
</Host>
Похоже, что сборщик хешированных совпадений может быть тем, что вы ищете:
https://collectd.org/wiki/index.php/Match:Hashed/Config
Очевидно, что у вас нет нескольких графитовых серверов, но похоже, что вы можете использовать сопоставление с шаблоном для отправки метрик на разные серверы, которые в вашем случае будут иметь одинаковое значение "host", но значение префикса может быть другим.