Настройка коммутаторов

CISCO

Archive                                 // Archive the configuration
log config                              // Logging changes to the running configuration
    logging enable                      // Enable the config logger
    logging size 350                    // Maximum number of logged commands that will be kept by the config log
    notify syslog contenttype plaintext // Type of the syslog message content
    hidekeys                            // Suppress output (e.g. passwords) when displaying logged commands
logging <Адрес syslog сервера>

Настройка сервера

Настройка RSyslog

Для сборки логов будем использовать rsyslog. Для начала нужно включить прием логов с сетевых устройств.

# Read syslog messages from UDP
module(load="imudp")
input(type="imudp" port="514")

# Read syslog messages from TCP
module(load="imtcp")
input(type="imtcp" port="514")

После этого настроить шаблон для сортировки лог сообщений.

$template CISCOFILENAME,"/var/log/cisco/%fromhost-ip%/%syslogseverity-text%.log"
:fromhost-ip, startswith, "10.2.248." ?CISCOFILENAME
:fromhost-ip, startswith, "10.2.20." ?CISCOFILENAME
:fromhost-ip, startswith, "10.2.248." /var/log/cisco/all.log
:fromhost-ip, startswith, "10.2.20." /var/log/cisco/all.log
:fromhost-ip, isequal,    "10.2.246.1" ?CISCOFILENAME
:fromhost-ip, isequal,    "10.2.251.3" ?CISCOFILENAME
:fromhost-ip, isequal,    "10.2.246.1" /var/log/cisco/all.log
:fromhost-ip, isequal,    "10.2.251.3" /var/log/cisco/all.log
& ~
Тут задаются подсети с которых следует сортировать логи, и применяются шаблоны для подсетей и конкретных хостов.

Настройка Logrotate

Текстовые логи могут занимать ощутимое место на диске сервера и при болиших рамерах текстовых файлов будет сложнее их анализировать при необходимости. Для того чтобы избежать быстрого разростания логов настраивается ротация (разбиение) или архивания логов. Для этого используется logrotate который по заданным правилам производит упаковку логов тем самым сокращая занимаемое ими место. Для нашей конфигурации сислог сервера используются такие правила ротации логов.

/var/log/cisco/all.log
{
    daily
    compress
    dateext
    maxage 365
    rotate 99
    missingok
    notifempty
    create 640 cisco cisco
    nodelaycompress
    sharedscripts
    postrotate
            /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

/var/log/cisco/*/*.log {
    daily
    compress
    dateext
    maxage 365
    rotate 99
    missingok
    notifempty
    create 640 cisco cisco
    nodelaycompress
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}