Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Rsyslog настройка на сервере

 
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> Общий форум
 
Автор Сообщение
ArbyZ

Новенький


Зарегистрирован: 01.07.2006
Сообщения: 33
Откуда: AstrakhaN

СообщениеДобавлено: Пт Мар 16, 2012 7:52 am    Заголовок сообщения: Rsyslog настройка на сервере
Ответить с цитатой

Господа, есть вопрос. Не подскажите ли хороший материал/руководство по настройке rsyslog на CentOS 6.2. Треба создать единый лог-сервер + парсер для мониторинга событий в режиме реального времени.
_________________
Кто МЫ? - МОСКАЛИ,ЗЛЫЕ МОСКАЛИ!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Пт Мар 16, 2012 1:19 pm    Заголовок сообщения:
Ответить с цитатой

В качестве анонса публикую фрагмент из своей книги FreeBSD. От новичка к профессионалу 2 издание, понимаю, что это не CentOS, но конфиг там такой же, проверяй только пути


Первым делом нужно установить rsyslog (забегая наперед, скажу, что rsyslog нужно установить на всех серверах сети). Для этого выполните команды:
cd /usr/ports/sysutils/rsyslog55
make install clean
Сразу устанавливаем модуль поддержки MySQL:
cd /usr/ports/sysutils/rsyslog55-mysql
make install clean
Далее останавливаем стандартный syslog:
/etc/rc.d/syslogd stop
И производим его замену на rsyslog путем редактирования файла /etc/rc.conf:
syslogd_enable="NO"
rsyslogd_enable="YES"
rsyslogd_flags="-c4"
rsyslogd_pidfile="/var/run/syslog.pid"
apache_enable="YES"
mysql_enable="YES"

Первая строка отключает запуск демона syslogd, следующие три строки обеспечивают запуск rsyslogd и устанавливают его некоторые параметры. Предпоследняя строка - это запуск Apache, который необходим нам для Web-интерфейса анализатора протоколов. Если вы предпочитаете другой HTTP-сервер, обратитесь к главе 34.
Настало время отредактировать файл конфигурации /usr/local/etc/rsyslog.conf (см. лист. 44.1)
Код:
Листинг 44.1. Файл /usr/local/etc/rsyslog.conf
# Модули
$ModLoad imuxsock
$ModLoad imklog 
# Модуль поддержки MySQL
$ModLoad ommysql
$ModLoad imudp
# Номер UDP-порта
$UDPServerRun 514
$ModLoad imtcp
# Номер TCP-порта
$InputTCPServerRun 514

# Параметры доступа к БД MySQL 
# Здесь 127.0.0.1 - адрес сервера БД
# log - название базы данных
# loguser - имя пользователя
# 123456 - пароль
# Укажите свои параметры доступа и не забудьте создать
# указанного пользователя и БД
*.*  :ommysql:127.0.0.1,log,loguser,123456


# Владелец и группа владельца
$FileOwner root
$FileGroup wheel


