FreeBSD
Настройка получение логов с свичей dlink посредством syslog-ng
- Подробности
- Категория: FreeBSD
- Опубликовано 20.10.2013 15:03
- Автор: 1111
- Просмотров: 4920
Установка cd /usr/ports/sysutils/syslog-ng2
make install clean
Запуск /usr/local/etc/rc.d/syslog-ng start
create syslog host
error | warning | notice | informational | debug |
local3 | local4 | local5 | local6 | local7] | udp_port
disable]}
Посмотреть syslog на свиче
show syslog host
настройка свича
config system_severity trap information
config system_severity log information
create syslog host 1 ipaddress 192.168.17.15 severity informational facility local0 udp_port 514 state enable
# destinations
destination df_switch { file("/var/log/switch.log"); };
# log facility filters
filter f_switch { host("192.168.21.7"); };
log { source(src); filter(f_switch); destination(df_switch); };
Если нужно писать логи с нескольких свичей
Syslog-ng.conf
# destinations
destination df_switch { file("/var/log/switch.log"); };
destination df_switch1 { file("/var/log/switch1.log"); };
destination df_switch2 { file("/var/log/switch2.log"); };
destination df_switch3 { file("/var/log/switch3.log"); };
# log facility filters
filter f_switch1 { host("10.250.0.1"); };
filter f_switch { host("10.250.0.15"); };
filter f_switch2 { host("10.250.0.2"); };
filter f_switch3 { host("10.250.1.3"); };
log { source(src); filter(f_switch); destination(df_switch); };
log { source(src); filter(f_switch1); destination(df_switch1); };
log { source(src); filter(f_switch2); destination(df_switch2); };
log { source(src); filter(f_switch3); destination(df_switch3); };
Логи не могут записываться в один файл, поэтому пишутся в отдельные.
перезапуск syslog-ng
/usr/local/etc/rc.d/syslog-ng restart
Пример syslog для получения логов на сервер и почту.
destination df_192.168.20.3_CIOL34_CRIT { file("/var/log/switch/192.168.20.3_CIOL34_CRIT.log"); };
destination d_mailto_CRIT { program("/bin/syslog-mail_CRIT"); };
filter f_192.168.20.3_CIOL34_CRIT { host("192.168.20.3"); };
filter f1_192.168.20.3_CIOL34_CRIT { match("CRIT"); };
log { source(src); filter(f_192.168.20.3_CIOL34_CRIT); filter(f1_192.168.20.3_CIOL34_CRIT); destination(df_192.168.20.3_CIOL34_CRIT); };
log { source(src); filter(f_192.168.20.3_CIOL34_CRIT); filter(f1_192.168.20.3_CIOL34_CRIT); destination(d_mailto_CRIT); };
destination df_192.168.20.3_CIOL34_WARN { file("/var/log/switch/192.168.20.3_CIOL34_WARN.log"); };
destination d_mailto_WARN { program("/bin/syslog-mail_WARN"); };
filter f_192.168.20.3_CIOL34_WARN { host("192.168.20.3"); };
filter f1_192.168.20.3_CIOL34_WARN { match("WARN"); };
log { source(src); filter(f_192.168.20.3_CIOL34_WARN); filter(f1_192.168.20.3_CIOL34_WARN); destination(df_192.168.20.3_CIOL34_WARN); };
log { source(src); filter(f_192.168.20.3_CIOL34_WARN); filter(f1_192.168.20.3_CIOL34_WARN); destination(d_mailto_WARN); };
создаем скрипт /bin/syslog-mail_CRIT с наполнением
#!/usr/bin/perl
# file: syslog-mail_CRIT
# spec: reads a line of input and mails it, designed to be a destination for syslog-ng
use strict;
$0='syslog-mail_CRIT';
$|=1;
while (my $msg =
{
my ($pri,$date,$host,$esrc,$evid,$emsg) = $msg =~ m/(\w{3} \d{1,2} \d{2}:\d{2}:\d{2}) ([\w\.\-]+) ([\w ]+)\[(\d+)\] (.+)/o;
open MAILER,'| mail Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. '">Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. ' ';
print MAILER "CRIT!!! \nInfo:\n$msg";
# print MAILER "Subject: syslog: $host $esrc $evid\n\n$emsg\n----\n$msg";
close MAILER;
}
и syslog-mail_WARN с наполнением
#!/usr/bin/perl
# file: syslog-mail_WARN
# spec: reads a line of input and mails it, designed to be a destination for syslog-ng
use strict;
$0='syslog-mail_WARN';
$|=1;
while (my $msg =
{
my ($pri,$date,$host,$esrc,$evid,$emsg) = $msg =~ m/(\w{3} \d{1,2} \d{2}:\d{2}:\d{2}) ([\w\.\-]+) ([\w ]+)\[(\d+)\] (.+)/o;
open MAILER,'| mail Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. '">Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. ';
print MAILER "WARN!!! \nInfo:\n$msg";
# print MAILER "Subject: syslog: $host $esrc $evid\n\n$emsg\n----\n$msg";
close MAILER;
}
Даем права на выполнение скриптов
chmod 755 syslog-mail_CRIT
chmod 755 syslog-mail_WARN