Мониторинг важных файлов журналов на нескольких хостах Linux?

Мониторинг важных файлов журналов на нескольких хостах Linux?

У меня есть несколько серверов, работающих на AWS, и Nagios/Icinga осуществляет мониторинг всех критически важных служб.

Мы пытаемся найти лучший способ мониторинга всех журналов - system, DB, PHP, Apache, etc- в системе, чтобы мы знали о проблемах (например, что Apache max_clientsвчера достиг порога) немедленно по электронной почте. В настоящее время мы просматриваем журналы только после того, как сервис выходит из строя, а не до этого, что плохо.

Я новичок в администрировании Linux и после поиска в Интернете я выявил следующие варианты:

  1. Скрипты Nagiosдля мониторинга журналов- Проблема в том, что большинство из них проверяют один файл журнала для одного конкретного регулярного выражения за раз. Невозможно масштабировать установку одной службы для каждого файла журнала (я даже не знаю всех файлов журнала, которые нам нужно отслеживать!)
  2. Такой сервис, как logrobot.com- Хотя я не уверен, насколько это эффективно.

Буду признателен за совет о том, как лучше всего отслеживать все эти журналы на нескольких серверах с минимальной конфигурацией.

решение1

Не знаю, сколько серверов/логов вам нужно отслеживать, но существует множество решений.

небольшая среда

Используйте rsyslog и понравившийся вам интерфейс (например, LogAnalyzer)http://loganalyzer.adiscon.com/)

большая окружающая среда

Мы отслеживаем наши серверные логи из (+300 system) с помощью beaver в качестве logshipper, logstash в качестве indexer и elasticsearch в качестве backend. Это решение масштабируется до [вставьте случайное число здесь] хостов ;)

решение2

По сути, вам не следует (по крайней мере, не только) читать журналы на одном и том же хосте, а вместо этого использовать какой-либо сервер журналов, который будет централизовать все журналы серверов.

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

Кроме того, просто используйте logcheck и позвольте ему проверить логи за вас.

По сути, это проверка строк, которые вы считаете приемлемыми и которые можно игнорировать, и отправка вам только тех, которые вы заранее не указали logcheck игнорировать.

Вы можете легко установить его на любой сервер.

для графической версии, подсчет количества серьезных записей в журнале и т.д.

logzilla - хороший вариант, хотя и не бесплатный уже.

решение3

Я потратил пару дней на поиски («решения по управлению журналами»), и нашел именно те инструменты, которые искал. Следующие 3 инструмента — это облачные инструменты ведения журналов, их легко устанавливать и настраивать. Они отправляют системные журналы и пользовательские журналы на свои серверы, хранят их, позволяют искать и настраивать оповещения по электронной почте/вебхуку для шаблонов регулярных выражений.

  1. Papertrail- самый простой/быстрый интерфейс на сегодняшний день (как tail -f на терминале). Также очень доступные цены. Вам придется потратить некоторое время на настройку его для пользовательского ведения журнала (apache, mysql, ваше приложение). Их log-shipper на основе Go (на сегодняшний день в бета-версии) очень эффективен в плане памяти, и я могу развернуть файлы журналов, которые он должен отслеживать, через репозиторий GIT.
  2. Записи в журнале- также довольно просто. Самый простой для настройки пользовательского ведения журнала через их демон 'le'. У него довольно много функций, и это делает его раздутым по сравнению с papertrail. Их бесплатный план довольно обширен для стартапов.
  3. Логгли- Предлагают все, что делают два других, но было довольно сложно пройти через это. И их бесплатный план не предлагает оповещений.

решение4

Что касается logrobot.com, то теперь есть бесплатная версия, которая делает именно то, что вам нужно, и ее можно загрузить здесь:

http://www.logxray.com/logxray.zip

Чтобы использовать его для решения ваших проблем, вы можете запустить logxray следующим образом:

./logxray localhost:emailing /apps/logxray autonda /var/log/messages 60m 'ядро|ошибка|паника|сбой' 'превышено время ожидания' 1 2 -show error_check [email protected]

Для мониторинга нескольких журналов или определенных журналов в определенном каталоге:

./logxray локальный хост /apps/logxray autoblz /var/log 60m 'паника|ошибка' '.' 1 1 directory_error_watch -ndfoundn

http://www.logXray.com(для получения дополнительной информации или документации по использованию инструмента)

Связанный контент