Мониторинг важных файлов журнала на нескольких хостах Linux?
У меня есть несколько серверов, работающих на AWS, и Nagios/Icinga выполняет мониторинг всех критически важных сервисов.
Мы пытаемся найти лучший способ отслеживать все журналы - system, DB, PHP, Apache, etc
- в системе, чтобы мы знали о проблемах (например, что Apache достиг max_clients
порог вчера) сразу по электронной почте. Мы просматриваем журналы только после того, как сервис отключается, а не до того, что плохо.
Я новичок в администрировании Linux и определил следующие параметры после поиска в Интернете:
- Сценарии Nagios для мониторинга журналов. Проблема заключается в том, что большинство из них проверяет один файл журнала для одного конкретного регулярного выражения за раз. Невозможно установить один сервис для каждого файла журнала (я даже не знаю всех файлов журнала, которые мы должны отслеживать!)
- Сервис, такой как logrobot.com - я не уверен, насколько это эффективно.
Благодарим вас за советы о том, как лучше всего отслеживать все эти журналы на нескольких серверах с минимальной конфигурацией.
4 ответа
Я потратил пару дней на поиск ("решения для управления журналами"), я обнаружил только те инструменты, которые искал. Следующие 3 инструмента - это инструменты ведения журнала на основе облака, которые просты в установке и настройке. Они отправляют системные журналы и пользовательские журналы на свои серверы, сохраняют их, позволяют искать и настраивать оповещения по электронной почте / веб-крюкам для шаблонов регулярных выражений.
- Papertrail - самый простой / быстрый интерфейс на данный момент (как tail -f на терминале). Чрезвычайно доступные цены. Вам придется потратить некоторое время на настройку его для пользовательского ведения журнала (apache, mysql, ваше приложение). Их поставщик журналов, основанный на Go (в бета-версии на сегодняшний день), очень эффективно использует память, и я могу развернуть файлы журналов, которые он должен отслеживать, через GIT-репозиторий.
- Записи в журнале - тоже довольно просто. Легче всего настроить пользовательскую регистрацию через своего демона 'le'. У этого есть довольно много особенностей, и это заставило это казаться раздутым по сравнению с papertrail. Их бесплатный план довольно обширный для стартапов.
- Loggly - Предложите все, что делают двое других, но пройти через это было довольно сложно. И их бесплатный план не предлагает оповещений.
Не знаю, сколько серверов / журналов нужно отслеживать, но есть много решений
маленькая среда
Используйте rsyslog и интерфейс, который вам нравится (например, LogAnalyzer http://loganalyzer.adiscon.com/)
большая среда
Мы отслеживаем наши серверные журналы из (системы +300) с бобром в качестве logshipper, logstash в качестве индексатора и эластичного поиска в качестве бэкэнда. Это решение масштабируется до [введите случайное число здесь] хостов;)
По сути, вы не должны (по крайней мере, не только) читать журналы на одном и том же хосте, но вместо этого использовать какой-либо сервер журналов, который бы централизовал все журналы серверов.
Я использовал эту настройку, чтобы убедиться, что журналы не изменены после того, как они были введены.
Кроме того, просто используйте logcheck, и пусть он проверяет журналы для вас.
По сути, это проверка строк, которые вы считаете приемлемыми и которые можно игнорировать, и отправляет вам только те, которые вы не указали logcheck игнорировать заранее.
Вы можете легко установить его на каждом сервере.
для графической версии - подсчет количества серьезных записей в журнале и т. д.
логзилла хороший вариант, мысль не бесплатная больше.
Что касается logrobot.com, теперь есть бесплатная версия, которая делает именно то, что вам нужно, и ее можно скачать здесь:
http://www.logxray.com/logxray.zip
Чтобы использовать его для решения ваших проблем, вы можете запустить logxray следующим образом:
./logxray localhost: электронная почта /apps/logxray autonda /var/log/messages 60 м "ядро | ошибка | паника | ошибка" истекло время ожидания 1 2 - показать error_check jdoe@example.com
Для отслеживания нескольких журналов или определенных журналов в определенном каталоге:
./logxray localhost / apps / logxray autoblz / var / log 60m 'паника | ошибка' '.' 1 1 directory_error_watch -ndfoundn
http://www.logxray.com/ (для получения дополнительной информации или документации о том, как использовать инструмент)