Установка и настройка syslog-ng из исходников на примере EltexTAU.8.
Описание: Для исправления проблем с различными сетевыми устройствами, часто, крайне важно отслеживать системные события в логе устройства. Ведь именно там зачастую хранятся ответы на большинство диагностических вопросов. Но удобным логом в web интерфейсе обладают далеко не все устройства, да и устройств может быть очень много. Тут нам на помощь приходит удаленное централизованное логирование с помощью […]


Описание:
Для исправления проблем с различными сетевыми устройствами, часто, крайне важно отслеживать системные события в логе устройства. Ведь именно там зачастую хранятся ответы на большинство диагностических вопросов. Но удобным логом в web интерфейсе обладают далеко не все устройства, да и устройств может быть очень много. Тут нам на помощь приходит удаленное централизованное логирование с помощью syslog-ng.
Инструкция:
Syslog-ng является бесплатной реализацией протокола syslog для Unix и Unix-подобных систем с открытым исходным кодом. Syslog – стандартный клиент-сервер протокол регистрации сообщений. Клиент генерирует сообщения и отправляет на сервер, который их хранит, а также может проводить анализ. Каждое сообщение помечается кодом объекта с указанием типа программного обеспечения, генерирующего сообщение, и назначается уровень серьезности. Администраторы сетевых систем могут использовать syslog для аудита безопасности, проведения аналитики и отладки широкого диапазона устройств. Это могут быть VoIP-шлюзы, маршрутизаторы, принтеры, фактически любые устройства поддерживающие соответствующий протокол. Реализации системного журнала существуют для практически всех операционных систем.

Программных продуктов для централизованного логирования написано на данный момент значительное количество, выделим преимущества syslog-ng:
- Открытый исходный код
- Возможность использования протокола с шифрованием TLS.
- Возможность записи напрямую в базу данных
- Легко написать расширение с использованием языков C или Java / Lua / Perl / Python
- Большое разнообразие источников и направлений
- Высокопроизводительная многопоточная обработка
- Широкие возможности фильтрации, парсинга.
Приступаем к установке серверной части из исходников, в качестве сервера для хранения и анализа логов используем сервер телефонии под управление Linux CentOS 6.
Подключаемся к нашей станции PBX Asterisk через эмулятор терминала для различных протоколов удалённого доступа Putty в среде Windows. В данном примере подключаем по протоколу порт по умолчанию 22.

Вводим логин и пароль подключения от учетной записи с правами администратора, так как нам необходимо установить программу. В данном примере заходим под root – имеющим права на выполнение любых действий на сервере суперпользователь.

Рекомендуется отключить Selinux (Security-Enhanced Linux) — это набор исправлений для ядра и утилит Linux, обеспечивающих мощную, гибкую архитектуру с обязательным контролем доступа (MAC) в основных подсистемах ядра. Он обеспечивает расширенный механизм для обеспечения разделения информации на основе требований конфиденциальности и целостности, что позволяет устранять угрозы подделки и обход механизмов защиты приложений и позволяет ограничить ущерб, который может быть нанесен вредоносными или некорректными приложениями.
# sestatus
# sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config

Теперь перейдем в директорию хранения исходников и скачаем с помощью утилиты для загрузки файлов по сети wget самую свежую версию архива кодов syslog-ng с GitHub.
# cd /usr/src
# ls
# wget https://github.com/balabit/syslog-ng/releases/download/syslog-ng-3.18.1/syslog-ng-3.18.1.tar.gz

Далее распаковываем архив и удаляем его, переходим в распакованную папку исходников.
# tar xf syslog-ng-3.18.1.tar.gz
# rm syslog-ng-3.18.1.tar.gz
# cd syslog-ng-3.18.1
# ls

Проверяем зависимости и устанавливаем пакеты необходимые для компиляции syslog-ng. Эти пакеты доступны для большинства систем UNIX / Linux. Кроме того, вы также можете скачать исходные коды и скомпилировать их.
Для использования большинства возможностей syslog-ng требуется, чтобы перед сборкой из исходников были установлены следующие библиотеки:
# yum install -y gcc flex bison glib-devel autoconf pcre libcurl libnet libesmtp tcp_wrappers*