Файл конфигурации небольшой. Можно, конечно, настроить еще и уведомление по электронной почте (модуль ommail), когда сервер будет получать критические сообщения (crit, alert, emerg), но это создаст ненужный поток еще и почтового трафика. И так я должен отметить, что поток трафика будет немалым, а скорость роста базы данных с протоколами составит несколько сотен килобайтов в минуту. Так что прежде, чем настраивать подобный сервер, убедитесь, что у вас достаточно свободного пространства. Скажем, если у вас будет 10 серверов, отправляющих свои журналы центральному серверу, база данных будет "раздуваться" примерно на 100 Кб каждую минуту. Один час 6000 Кб, то есть почти 6 Мб, за дни сутки при надлежащей загрузке серверов получим прирост около 144 Мб. Один месяц - 4 Гб. Этот факт нужно учитывать. Если мы сделаем уведомление по электронной почте, тогда мы будем еще и раздувать почтовый ящик (пусть не с такой скоростью, но все же).
Затем нам нужно установить Apache и MySQL, если вы это еще не сделали. В любом случае отправляю вас к главе 34, судя по всему, эти серверы должны быть у вас установлены. А мы тем временем установим loganalyzer:
cd /usr/ports/sysutils/loganalyzer
make install clean
При установке loganalyzer нужно выбрать поддержку MySQL (рис. 44.1).
Рис. 44.1. Установка loganalyzer
Затем переходим в каталог /usr/local/www, находим в ней каталог анализатора журналов, заходим в него и копируем все, что есть в каталоге src в любой из подкаталогов корневого каталога Web-сервера (можно создать, например, каталог logs и скопировать все в него - название, сами понимаете, значения не имеет).
Создаем конфигурационный файл config.php:
touch config.php
chmod 666 config.php
Не забудьте создать базу данных и пользователя, а также предоставить ему доступ к базе данных. После этого устанавливаем таблицы, необходимые для rsyslog:
/usr/local/share/examples/rsyslog/mysql_createDB.sql
Запускаем apache, если он еще не запущен:
/usr/local/etc/rc.d/apache start
Далее открываем браузер и переходим в каталог, в который вы поместили содержимое src, в нашем случае это будет каталог logs:
http://127.0.0.1/logs
Начнется установка loganalyzer, дальше все понятно. При установке как раз и указываем адрес сервера БД, название БД, имя пользователя, пароль. Все эти данные будут записаны в config.php.
После установки желательно изменить права доступа к config.php на 644. Вот, собственно и все. Можно приступить к настройке серверов, с которых мы будем собирать протоколы.
Если при доступе к Web-интерфейсу вы увидите ошибку No syslog records found, откройте phpMyAdmin и отправьте следующий запрос к базе данных:
ALTER TABLE `systemevents` ADD `Checksum` int(11) NOT NULL
DEFAULT `0`; AFTER `SystemID`;
44.3. Настройка остальных серверов сети
Вам нужно установить rsyslogd на каждом сервере сети (при этом не имеет значения, под управлением какой операционной системы - FreeBSD или Linux работает сервер - главное, чтобы был установлен rsyslogd), далее отредактировать файл конфигурации rsyslog.conf. Формат этого файла следующий:
селектор[;селектор] действие
Параметр селектор определяет, какие сообщения должны быть запротоколированы. Вот список наиболее часто использующихся селекторов:
 auth, security — все, что связано с регистрацией пользователя в системе;
 authpriv — отслеживает программы, изменяющие привилегии пользователей, например, программа su;
 cron — сообщения планировщиков заданий;
 kern — сообщения ядра;
 mail — сообщения почтовых программ;
 news — сообщения новостного демона;
 uucp — сообщения службы Unix-to-Unix-CoPy, уже давно не используется, но файл конфигурации демона все еще содержит упоминание о ней;
 syslog — сообщения самого демона syslogd;
 user — сообщения пользовательских программ;
 daemon — сообщения различных сервисов;
 * — все сообщения.
При указании селектора можно определить, какие сообщения нужно протоколировать:
 debug — отладочные сообщения;
 info — информационные сообщения;
 err — ошибки;
 warning — предупреждения (некритические ошибки);
 crit — критические ошибки;
 alert — "тревожные" сообщения, требующие вмешательства администратора;
 emerg — очень важные сообщения (произошло что-то такое, что мешает нормальной работе системы);
 notice — замечания.
Впрочем, обычно селекторы указываются так:
название_селектора.*
Это означает, что будут протоколироваться все сообщения селектора. Вот еще несколько примеров:
 daemon.* — протоколируются все сообщения сервисов;
 daemon.err — регистрировать только сообщения об ошибках сервисов.
Теперь перейдем к параметру действие — это второе поле файла конфигурации. В большинстве случаев действие — это имя файла журнала, в который нужно записать сообщение селектора. Если перед именем файла стоит "минус" (–), то после каждой записи в журнал демон не будет выполнять синхронизацию файла, то есть осуществлять системный вызов fsync(). Это повышает производительность системы, поскольку сообщений обычно много, и если после каждого выполнять синхронизацию журнала, система будет работать медленно.
В большинстве случаев в файл конфигурации нужно добавить всего одну строку:
*.info;mail.none;authpriv.none;cron.none @@IP_центрального_сервера:514
Две "собачки" перед строкой означают, что сообщения протокола будут переданы удаленному серверу rsyslog, 514 - это порт, который используется удаленным сервером.
Если вы какие-то сообщения желаете отправлять в файл, а не на сервер (для уменьшения размера БД сервера), то просто укажите имя файла, например:
mail.* -/var/log/maillog
Если есть желание выводить сообщения на консоль всех подключенных к системе пользователей, то используйте звездочку вместо действия:
*.emerg *
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
ArbyZ

Новенький


Зарегистрирован: 01.07.2006
Сообщения: 33
Откуда: AstrakhaN

СообщениеДобавлено: Сб Мар 17, 2012 9:40 am    Заголовок сообщения:
Ответить с цитатой

Ок, спасибо есть от чего отталкиваться. Только вот еще момент. loganalyzer действительно стоит того? или лучше свой парсер накидать?
_________________
Кто МЫ? - МОСКАЛИ,ЗЛЫЕ МОСКАЛИ!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Сб Мар 17, 2012 10:32 am    Заголовок сообщения:
Ответить с цитатой

Тут уже по желанию. Есть желание сделать свой парсер - делай.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Показать сообщения:   
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> Общий форум Часовой пояс: GMT
Страница 1 из 1
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис