FastNetMon

Показаны сообщения с ярлыком rsyslog. Показать все сообщения
Показаны сообщения с ярлыком rsyslog. Показать все сообщения

среда, 19 мая 2010 г.

Что за черточки перед файлами в rsyslog.conf?

Пример черточек:
mail.info -/var/log/mail.info
mail.warn -/var/log/mail.warn
mail.err /var/log/mail.err


I assume that the hyphens in rsyslog.conf in front of some filenames
indicate that these files aren't synced after every message, but
there's no information about this in the manpage.


По логике в принципе это согласуется с тем, что я вижу в конфиге.

http://groups.google.com/group/linux.debian.bugs.dist/browse_thread/thread/f48a038c0b502814

вторник, 22 декабря 2009 г.

Визуализация логов rsyslog

Для этого есть средство: http://www.phplogcon.org/

rsyslog: централизованный сбор логов

Для передачи логов с одной машины на другую нам понадобится две активных инсталляции rsyslog: server и client. Поставим их по мануалу: Замена rsyslog (sysklogd) на syslog в CentOS 5

Client

Тут в принципе ничего сложного - нам необходимо настроить отправку важных логов по tcp на удаленную машину, пусть это будет log.domain.ru (ага, я не боюсь постоянного резолвера).

Открываем конфиг:
vi /etc/rsyslog.conf


Стандартный конфиг выглядит так:

cat /etc/rsyslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages

# The authpriv file has restricted access.
authpriv.* /var/log/secure

# Log all the mail messages in one place.
mail.* -/var/log/maillog


# Log cron stuff
cron.* /var/log/cron

# Everybody gets emergency messages
*.emerg *

# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler

# Save boot messages also to boot.log
local7.* /var/log/boot.log


Вариант с отсылкой всех логов без сохранения локально будет выглядеть так (простое копирование):

*.info;mail.none;authpriv.none;cron.none @@xx.xx.xx.xx:514


А для сохранения локально и отсылки на удаленный сервер он будет выглядеть так:

*.info;mail.none;authpriv.none;cron.none /var/log/messages
*.info;mail.none;authpriv.none;cron.none @@xx.xx.xx.xx:514


Перезапускаем rsyslog:
/etc/init.d/rsyslog restart


А на сервере можно заменить слушающий rsyslog командой nc:
nc -l 514


Теперь для теста попробуем отправить сообщение, которое обычно должно упасть в /var/log/messages:

logger -p ftp.info 'test message suxx'


Server

Открываем конфиг (эта и последующие операции выполняются на сервере):
vi /etc/rsyslog.conf


Разрешаем rsyslog у слушать удаленные машины:

vi /etc/sysconfig/rsyslog


И строку:
SYSLOGD_OPTIONS="-m 0"


Заменяем на:
SYSLOGD_OPTIONS="-m 0 -t514"


Добавляем в самый верх следующее:

$AllowedSender TCP, 127.0.0.1, cli.ent.ip.add


Перезапускаем rsyslog:
/etc/init.d/rsyslog restart


Теперь открываем просмотр лога для контроля, что tcp слушается (tcpReception="Yes") и ожидания логов с клиент машины:

tail -f /var/log/messages
x-pid="32126" x-info="http://www.rsyslog.com"][x-configInfo udpReception="No" udpPort="514" tcpReception="Yes" tcpPort="514"] restart



А тем временем на клиент машине вызываем давнюю команду:
logger -p ftp.info 'test remote message suxx'


И в ответ на сервере должны увидеть следующее:

Dec 22 06:08:09 clienthostname root: test remote message suxx


Ну и все, осталось узнать, как это все себя будет вести под нагрузкой =)

Замена syslog (sysklogd) на rsyslog в CentOS 5

Встала задача централизации сбора всех логов на один сервер, а вариант рассылки логов по UDP (единственный сетевой способ передачи логов, который поддерживает sysklogd) не особенно устраивал тем, что логи придется переправлять по "незащищенному каналу" и вероятность их подмены также не особенно устраивала.

Итак, основываясь на моем немного забегающем вперед эксперименте "/etc/init.d/rsyslog start Shut down sysklogd before you run rsyslog", убеждаемся в необходимости отключения стандартного логгера.

Итак, поехали:
yum install -y rsyslog


Убираем стандартный логгер из автозапуска:
chkconfig syslog off


Добавляем туда "нестандартный":
chkconfig rsyslog on


Выключаем стандартный и включаем rsyslog:

/etc/init.d/syslog stop
/etc/init.d/rsyslog start


В итоге это выведет следующее:

# /etc/init.d/syslog stop
Shutting down kernel logger: [ OK ]
Shutting down system logger: [ OK ]
# /etc/init.d/rsyslog start
Starting system logger: [ OK ]
Starting kernel logger: [ OK ]



А теперь убедимся, что все запустилось просмотром лога:

tail -f /var/log/messages
...
Dec 22 04:28:19 node yum: Installed: rsyslog-2.0.6-1.el5.x86_64
Dec 22 04:30:39 node kernel: Kernel logging (proc) stopped.
Dec 22 04:30:39 node kernel: Kernel log daemon terminating.
Dec 22 04:30:41 node exiting on signal 15
Dec 22 04:30:46 node rsyslogd: [origin software="rsyslogd" swVersion="2.0.6" x-pid="26857" x-info="http://www.rsyslog.com"][x-configInfo udpReception="No" udpPort="514" tcpReception="No" tcpPort="0"] restart
Dec 22 04:30:46 node kernel: rklogd 2.0.6, log source = /proc/kmsg started.

воскресенье, 20 декабря 2009 г.

Замены syslog (sysklogd) в CentOS 5: syslog-ng и rsyslog

rsyslog (кстати, к нему даже есть провайдер для хранения логов в MySQL: rsyslog-mysql):


yum info rsyslog
Name : rsyslog
Arch : x86_64
Version : 2.0.6
Release : 1.el5
Size : 201 k
Repo : base
Summary : Enhanced system logging and kernel message trapping daemons
URL : http://www.rsyslog.com/
License : GPLv2+
Description: Rsyslog is an enhanced multi-threaded syslogd supporting, among others, MySQL,
: syslog/tcp, RFC 3195, permitted sender lists, filtering on any message part,
: and fine grain output format control. It is quite compatible to stock sysklogd
: and can be used as a drop-in replacement. Its advanced features make it
: suitable for enterprise-class, encryption protected syslog relay chains while
: at the same time being very easy to setup for the novice user.


syslog-ng:
yum info syslog-ng
Available Packages
Name : syslog-ng
Arch : x86_64
Version : 2.1.4
Release : 1.el5
Size : 263 k
Repo : epel
Summary : Next-generation syslog server
URL : http://www.balabit.com/products/syslog_ng/
License : GPLv2+
Description: syslog-ng, as the name shows, is a syslogd replacement, but with new
: functionality for the new generation. The original syslogd allows
: messages only to be sorted based on priority/facility pairs; syslog-ng
: adds the possibility to filter based on message contents using regular
: expressions. The new configuration scheme is intuitive and powerful.
: Forwarding logs over TCP and remembering all forwarding hops makes it
: ideal for firewalled environments.