Регистрация Войти
Вход на сайт
Качественные бесплатные шаблоны dle скачать с сайта
» » » Сервер логов на rsyslog+loganalyzer+mysql

Сервер логов на rsyslog+loganalyzer+mysql

01-02-2011
Автор: synergix
Просмотров: 6 891
Комментариев: 0
Версия для печати
Чтение логов конечно вещь занятная, а то и просто необходимая, но хотелось бы чтобы логи со всех серверов хранились в одном месте, удобно представлялись, парсились в бразуере, а так же при появлении ошибок или других нехороших вещей отправляли на мылосообщение. После недолгого гугления изобретать велосипед не стали. И так будем пользоваться следующими вещами:
Rsyslog+loganalyzer+mysql

Поехали. Ставим для начала сам rsyslog он будет принимать логи на 514 порту, и складывать их в базу данных mysql

cd /usr/ports/sysutils/rsyslog4
make install clean

Заменяем стандартный syslogd

/etc/rc.d/syslogd stop


Рихтуем /etc/rc.conf:

syslogd_enable="NO"
rsyslogd_enable="YES"
rsyslogd_pidfile="/var/run/syslog.pid"
rsyslogd_flags="-c4"
mysql_enable=”YES”
apache_enable=”YES”


Редактируем /usr/local/etc/rsyslog.conf и смотрим листинг моего файла.

#### Модули ####
$ModLoad imuxsock 
$ModLoad imklog  
#$ModLoad immark  
$ModLoad ommysql 
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
$ModLoad ommail

#### Чего посылаем в БД  ####
#Правим под свою БД
*.*  :ommysql:127.0.0.1,Имя_БД,ПользовательБД,ПарольБД

# Чмодим файлы

$FileOwner root
$FileGroup wheel

######УВЕДОМЛЯЛКА#####

$ActionMailSMTPServer АДРЕС СЕРВЕРА
$ActionMailSMTPPort 25
$ActionMailFrom АДРЕС ОТПРАВИТЕЛЯ
$ActionMailTo КОМУ СЛАТЬ МЫЛО
$template mySubject1,"On host %hostname%, Error-level by serverity"
$template myBody1,"Facility.Serverity: %syslogfacility%.%syslogpriority% 
#тут надо убрать перенос!!!!!!!!!!!1
at %timegenerated% on host:
%HOSTNAME%rn %msg%"
$ActionMailSubject mySubject1
#seconds interval for mailing
$ActionExecOnlyOnceEveryInterval 10
#expression based filter
if not ($msg contains 'TopLevelSystem'
or $msg contains 'getConnectorInfo'
or $msg contains 'failed - Data stale'
or $msg contains 'DatadiscoveryfailedforConnector' )
and ($syslogseverity-text =='err'
or $syslogseverity-text =='crit'
or $syslogseverity-text =='alert'
or $syslogseverity-text =='emerg' )
then :ommail:;myBody1


Далее ставим для поддержки mysql:

cd /usr/ports/sysutils/sysutils/rsyslog4-mysql
make install clean


потом ставим сам мускул если еще не стоит.

сd /usr/ports/databases/mysql50-server
make install clean


лезем в

cd /usr/ports/sysutils/loganalyzer
make install clean 


потянет за собой апач, пыху и пр. приблуды.

Далее лезем в /usr/local/www/ находим папку анализатора и из папки src копируем все /usr/local/www/data

Ну или в конфиге апача правьте , как кому нравится.
Создаем пустой файл

touch config.php
chmod 666 config.php

После установки можно будет изменить права. На 644.

Далее создаем БД Syslog и даем на него полные права пользователю Syslog

Потом закидываем дамп для rsyslog’a лежит он тут:

/usr/local/share/examples/rsyslog/mysql_createDB.sql


Стартуем апач

/usr/local/etc/rc.d/apache start


Лезем на ip сервера.
Должна начатся установка loganalyzer. Тут все понятно думаю. Как и что.
Можно создать новую базу для пользователей лог анализа, можно хранить их в файле, это уже на ваш вкус. Создались, добавляем базу Syslog в сорцы….:) Ну вот и все красота вам обеспечена.

Для юниксов в конфиги rsyslog

*.info;mail.none;authpriv.none;cron.none @@АЙПИ_СЕРВЕРА:514


P.S. При отображении деталей, записей в веб морде, будет выдаваться ошибка (How to resolve the error „No syslog records found (code 8 )”?
) необходимо сделать следущее: выполнить запрос к БД через, что угодно, я делал через PhpMyAdmin

ALTER TABLE `systemevents` ADD `Checksum` int(11) NOT NULL 
DEFAULT `0`; AFTER `SystemID`;


При подключении 20 хостов, с отсылкой всех логов *.* БД раздувалась на 100кб в минуту...
Рассчитывайте свои объемы...

Демка того, что Вы получите в итоге.

Удачи!
Рейтинг статьи:
  • 0
  
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.