Включение логов full и security в Asterisk 13 и ежедневная ротация логов.
В Asterisk правила логирования определяются в файлах
1) /etc/asterisk/asterisk.conf - содержит переменную astlogdir, которая указывает местоположение логов asterisk (по умолчанию - /var/log/asterisk)
2) /etc/asterisk/logger.conf. В этом файле можно задать различные опции для ведения логов, а также указать, какие виды информации в эти логи сохранять.
Настраиваем полное логгирование в Asterisk (full).
Открываем файл конфигурации функции логирования logger.conf
# nano /etc/asterisk/logger.conf
Раскомментируем / прописываем строчку в блоке [logfiles]
security => security
Данная строчка с security доступна в Asterisk c 10ой версии и выше.
Далее прописываем / расскомментируем
full => notice,warning,error,debug,verbose,dtmf,fax
Раскомментируем / прописываем строчку в блоке [general] для правильного отображения времени следующую строчку:
dateformat=%F %T
По умолчанию время пишется вот так:
[Apr 28 11:23:08]
После задания формата будет писаться так:
[2016-04-28 11:25:16]
Сохраняемся и выходим из файла.
Перезапускаем службу логов в Asterisk:
# asterisk -rx 'logger reload'
Смотрим какие логи сейчас включены командой:
# asterisk -rx 'logger show channels'
Ротация логов Asterisk
Что бы логи Asterisk не разрастались нужно включить ротацию логов
В папке /etc/logrotate.d создаём файл asterisk
# touch /etc/logrotate.d/asterisk
Редактируем его:
# nano /etc/logrotate.d/asterisk
Содержимое файла:
/var/log/asterisk/security
/var/log/asterisk/messages
/var/log/asterisk/full {
missingok
daily
noolddir
nocreate
nocopytruncate
rotate 3
size=10M
postrotate
/usr/sbin/asterisk -rx 'logger reload' > /dev/null 2> /dev/null
endscript
}
Если Asterisk младше 10ой версии (1.8, 1.6), то строчку
/var/log/asterisk/security
нужно убрать.
Параметры здесь:
missingok – отсутствие файла не является ошибкой
daily – выполнять каждый день
noolddir – держать все файлы в одном и том же каталоге
nocreate - не создавать новый log файл. Это сделает сам Asterisk.
nocopytruncate – будет выполнено переименование старого файла логов и создание нового.
nocreate – не создавать нового файла логов
rotate 3 – количество хранимых фрагментов
size=10M – ротация будет проведена, только если размер файла будет больше 10Мбайт.
Между postrotate и endscript расположены команды интерпретатора sh(1), исполняемые непосредственно после ротации
Для проверки изменений нужно запустить команду (никаких действий с логами не будет выполнено):
# logrotate -d /etc/logrotate.conf
Перезапускать службу не нужно. Утилита logrotate запускается по умолчанию через приложение cron.
Комментариев нет:
Отправить комментарий