данные плагина collectd perl в подкаталогах

Я пишу собственный плагин collectioncd на Perl. Скажем, для сетевого мониторинга «netmonit». Итак, я отправляю данные следующим образом:

server-group.server.netmonit.net1_counter1
server-group.server.netmonit.net1_counter2
server-group.server.netmonit.net2_counter1
server-group.server.netmonit.net2_counter2

Мой вопрос в том, могу ли я отправлять данные в подкаталоги:

server-group.server.netmonit.net1.counter1
server-group.server.netmonit.net1.counter2
server-group.server.netmonit.net2.counter1
server-group.server.netmonit.net2.counter2

use Collectd qw( :all )
...
...
sub read_data_netmonit {
    my $va = { type => 'absolute', plugin => netmonit };
    my $data = get_data();
    for my $metric (@metrics) {
        $va->{'values'}        = [ $data->{$metric} ];
        $va->{'type_instance'} = "$metric";
        plugin_dispatch_values($va);
    }
    return 1;
}

person kabi    schedule 20.07.2016    source источник
comment
Ты это пробовал? Это сработало?   -  person simbabque    schedule 20.07.2016
comment
пример, который я показываю здесь, помещает все в один каталог. Я хотел бы знать, есть ли у кого-нибудь пример с подкаталогами.   -  person kabi    schedule 21.07.2016


Ответы (1)


В collectd нет такого понятия, как «отправка данных в каталоги». Collectd просто собирает числа и присваивает им уникальный идентификатор, построенный с использованием 5 компонентов:

  • хозяин
  • плагин
  • плагин-экземпляр
  • тип
  • тип-экземпляр

Есть даже шестой компонент, который является источником данных.

Похоже, вы имеете в виду плагин записи write_graphite, который будет принимать эти идентификаторы и метрики и использовать их для создания каталогов, в которых будут храниться точки данных.

Collectd ограничен теми пятью уровнями, которые я показал, поэтому вам придется творить магию на стороне графита.

person faxmodem    schedule 25.07.2016