Я использую Graphite и Collectd для мониторинга своего сервера. В частности, я использую подключаемый модуль tail для подсчета неудачных попыток входа по SSH. Я использую счетчик для этой метрики, поэтому ожидайте увидеть 1, 2, 3, 0 и т. д. для точек данных. Однако то, что я вижу, это 0,1, 0,2, 0,3, 0 и т. Д. Мне кажется, что Graphite обеспечивает подсчет в секунду. Я говорю это, потому что моя политика хранения — одна точка данных каждые 10 секунд в течение двух часов. Таким образом, 1 неудачный вход в систему за 10 секунд = 0,1 в секунду. Я смотрю на это на графике. Это выглядит так:
Кроме того, когда я масштабирую до следующего уровня удержания, числа корректируются соответствующим образом: так, 1 неудачный вход в систему, который был показан как 0,1, теперь отображается намного меньше, чем это: 0,017 или что-то в этом роде.
Я не думаю, что это связано с используемым методом агрегирования: даже самые точные данные отключены. Как я могу заставить Graphite рассматривать эту метрику как чистый, необработанный счетчик?
Вот мой файл storage-schemas.conf (политика хранения):
[my_server]
pattern = .*
retentions = 10s:2h,1m:2d,30m:400d
Вот моя конфигурация плагина collectd tail:
<Plugin "tail">
<File "/var/log/auth.log">
Instance "auth"
<Match>
Regex "sshd[^:]*: Failed password"
DSType "CounterInc"
Type "counter"
Instance "sshd-invalid_user"
</Match>
</File>
</Plugin>
А вот моя конфигурация плагина write_graphite (который отправляет данные в graphite):
<Plugin write_graphite>
<Node "my_server_name">
Host "localhost"
Port "2003"
Protocol "tcp"
LogSendErrors true
Prefix "collectd."
#Postfix ""
StoreRates true
AlwaysAppendDS false
EscapeCharacter "_"
</Node>
</Plugin>
Я попытался установить StoreRates false
для плагина write_graphite, но это не сработало. Это действительно изменило поведение: когда я выполнил один неудачный вход в систему SSH, эта метрика отображается как 1. Однако она не упала до 0. Когда я выполнил еще два неудачных входа в систему, метрика увеличилась до 3.
Также интересно: я также загрузил плагин пользователей, который просто показывает количество пользователей, вошедших в систему, и он отлично работает: показывает 1, когда я вхожу в SSH, два, когда я снова вхожу в SSH, и возвращаюсь к 1, когда я выхожу из одного SSH. Для обеих настроек StoreRates. Так что кажется, что то, что я хочу, возможно каким-то образом. Может быть, не с хвостовым плагином.
Входы в систему SSH с StoreRates false
вместе с правильным поведением для пользователей, вошедших в систему, можно увидеть на этих графиках:
Есть идеи? Спасибо,