Назад | Перейти на главную страницу

rsyslog - помощь по настройке - logrotate и сжатие

Я новичок в Linux и rsyslog. Я использую файлы журналов много лет, но мне никогда не приходилось их настраивать. На данный момент у меня есть несколько устройств Proof of Concept, указывающих на мой сервер Debain Linux. У меня есть сообщения системного журнала, которые поступают и записываются в один файл: / var / log / prd / fwlog. Меня беспокоят только 3 типа устройств - коммутаторы, маршрутизаторы и межсетевые экраны. (все cisco) Мой rsyslog.conf довольно прост, я только изменил базовую конфигурацию, закомментировал вещи, которые мне не нравились / нужны?

вырезал комментарий из материала.

$ModLoad immark  # provides --MARK-- message capability    

$ModLoad imudp
$UDPServerRun 514

$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022

$WorkDirectory /var/spool/rsyslog

$IncludeConfig /etc/rsyslog.d/*.conf

*.*          /var/log/prd/fwlog

Напоследок мои вопросы!

  1. Я хочу повернуть и разделить маршрутизаторы и переключатели в журнале с отметкой даты под названием «rslog-YYYY-MM-DD», а также межсетевые экраны в журнале с отметкой даты под названием «fwlog-YYYY-MM-DD»

  2. Я хочу сжать (gzip?) Журналы через 48 часов.

что мне нужно добавить в мою конфигурацию?

Думаю, я добавил каталог и файл в свой rsyslog в /etc/logrotate.d/rsyslog

/var/log/syslog
{
        rotate 7
        daily
        missingok
        notifempty
        delaycompress
        compress
        postrotate
                invoke-rc.d rsyslog rotate > /dev/null
        endscript
}

/var/log/prd/fwlog*
/var/log/prd/rslog*

{
        rotate 4
        weekly
        missingok
        notifempty
        compress
        delaycompress
        sharedscripts
        postrotate
                invoke-rc.d rsyslog rotate > /dev/null
        endscript
}

Заранее благодарю за любую помощь!

Я хочу повернуть и разделить маршрутизаторы и переключатели в журнале с отметкой даты под названием «rslog-YYYY-MM-DD», а также межсетевые экраны в журнале с отметкой даты под названием «fwlog-YYYY-MM-DD»

Для начала нужно разделить брандмауэр и переключатели с фильтрацией в rsyslog. То, как именно это сделать, зависит от используемой версии rsyslog. Со временем они немного изменили синтаксис конфигурации. Мои примечания ниже основаны на более раннем выпуске Rsyslog v3, который поставляется с Red Hat. Вы захотите проверить это по документации для вашего выпуска.

Для фильтра на основе свойств это будет выглядеть примерно так:

:fromhost-ip,isequal,"192.168.1.1"              /var/log/prd/fwlog
&~
:fromhost-ip,isequal,"192.168.1.254"            /var/log/prd/rslog
&~

Следующая часть - желаемое имя файла. Для этого вы объедините фильтрацию с шаблонами rsyslog, чтобы сгенерировать динамические имена файлов для ваших журналов.

$template Firewall,"/var/log/prd/fwlog-%$YEAR%-%$MONTH%-%$DAY%"
$template Switch,"/var/log/prd/rslog-%$YEAR%-%$MONTH%-%$DAY%"

:fromhost-ip,isequal,"192.168.1.1"              -?Firewall
&~
:fromhost-ip,isequal,"192.168.1.254"            -?Switch
&~

Я хочу сжать (gzip?) Журналы через 48 часов.

Последняя часть, сжатие, будет зависеть от ежедневного задания cron, которое сжимает файлы. (Где $ date равно $ today - 2.) Команда date уже имеет встроенный формат ГГГГ-ММ-ДД, поэтому мы будем использовать его. (%F)

gzip /var/log/prd/*-$(date --date='2 days ago' +%F)

Сначала вы должны немного больше узнать о возможностях системного журнала и его серьезности. Они представляют собой два значения, которые вы добавили как *.* в твоей конф.

http://wiki.gentoo.org/wiki/Rsyslog#Facility

http://wiki.gentoo.org/wiki/Rsyslog#Severity

Если вы можете настроить свои отправляющие демоны для использования другого средства и / или уровня серьезности для маршрутизаторов / коммутаторов из брандмауэра, вы сможете легко создавать правила фильтрации на своем центральном сервере журналов, чтобы разделять журналы на разные файлы, как вы ' он уточнил. Например, отправьте маршрутизаторы / коммутаторы как local1 и межсетевой экран как local2.

Помимо этих настроек, вы также можете отделить журналы коммутатора от журналов брандмауэра путем фильтрации по исходному IP-адресу. Свойство rsyslog называется fromhost-ip.

После того, как вы настроили входящий rsyslog, вам нужно будет точно настроить параметры logrotate. Я думаю, что для начала оба пути к файлам должны быть в одной строке. Чтобы сжать бревна за два дня, потребуются дополнительные усилия. Видеть:

https://stackoverflow.com/questions/4495476/logrotate-compression-files-modified-x-number-of-days

Вы можете протестировать с помощью logrotate -f /etc/logrotate.conf /etc/logrotate.d/rsyslog

Подробнее см .:

http://articles.slicehost.com/2010/6/30/understanding-logrotate-on-debian-part-1