Салют! В статье расскажем о модуле для работы с лог-файлами Asterisk, который позволяет настроить какие события должны попадать в лог и в каких файлах он должен храниться. Итак, речь пойдёт о модуле Asterisk Logfile Settings.
Все лог-файлы нашей IP-АТС Asterisk, как известно, хранятся в папке /var/log/asterisk
и мы можем просматривать их, не выходя из GUI FreePBX, благодаря модулю Asterisk Logfiles. Однако, по дефолту, вывод имеющихся лог файлов может не содержать много нужной и полезной информации, особенно это актуально в процессе траблшутинга.
Итак, давайте рассмотрим возможности данного модуля. Для этого открываем Settings → Asterisk Logfile Settings. Перед нами должно открыться следующее окно:
Как видно функционал данного модуля разбит по двум вкладкам: 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
В этой секции, собственно, и настраивается каким должен быть лог, какие события он должен логировать, насколько подробно и так далее. Здесь вы также можете создать свой собственный тип лог-файла и определить нужные вам параметры.
Рассмотрим какие опции нам доступны:
- Debug - Очень подробный тип сообщений, который будет занесён в лог. Рекомендуется устанавливать данный параметр только если вы столкнулись с какой либо проблемой и для её отладки вам нужна более подробная информация
- DTFM - События, свидетельствующие о факте нажатия на кнопки телефона. Полезно при исследовании проблем с IVR и голосовой почтой
- Error - Критические ошибки и проблемы
- Fax - События передачи и приёма факсов
- Verbose - События, отображающие пошаговое установление соединения и дальнейшую информацию на протяжении звонка. Полезно при анализе неправильно отрабатывающих настроек call flow
- Warning - Возможные ошибки в синтаксисе дайлплана или call flow, не критично.
Давайте сделаем отдельный файл, который будет логгировать только события нажатия клавиш на телефоне и назовём его dtfm
Теперь позвоним на общий номер, на входящем маршруте которого стоит IVR. В данном IVR стоит правило – после нажатия на кнопку 5 соединить с неким внутренним номером.
А теперь посмотрим новый лог в модуле Asterisk Log Files - dtfm: