воскресенье, 20 марта 2016 г.

Установка syslog-ng в CentOS7 и логирование syslog сообщений с Cisco VoIP

1. Установка и настройка syslog-ng на сервере

Устанавливаем syslog-ng
# yum -y install syslog-ng

Редактируем конфигурационный файл syslog-ng
# nano /etc/syslog-ng/syslog-ng.conf
Раскомментировать строку udp(ip(0.0.0.0) port(514)) в блоке 
source s_sys {
    system();
    internal();
     udp(ip(0.0.0.0) port(514));
};
Это разрешит сервису прослушивать порт 514 для принятия syslog сообщений по сети.
Добавляем в конфиг перед строчкой
@include "/etc/syslog-ng/conf.d/*.conf" следующие директивы:
destination r_syslog {
    file("/var/log/ciscovoip/$HOST/$YEAR/$MONTH/$DAY/syslog"
    template_escape(no)
    owner("root") group("root") perm(0777) dir_perm(0777) create_dirs(yes));
};
filter f_ciscovoip   {
        facility(local0);
};
log {
        source(s_sys);
        filter(f_ciscovoip);
        destination(r_syslog);
};
То же самое можно вынести в отдельный файл и поместить его в папку /etc/syslog-ng/conf.d/.
Блок destination r_syslog определяет, куда будут складываться сообщения SYSLOG и с какими правами файлов они будут создаваться.
Блок filter f_ciscovoip определяет, что считаны будут все сообщения маркированные меткой Local0 (эту метку в последующем зададим на источнике syslog сообщений – маршрутизаторе Cisco VoIP.
Последний блок связывает источник, фильтр и приемник. В качестве источника используется источник по умолчанию: s_sys.

Создаем папку, в которой будут складываться SYSLOG сообщения:
# mkdir /var/log/ciscovoip
# chmod 777 /var/log/ciscovoip

Запускаем syslog-ng и добавляем его в автозагрузку
# systemctl start syslog-ng.service
# systemctl enable syslog-ng.service

Удаляем сервис rsyslog, установленный по умолчанию
# yum -y remove rsyslog

В iptables добавляем разрешение прослушивать порт 514 на всех портах
# nano /etc/sysconfig/iptables
Добавляем в начало строчку:
-A INPUT -p udp -m udp --dport 514 -j ACCEPT
Затем:
# systemctl restart iptables.service

Проверка работы сервиса:
# netstat -ltupn | grep 514
# systemctl status syslog-ng.service


2. Настройка Cisco VoIP для отправки сообщений SYSLOG на сервер

Общие настройки syslog
Очищаем внутренний буфер сообщений:
# clear logging
Clear logging buffer [confirm]
#
Для того что бы syslog сообщения не валились во внутренний буфер и в консоль
#conf t
(config)# no logging buffered
(config)# no logging console
Очищаем внутренний буфер:
Определяем метку всех syslog сообщений и указываем на какой ip адрес слать syslog сообщения:
(config)# logging facility local0
(config)# logging  10.200.16.200
Устанавливаем уровень syslog сообщений (самый высокий)
(config)# logging trap debugging
После выхода из режима конфигурирования Cisco в каталоге /var/log/ciscovoip появиться ряд подкаталогов и создастся файл с первым SYSLOG сообщением о том, что произошел выход из консоли Cisco:
# cat /var/log/ciscovoip/10.200.255.9/2016/03/20/syslog
Mar 20 07:59:19 10.200.255.9 085567: Mar 20 08:59:18.821: %SYS-5-CONFIG_I: Configured from console by korolev on vty0 (10.10.69.141)

SYSLOG может успешно использоваться для сбора debug сообщений с Cisco. Для этого нужно только настроить, какие сообщения будут валиться при debug и они сразу будут отсылаться на syslog сервер.
Проверить, какой debug включен можно командной sh debugging. Например:
# sh debugging
CCSIP SPI: SIP Call Message tracing is enabled  (filter is OFF)
Выключить debug можно командой
# no debug all

Включение debug для сбора детальной информации о происходящем в системе
Для просмотра SIP сообщений достаточно включить:
# debug ccsip messages
Для более подробного показа событий вызова можно активировать следующий debug
# debug ccsip calls
# debug ccsip events
# debug ccsip translate
Или можно включить сразу все:
# debug ccsip all

Дополнительно можно просматривать сигнальные сообщения и задействованные в вызовах функции Cisco:
# debug voip ccapi inout
Можно посмотреть лог взаимодействия с DSP процессорами при установлении соединения:
# debug voip vtsp session
Можно смотреть лог поиска совпедений dial-peer-ов при маршрутизации вызовов:
# debug voice dialpeer all

Комментариев нет:

Отправить комментарий