Все лог-файлы нашей 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: