Сервер логов на rsyslog+loganalyzer+mysql
Чтение логов конечно вещь занятная, а то и просто необходимая, но хотелось бы чтобы логи со всех серверов хранились в одном месте, удобно представлялись, парсились в бразуере, а так же при появлении ошибок или других нехороших вещей отправляли на мылосообщение. После недолгого гугления изобретать велосипед не стали. И так будем пользоваться следующими вещами:
Rsyslog+loganalyzer+mysql Поехали. Ставим для начала сам rsyslog он будет принимать логи на 514 порту, и складывать их в базу данных mysql
Заменяем стандартный syslogd
Рихтуем /etc/rc.conf:
Редактируем /usr/local/etc/rsyslog.conf и смотрим листинг моего файла.
Далее ставим для поддержки mysql:
потом ставим сам мускул если еще не стоит.
лезем в
потянет за собой апач, пыху и пр. приблуды. Далее лезем в /usr/local/www/ находим папку анализатора и из папки src копируем все /usr/local/www/data Ну или в конфиге апача правьте , как кому нравится. Создаем пустой файл
После установки можно будет изменить права. На 644. Далее создаем БД Syslog и даем на него полные права пользователю Syslog Потом закидываем дамп для rsyslog’a лежит он тут:
Стартуем апач
Лезем на ip сервера. Должна начатся установка loganalyzer. Тут все понятно думаю. Как и что. Можно создать новую базу для пользователей лог анализа, можно хранить их в файле, это уже на ваш вкус. Создались, добавляем базу Syslog в сорцы….:) Ну вот и все красота вам обеспечена. Для юниксов в конфиги rsyslog
P.S. При отображении деталей, записей в веб морде, будет выдаваться ошибка (How to resolve the error „No syslog records found (code 8 )”? ) необходимо сделать следущее: выполнить запрос к БД через, что угодно, я делал через PhpMyAdmin
При подключении 20 хостов, с отсылкой всех логов *.* БД раздувалась на 100кб в минуту... Рассчитывайте свои объемы... Демка того, что Вы получите в итоге. Удачи! |
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.