Салют! В статье расскажем о модуле для работы с лог-файлами Asterisk, который позволяет настроить какие события должны попадать в лог и в каких файлах он должен храниться. Итак, речь пойдёт о модуле Asterisk Logfile Settings.

Все лог-файлы нашей IP-АТС Asterisk, как известно, хранятся в папке /var/log/asterisk и мы можем просматривать их, не выходя из GUI FreePBX, благодаря модулю Asterisk Logfiles. Однако, по дефолту, вывод имеющихся лог файлов может не содержать много нужной и полезной информации, особенно это актуально в процессе траблшутинга.

Итак, давайте рассмотрим возможности данного модуля. Для этого открываем SettingsAsterisk Logfile Settings. Перед нами должно открыться следующее окно:

Модуль Asterisk Logfile Settings в FreePBXКак видно функционал данного модуля разбит по двум вкладкам: General Settings и Log Files


General Settings

На данной вкладке настраивается формат и представление лог-файлов:

  • Date Format — Параметр отображения даты и временной метки в логе. Для того, чтобы ознакомиться с другими возможными спецификаторами, предлагается ознакомиться с мануалом Linux strftime(3). Можно также добавить десятые 1%, сотые 2% и т.д. Формат даты по умолчанию ISO 8601 yyyy-mm-dd HH:MM:SS (%F %T).
  • Log Rotation — Здесь можно выбрать как будут храниться старые записи в логах, по умолчанию – они записываются в отдельный файл каждую ночь
    • Sequential — Записи будут переименовываться с определённым порядковым номером, у самого нового лога будет самый высокий порядковый номер
    • Rotate – Самый старый лог будет иметь самый высокий порядковый номер. Данная настройка стоит по умолчанию
    • Timestamp – Использовать временную метку вместо порядкового номера лог-файла.
  • Append Hostname — Определяет добавлять ли имя сервера к в записи лог-файла. Это полезно, если вы используете центральный сервер для хранения логов, куда поступает информация со всех остальных серверов. В этом случае, эта настройка может быть полезна чтобы идентифицировать источник информации. В противном случае, оставьте No
  • Log Queues — Включает логирование событий очередей, созданных с помощью модуля Queues. Создаёт для этого отдельный файл queue_log.

Log Files

В этой секции, собственно, и настраивается каким должен быть лог, какие события он должен логировать, насколько подробно и так далее. Здесь вы также можете создать свой собственный тип лог-файла и определить нужные вам параметры.

Опции настройки модуля Asterisk Logfile SettingsРассмотрим какие опции нам доступны:

  • Debug — Очень подробный тип сообщений, который будет занесён в лог. Рекомендуется устанавливать данный параметр только если вы столкнулись с какой либо проблемой и для её отладки вам нужна более подробная информация
  • DTFM — События, свидетельствующие о факте нажатия на кнопки телефона. Полезно при исследовании проблем с IVR и голосовой почтой
  • Error — Критические ошибки и проблемы
  • Fax — События передачи и приёма факсов
  • Verbose — События, отображающие пошаговое установление соединения и дальнейшую информацию на протяжении звонка. Полезно при анализе неправильно отрабатывающих настроек call flow
  • Warning — Возможные ошибки в синтаксисе дайлплана или call flow, не критично.

Давайте сделаем отдельный файл, который будет логгировать только события нажатия клавиш на телефоне и назовём его dtfm

Логирование DTMF в FreePBXТеперь позвоним на общий номер, на входящем маршруте которого стоит IVR. В данном IVR стоит правило – после нажатия на кнопку 5 соединить с неким внутренним номером.

А теперь посмотрим новый лог в модуле Asterisk Log Filesdtfm:

Результат работы модуля Asterisk Logfile Settings