Я включил 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:
Вам следует помнить о нескольких ограничениях:
Тип нельзя оставлять без указания, потому что добавлять яблоки к апельсинам нецелесообразно. Также, внутренняя структура поиска не будет работать, если вы попытаетесь сгруппировать по типу.
Должно быть хотя бы одно неуказанное, разгруппированное поле. Иначе ничего не будет агрегировано.