Я начинаю использовать Munin для мониторинга работающего сервера Nginx. Одна вещь, в которой меня особенно интересуют графики, - это количество ошибок - HTTP-ответы с кодами в диапазоне 50x. Мне интересно, если:
Ну, такого животного не существовало, так что Я наколдовал это.
Вы найдете последний код в суть. Наслаждаться.
Мне неизвестны готовые решения OSS. Я лично написал такой плагин, но не могу поделиться кодом. Это два этапа:
tail -f
). Поскольку вы можете определить формат журнала Nginx, вы можете регистрировать желаемые значения, например код состояния, время восходящего запроса и т. д.Вам нужно будет разделить состояние между этими двумя частями. Есть несколько вариантов: в памяти (моей реализацией парсера журналов был демон, управляемый событиями, хранящий всю статистику в памяти); MongoDB; Redis; традиционный MySQL; Общая память; и т.п.
Так эта ссылка относится к плагинам nginx в репозитории munin. Не могу найти ничего очевидного, чтобы делать то, что вы хотите, или чего-либо в Интернете после (очень краткого) поиска.
Я написал пару плагинов munin, и они не такие уж и сложные. Вы должны уметь написать один, чтобы достичь того, чего хотите. Я бы просто подсчитал количество 50x ошибок в текущем журнале и вернул бы его как тип DERIVE с минимумом 0. Таким образом вы можете просто вернуть одно значение и позволить rrdtool работать, если оно увеличилось. Примечание. Это будет проблемой, если в конце дня вы скажете 130 ошибок 50x, а журнал будет повернут, и вы сразу получите 131 ошибку, график будет думать, что это значение 1.
Другой вариант - самостоятельно отслеживать счетчик по имени файла журнала и возвращать фактическое увеличение и сбрасывать его при ротации журнала.