В статье речь пойдет о логах в Астериск. Существует встроенный модуль для FreePBX - Asterisk Logfiles Module, который позволяет просмотреть самые недавние события.
Просмотр логов с помощью FreePBX
Модуль можно найти по следующему пути: Reports – Asterisk Logfiles.
Однако, данный модуль мало полезен, если требуется проверить не только недавние логи, но и недельной, а то и месячной давности. Если появилась такая нужда, требуется подключится к вашей АТС по SSH, например, используя терминальный клиент PuTTy. Кроме того, если есть физический доступ к серверу, можно использовать и его. Почему проще использовать терминальный клиент? Ответ прост – PuTTy поддерживает операции копироватьвставить, что многократно упрощает работу.
Просмотр логов через консоль
Итак, порядок действий для доступа к логам Астериск:
- Вход на АТС, используя рутовый логин и пароль. После успешного входа вводится команда
cd /var/log/asterisk
- Для вывода списка лог-файлов нужно ввести команду
ls –l
Обычно, все файлы называются «full-DATE», где DATE – дата логирования.
Если требуется посмотреть и отсеять сегодняшний лог-файлы, нужно ввести nano full
. Данная команда откроет лог-файл с помощью текстового редактора nano.
Nano сразу же продемонстрирует список команд для управлением текстовым редактором
Для просмотра можно использовать клавиши Page Up и Page Down, CTRL-W для поиска и CTRL-X для выхода.
Соответственно, для открытия конкретного файла, нужно написать nano full-20160629
Если вы случайно внесли изменения и пересохранили лог-файл, то Астериск прекратит логирование сегодняшнего дня. Для исправления данной проблемы необходимо запустить следующую команду amportal restart
. Данная команда будет ждать 120 секунд для завершения текущих вызовов, и по прошествии 120 секунд все вызовы будут принудительно завершены.
Так же возможно использовать команду Linux grep, к примеру для вывода в текущем лог-файле всех событий связанных с недоступным транком - grep “is now” full
Если результатов слишком много, есть возможность скопировать их в новый файл - grep "is now" full > newlogfile
Для его просмотра можно использовать уже знакомый редактор nano - nano newlogfile
Удалить данный файл можно командой - rm tempfile
Так же есть возможность просматривать логи в реальном времени - asterisk –r
Для выхода используется команда - exit
И ещё один способ просмотра лог-файлов в реальном времени – tail.Делает это так: cd /var/log/asterisk tail –f full
Для выхода нужно нажать CTRL-C.