2 минут
Сбор логов с коммутаторов
Настройка коммутаторов
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
}