Запускаем скрипт конфигурирования, который сопоставляет библиотеки на компьютере пользователя с библиотеками , которые требуются программе перед компиляцией из исходного кода.
# ./configure –sysconfdir=/etc/syslog-ng

Далее компилируем и устанавливаем полученные библиотеки из исходных кодов и создадим конфигурационные файлы примеры.
# make
# make install
# ldconfig

Проверяем версию установленной программы:
# syslog-ng -V

Пробуем запустить программу.
# syslog-ng
Видим, что неправильно настроен конфигурационный файл плагинов, ошибка в модуле парсинга, но так как в данном примере он нам не нужен, удалим его, отредактировав файл с помощью любого обычного текстового редактора.

# nano /usr/local/share/syslog-ng/include/scl/default-network-drivers/plugin.conf

Приступаем к настройке программы, отредактировав файл syslog-ng.conf
# nano /etc/syslog-ng.conf
Каждый файл конфигурации syslog-ng должен начинаться со строки, содержащей информацию о версии syslog-ng. Далее добавляем включения include, позволяющие создавать отдельный файл конфигурации для разных устройств в каталоге conf.d и включать его в работу.
@version: 3.18
@include "/etc/conf.d/*.conf"
Создаем папку и файл конфигурации сбора логов для TAU.8
# mkdir /etc/conf.d
# nano /etc/conf.d/tau8.conf
Вносим следующие сроки:
#Источник сообщений. указываем протокол и порт
source s_udp {
udp(port(514));
};
#Назначение сообщений, директория сохранения
destination d_TAU8_GW {
file("/var/log/TAU8_gw.log");
};
#Фильтр, отсеиваиваем сообщения с TAU.8 указанием IP хоста
filter f_TAU8_GW {
host("192.168.32.146");
};
#Указание параметров логирования: источник, фильтр. назначение
log {
source(s_udp);
filter(f_TAU8_GW);
destination(d_TAU8_GW);
};

Чтобы применить параметры перезапускаем демон syslog-ng
# /etc/init.d/syslog-ng restart

Проверяем что порт 514 открыт в firewall и слушается операционной системой.
# iptables –L –nv

# netstat -l

Далее переходим к настройке системного логирования на шлюзе Eltex TAU-8.IP. Переходим на вкладку журнал и забиваем адрес нашего syslog сервера, не забываем указать порт, который прописали в конфигурационном файле.
Ниже активируем все галочки, чтобы записывать в лог максимум информации (ошибки, предупреждения, отладочная информация, информационные сообщения).
Указываем уровень трассировки sip для дебага, рекомендуется выставить 5. Нажимаем применить.

Проверяем что в данный момент лог пишется в файл на сервере:
# tail -f /var/log/TAU8_gw.log

Так как за длительный период времени сообщений может быть очень много, настроим ротацию (периодическое удаление старых логов). Создадим скрипт в директории /etc/logrotate.d со следующим содержанием:
# nano /etc/logrotate.d/TAU8_gw
/var/log/TAU8_gw.log {
# Указываем юзера и группу пользователя. Права группы определяют от кого будет запущен скрипт.
su root adm
# Указываем выполнять ежедневно
Daily
# Количество сохраняемых файлов логов
rotate 5
# Указываем сжимать логи
Compress
# Отсутствие файлов не является ошибкой
Missingok
# Проверяем работоспособность демона syslog-ng и перезапускаем его
postrotate
if /etc/init.d/syslog-ng status > /dev/null ; then \
/etc/init.d/syslog-ng reload > /dev/null; \
fi;
endscript
}
Добавляем наш скрипт ротации в cron:
# crontab –e
Вписываем строку:
0 0 * * * sudo logrotate -f /etc/logrotate.d/TAU8_gw
# tail -f /var/log/TAU8_gw.log
Настройка логгирования Eltex TAU.8 завершена теперь наблюдаем в логе, что происходит на шлюзе.

Остались вопросы?
Я - Виталий Шелест, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.