Назад | Перейти на главную страницу

Как настроить плагин агрегирования collectd для агрегирования вывода из IPTable :: Plugin?

Я включил CollectD: плагин IPTables для отслеживания трафика на две разные группы серверов:

LoadPlugin iptables

<Plugin iptables>
        Chain "filter" "TRACK_TRAFFIC_SERVER_A" "monitoring_traffic_server_a"
        Chain "filter" "TRACK_TRAFFIC_SERVER_B" "monitoring_traffic_server_b"
</Plugin>

Плагин возвращает кортежи для каждой цепочки с типом ipt_bytes и ipt_packets.

Теперь я хотел бы иметь показатель, который дает мне сумму ipt_bytes и ipt_packets отправлено на SERVER_A и SERVER_B.

Для этого я включил CollectD: плагин агрегации чтобы предоставить эту метрику. Это текущая конфигурация, не работает:

LoadPlugin aggregation

<Plugin "aggregation">
  <Aggregation>
    Plugin "iptables"
    Type "iptables"
    GroupBy "Host"
    GroupBy "TypeInstance"
    GroupBy "Type"
    CalculateNum false
    CalculateSum true
    CalculateAverage false
    CalculateMinimum false
    CalculateMaximum false
    CalculateStddev false
  </Aggregation>
</Plugin>

Как настроить плагин агрегирования работать с выводом Collectd :: IPTables?

Попробуйте удалить: GroupBy "Type" и он должен работать.

В соответствии с документация плагина агрегирования collectd:

Вам следует помнить о нескольких ограничениях:

Тип нельзя оставлять без указания, потому что добавлять яблоки к апельсинам нецелесообразно. Также, внутренняя структура поиска не будет работать, если вы попытаетесь сгруппировать по типу.

Должно быть хотя бы одно неуказанное, разгруппированное поле. Иначе ничего не будет агрегировано.