Огранизация сервера syslog

Примеры из жизни как развернуть и настроить систему мониторинга zabbix
Ответить
RomA
Сообщения: 358
Зарегистрирован: 05 авг 2008, 14:53
Контактная информация:

Огранизация сервера syslog

Сообщение RomA »

Предыстория:
Порой случается так, что оборудование умерло, и посмотреть что было не реально. Специально для таких случаев многое оборудование умеет хранить сообщения на удалённом сервер логов.
Мне же надо было обрабатывать события с разного оборудования в одном месте, что бы иметь целостную картину происшествий

Лиетратура:
В основном это http://www.lissyara.su/articles/freebsd ... co+syslog/ а так же активнй поиск в internet + tcpdump

Реализация:
Для того, что бы не изобретать велосипед было решено использовать уже существующий и работающий сервер syslog - он есть на каждой машине с FreeBSD но только случает не всю сеть, а локальную машину. Потому первое что делаем - это разрешаем ему слушать всё вокруг - для этого в /etc/rc.conf добавляем следующие строки

Код: Выделить всё

syslogd_enable="YES"
syslogd_flags="-a 192.168.0.0/16:*"
Таким образом мой сервер слушает всю сеть 192.168.* и syslog сообщения могут приходить с любого порта. Далее я правил файл /etc/syslog.conf в котором прописал свои железки

Код: Выделить всё

#начало файла
+@
#
# тут тело - то что уже было
#
# ну и в конец добавляем
!
+msk.cisco.stniva.ru
local2.*      /var/log/cisco/192_168_28_1.log
+gw.cisco.stniva.ru.0.168.192.in-addr.arpa
local2.*      /var/log/cisco/192_168_0_10.log
+stniva.cisco.stniva.ru
local2.*      /var/log/cisco/192_168_0_1.log
То есть в самое начало мы добавляем +@ потом не трогаем что было уже написано до нас и в конец дописываем свои железки после ! - для того что бы каждая железка писала в свой персональный лог мы ставим + и пишем ИП своей железки. В случае если у нас работает обратная зона DNS - пишем имя.
Так же не забываем создать логфайл и дать на него соответствующие права, например так

Код: Выделить всё

mkdir /var/log/cisco
touch /var/log/cisco/192_168_28_1.log
chmod 644 /var/log/cisco/192_168_28_1.log
После всех преобразований надо перестартовать сервер

Код: Выделить всё

killall -9 syslogd && syslogd
Вот и всё - и идеале это всё работает и всё хорошо...

Траблешотинг:
Редко всё бывает совсем идеально. Если вы всё настроили, но у вас нет ничего в логах можно посмотреть - идут ли к вам вообще сообщения - для этого на сервере где стоит syslog надо запустить следующую команду

Код: Выделить всё

tcpdump host 192.168.0.18
ИП, естественно, должен быть вашей железяки, которая должна отправлять вам логи. Если она вам их отправляет вы увидите что-то типа

Код: Выделить всё

20:39:46.070136 IP msk.cisco.stniva.ru.57678 > stat.stniva.ru.syslog: SYSLOG local2.notice, length: 139
20:39:46.070745 IP msk.cisco.stniva.ru.57678 > stat.stniva.ru.syslog: SYSLOG local2.notice, length: 111
20:39:47.065730 IP msk.cisco.stniva.ru.57678 > stat.stniva.ru.syslog: SYSLOG local2.info, length: 120
Тут ключевое слово syslog - если вы его увидели, значит к вам сообщения приходят. Тогда давайте смотреть почему они не подпадают под наши правила - для этого давайте разрешим приём любых сообщений сервером - в файл /etc/syslog.conf дописываем такое правило

Код: Выделить всё

+*
*.*/var/log/cisco/all.log
Перестартуем сервер логов

Код: Выделить всё

killall -9 syslogd && syslogd
и смотрим в файлик что у нас там будет, делая выводы почему не попадает под наш фильтр

Советы:
1) На некоторых железках (свитчи) я столкнулся с тем, что они не отправляли логи пока явно не указал через какой интерфейс их отправлять
2) local2.* - это я выбрал для себя что бы различалось - этот локал может меняться от 0 до 7 - например я ставлю для разных групп устройств разные local
3) Ту +@ что мы добавили нельзя коментить # - перестаёт работать - надо удалять - это на случай если решите вернуть как было
4) Ну и главное - оно работает - если у вас не получилось - вы что-то не так делаете! Я вот с этим просидел 2 дня )))))
RomA
Сообщения: 358
Зарегистрирован: 05 авг 2008, 14:53
Контактная информация:

NetPing - наcтройка syslog

Сообщение RomA »

Это конктетный пример корректный только для меня!!! Вы должны читать предыдущий пост и подставлять свои значения

alarm.stniva.ru - это имя узла в обратной зоне
/syslog/192_168_0_21.log - создал специально для этого дела

Код: Выделить всё

+alarm.stniva.ru
*.*                    /var/log/syslog/192_168_0_21.log
Презеапускаем syslog командой killall -HUP syslogd

На самом же устройстве были сделаны следующие настройки:
1.jpg
1.jpg (29.95 КБ) 6302 просмотра
RomA
Сообщения: 358
Зарегистрирован: 05 авг 2008, 14:53
Контактная информация:

APC ATS и syslog

Сообщение RomA »

Это конктетный пример корректный только для меня!!! Вы должны читать предыдущий пост и подставлять свои значения

220switch.stniva.ru - это имя узла в обратной зоне
/syslog/192_168_0_21.log - создал специально для этого дела

Код: Выделить всё

+220switch.stniva.ru
local3.*                 /var/log/syslog/192_168_0_12.log
Презеапускаем syslog командой killall -HUP syslogd

На самом же устройстве были сделаны следующие настройки:
1.jpg
1.jpg (68.47 КБ) 6302 просмотра
2.jpg
2.jpg (81.66 КБ) 6302 просмотра
Ответить