Меню

Asterisk logger conf настройка



Логи asterisk

Какие логи есть у asterisk?

В конфигурационном каталоге asterisk (по умолчанию /etc/asterisk) находится несколько файлов, отвечающих (в частности) за логи:

  1. файл asterisk.conf содержит переменную astlogdir, которая указывает местоположение логов asterisk (по умолчанию — /var/log/asterisk)
  2. файл конфигурации логов — logger.conf. В нем можно задать различные опции для ведения логов, а также указать, какие виды информации в эти логи сохранять. Для каждого вида информации Вы можете предусмотреть свой файл логов.

Настройка ведения логов asterisk

В первую очередь имеет смысл настроить ведение логов asterisk, чтобы информация из логов была пригодна для программ типа fail2ban. Для этого в каталоге конфигурации asterisk (по умолчанию это /etc/asterisk) найдите файл logger.conf и внесите в него следующие изменения: раскомментируйте (уберите точку с запятой в начале строки):

dateformat=%F %T ; ISO 8601 date format

Это нужно для того, чтобы asterisk писал в логи дату в правильном формате:
год-месяц-день часы:минуты:секунды
например:
1999-12-31 23:59:59

Начиная с 10-й версии asterisk, Вы можете включить Asterisk Security Framework. Для этого в файле logger.conf найдите и раскомментируйте (или добавьте) строку:

В этом случае информация Asterisk Security Framework (виды информации указаны справа) будет писаться в файл по имени security (название файла указано слева). Разумеется, можно добавить эту информацию и в основной лог (по умолчанию это файл messages), например:

messages => notice,warning,error,verbose,dtmf,security

После внесения изменений необходимо, чтобы asterisk перечитал конфигурацию. Для этого можно либо перезагрузить сервис астериска, либо только конфигурацию логов (команда logger reload из asterisk CLI).

После этого в папке логов asterisk (по умолчанию /var/log/asterisk) появится файл с именем security. Не забудьте настроить ротацию логов для этого файла (так же, как и для остальных логов asterisk)!

Настройка ротации логов

Для любых логов должна осуществляться ротация, т.е. удаление устаревших файлов. Ниже приводится пример ротации логов. Почитать же про саму ротацию логов и как ее настраивать в разных версиях linux, Вы можете в разделе «логи linux».

В папке /etc/logrotate.d создайте файл asterisk (можно без расширения). В этот файл впишите:

Если у Вас asterisk версии менее 10-й (1.8, или 1.6 и т.д.), то удалите строку /var/log/asterisk/security

В данной конфигурации логи security и messages (из папки /va/log/asterisk) будут переименовываться каждую неделю (или если размер логов превысит 100 мегабайт). Логи старее 1 года (точнее, 53-х недель: год + 1 неделя) будут удаляться. Подробное описание каждого из параметров см. в разделе «логи linux».

Источник

Asterisk logger.conf

Настройка логов Asterisk. В данном файле настраивается журналирование событий Asterisk в файлы, консоль и syslog linux. Для применения настроек выполните команду «logger reload» в консоли (CLI ) Asterisk.

Глобальные настройки логов

[general]

dateformat

настройка отображения даты и времени в сообщениях отладки (debug) в данном примере использован ISO 8601 формат даты (yyyy-mm-dd HH:MM:SS) См. также strftime(3) Linux спецификацию формата.
Секундные доли могут быть использованы в данном поле. Используйте %1q для отображения десятых или %2q для отображения сотых долей и тд.

use_callids

Сохранять Asterisk Unique Call-Id (по умолчанию yes)

appendhostname

Добавить имя хоста к имени лог файла.

queue_log

Регистрировать события очереди. (по умолчанию yes).

queue_log_to_file

Регистрировать события очереди в файл (по умолчанию no). События очереди могут сохраняться в реалтайм хранилище (базе данных). Сохранять события и в файл тоже, несмотря на то, что в extconfig.conf существует конфигурация типа: queue_log ⇒ odbc,asterisk

queue_log_name

Задайте имя файла лога очереди (по умолчанию queue_log)

queue_log_realtime_use_gmt

Когда используется Realtime лог очереди,
сохранять GMT дату, а не локальное время. По умолчанию ‘no’.

Ротация логов Asterisk

Выполнить команду Linux после ротации. В примере, предпоследний файл с порядковым номером 2 (стратегия rotate) будет заархивирован.

Источник

Asterisk logger conf настройка

Файл logger.conf определяет тип и детальность сообщений, записываемых в файлы журналов в папке /var/log/asterisk/.
Состоит из двух разделов: [general] и [logfile].
[general]
Параметры раздела [general] используются для настройки вывода журналов (их можно и не задавать, поскольку настроек по умолчанию вполне достаточно в большинстве случаев). Однако, иногда это просто необходимо для отладки системы.

С помощью параметра dateformat можно определить, как именно должны выглядеть временные метки:
dateformat=%F %T

Чтобы имена файлов журналов начинались с имени хоста вашей системы, задайте параметр appendhostname=yes. Это может быть полезным, если файлы журнала предоставляются несколькими системами.

Что бы не протоколировать события из своих очередей, можно задать параметр queue_log=no.

event_log=no, чтобы не включать общие события в лог.

[logfiles]
Раздел [logfiles] определяет тип информации которая будет протоколироваться.
Протоколируется разнообразнейшая информация, поэтому желательно распределить записи журналов в различные файлы. Общий формат строк раздела [logfiles] – имяфайла => уровни, где имяфайла – имя файла для хранения протоколируемой информации, а уровни – типы сохраняемой информации.
Раздел [logfiles] может выглядеть, например, так:
[logfiles]
console => notice,warning,error
messages => notice,warning,error

Читайте также:  Инструкция по настройки кабинет налогоплательщика

debug — Активация отладки обеспечивает намного более детальный вывод о том, что происходит в системе. Например, когда активирована отладка, можно увидеть, какие DTMF-тоны вводят абоненты при доступе к своим ящикам голосовой почты. Информация отладки не должна протоколироваться только при фактической отладке чего-либо, поскольку в этом случае файлы журналов очень быстро достигнут огромных размеров.

verbose — Подключившись к консоли Asterisk и задав уровень детальности 3 и выше, в консоли можно увидеть вывод, информирующий о том, что делает Asterisk. Добавив строку verbose_log => verbose в файл logger.conf, этот вывод можно сохранять в файл журнала. При большой детальности сообщений жесткий диск заполнится очень быстро.

notice — Извещение используется для информирования о малейших изменениях системы.

warning — Предупреждение формируется, при неудачном выполнении каких либо действий. Такие типы ошибок, как правило, не являются фатальными, но требуют рассмотрения, особенно если их много.

error — Ошибки часто бывают связаны с нехваткой памяти. Как правило это свидетельствует о серьезных проблемах, которые могут привести к сбою в работе системы.

Пример файла:
[general]

[logfiles]
console => notice,warning,error,dtmf
messages => notice,warning,error
;verbose => notice,warning,error,verbose

Источник

Asterisk 07 Monitoring and logging

Monitoring and logging это то, к чему прибегают для решения проблем.
Параметры Monitoring and logging задаются в файле
/etc/asterisk/logger.conf

При такой конфигурации логи будут валиться в файлы:
/var/log/asterisk/messages
/var/log/asterisk/verbose

Также логи будут валиться в консоль (asterisk -r), если её открыть.

Для применения изменений в файле logger.conf:
asterisk -rx ‘logger reload’

*CLI> logger reload

Проверка настроек логов

CLI> logger show channels

Уровни логгинга

Type Description
notice You will see a lot of these during a reload, but they will also happen during normal call flow. A notice is simply any
event that Asterisk wishes to inform you of.
warning A warning represents a problem that could be severe enough to affect a call (including disconnecting a call because
call flow cannot continue). Warnings need to be addressed.
error Errors represent significant problems in the system that must be addressed immediately.
debug Debugging is only useful if you are troubleshooting a problem with the Asterisk code itself. You would not use
debug to troubleshoot your dialplan, but you would use it if the Asterisk developers asked you to provide logs for
a problem you were reporting. Do not use debug in production, as the amount of detail stored can fill up a hard
drive in a matter of days
verbose This is one of the most useful of the logging types, but it is also one of the more risky to leave unattended, due to
the possibility of the output filling your hard drive
dtmf Logging DTMF can be helpful if you are getting complaints that calls are not routing from the auto attendant
correctly.
fax This type of logging causes fax-related messages from the fax technology backend (res_fax_spandsp or
res_fax_digium) to be logged to the fax logger.
* This will log EVERYTHING (and we mean everything). Do not use this unless you understand the implications of
storing this amount of data. It will not end well

logger.conf в нормальной работе

Во избежание переполнения диска, при нормальной работе рекомендуется следующий файл logger.conf:

logger.conf при дебаге

Для дебага из консоли или из файла мы добавим оператор debug:

Для просмотра verbose из консоли нужно дать команду:
*CLI> core set verbose 10

Анализ звонка

В Asterisk 11 каждая строка дебага ассоциированная с данным звонком включает в себя call ID.
Поэтому для анализа нужно дать команду типа:

cat /var/log/asterisk/messages | grep C-00000005

Источник

Asterisk АТС, инструкция по настройке

IP-АТС Asterisk умеет все то же, что и традиционная АТС, плюс поддерживает актуальные для бизнеса VoIP-протоколы: голосовую почту, конференц-связь, центр обработки звонков, интерактивное меню, хранение записей. Рассказываем, как настроить с нуля базовый функционал «Астериск» АТС и получить рабочий сервер компьютерной телефонии.

Для примера настройки Asterisk возьмем офис с такими характеристиками:

  • 3 отдела, в которых работают 25 сотрудников;
  • используются трехзначные телефонные номера;
  • услуги предоставляет один SIP-провайдер.

Не советуем устанавливать Asterisk из репозитория, так как при данной установке может установиться не та версия asterisk и необходимых к ней зависимостей. В данном случае используем установку Asterisk из исходников.

Читайте также:  Настройки в dota 2 на минимальные настройки

В разных операционных системах (Cent Os, Ubunty и др.) отличаются команды и необходимые зависимости.

Установка Asterisk из исходников

  1. Сборка и установка необходимых зависимостей и пакетов.

Вначале нужно установить дополнительные пакеты, которые необходимы для установки и работы Asterisk. Без части из этих пакетов Asterisk вообще откажется устанавливаться (к примеру, если отсутствует gcc). Без некоторых пакетов Asterisk установится и даже будет работать, однако часть функционала будет недоступна. Например, пакет bison необходим для обработки выражений в файле extensions.conf. Еще пример: libnewt необходим для работы интерфейса управления astman. Для сервера Asterisk он не требуется, но без этого пакета у Вас не будет приложения astman, которое является отдельной программой. В нашем приводиться пример установки Asterisk 13 в системе Cent OS 6.9:

yum -y install gcc gcc-c++ make ncurses-devel libxml2-devel sqlite-devel bison kernel-headers kernel-devel openssl openssl-devel newt newt-devel flex curl sox binutils

Для 12-13 версии Asterisk требуется установка пакетов uuid и janson. Для установки библиотеки uuid в RHEL / Centos выполните команду:

yum -y install libuuid-devel

. Для установки библиотеки jansson в RHEL / Centos выполните команду:

yum -y install jansson-devel (предварительно требуется установка репозитория epel: yum install epel-release )

После обновляем систему до последней версии командой yum update –y и перегружаем ее: reboot

  1. Установка и установка их исходников

Чтобы получить эффективное и рабочее решение, рекомендуем: выполняйте установку и настройку Asterisk в чистом виде, без дополнительных плат расширения и модемов. Так вы получите программную АТС, которую можно легко переносить с одного сервера на другой. Для этого необходимо установить Asterisk с нуля, инсталлировать pjproject с jansson, обновить систему и отключить SELinux.

Для начала отключим Selinux. Для этого заходим /etc/selinux/config и ставим: SELINUX=DISABLED.

Также выключаем FireWall (iptables):

  1. Проверка статуса: service iptables status;
  2. Отключение: service iptables stop
  3. Отключение из автозагрузки: chkconfig iptables off
  4. Перегружаем систему: reboot

Скачайте и инсталлируйте pjproject:

git clone git://github.com/asterisk/pjproject pjproject

./configure –libdir=/usr/lib64 –prefix=/usr –enable-shared –disable-sound –disable-resample

Источник

Asterisk logger conf настройка

GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.

asterisk / configs / samples / logger.conf.sample

;
; Logging Configuration
;
; In this file, you configure logging to files or to
; the syslog system.
;
; «logger reload» at the CLI will reload configuration
; of the logging system.
[general]
;
; Customize the display of debug message time stamps
; this example is the ISO 8601 date format (yyyy-mm-dd HH:MM:SS)
;
; see strftime(3) Linux manual for format specifiers. Note that there is also
; a fractional second parameter which may be used in this field. Use %1q
; for tenths, %2q for hundredths, etc.
;
;dateformat=%F %T ; ISO 8601 date format
;dateformat=%F %T.%3q ; with milliseconds
;
;
; This makes Asterisk write callids to log messages
; (defaults to yes)
;use_callids = no
;
; This appends the hostname to the name of the log files.
;appendhostname = yes
;
; This determines whether or not we log queue events to a file
; (defaults to yes).
;queue_log = no
;
; Determines whether the queue_log always goes to a file, even
; when a realtime backend is present (defaults to no).
;queue_log_to_file = yes
;
; Set the queue_log filename
; (defaults to queue_log)
;queue_log_name = queue_log
;
; When using realtime for the queue log, use GMT for the timestamp
; instead of localtime. The default of this option is ‘no’.
;queue_log_realtime_use_gmt = yes
;
; Log rotation strategy:
; none: Do not perform any logrotation at all. You should make
; very sure to set up some external logrotate mechanism
; as the asterisk logs can get very large, very quickly.
; sequential: Rename archived logs in order, such that the newest
; has the highest sequence number [default]. When
; exec_after_rotate is set, $ will specify
; the new archived logfile.
; rotate: Rotate all the old files, such that the oldest has the
; highest sequence number [this is the expected behavior
; for Unix administrators]. When exec_after_rotate is
; set, $ will specify the original root filename.
; timestamp: Rename the logfiles using a timestamp instead of a
; sequence number when «logger rotate» is executed.
; When exec_after_rotate is set, $ will
; specify the new archived logfile.
;rotatestrategy = rotate
;
; Run a system command after rotating the files. This is mainly
; useful for rotatestrategy=rotate. The example allows the last
; two archive files to remain uncompressed, but after that point,
; they are compressed on disk.
;
; exec_after_rotate=gzip -9 $.2
;
;
; For each file, specify what to log.
;
; For console logging, you set options at start of
; Asterisk with -v for verbose and -d for debug
; See ‘asterisk -h’ for more information.
;
; Directory for log files is configures in asterisk.conf
; option astlogdir
;
; All log messages go to a queue serviced by a single thread
; which does all the IO. This setting controls how big that
; queue can get (and therefore how much memory is allocated)
; before new messages are discarded.
; The default is 1000
;logger_queue_limit = 250
;
;
[logfiles]
;
; Format is:
;
; logger_name => [formatter]levels
;
; The name of the logger dictates not only the name of the logging
; channel, but also its type. Valid types are:
; — ‘console’ — The root console of Asterisk
; — ‘syslog’ — Linux syslog, with facilities specified afterwards with
; a period delimiter, e.g., ‘syslog.local0’
; — ‘filename’ — The name of the log file to create. This is the default
; for log channels.
;
; Filenames can either be relative to the standard Asterisk log directory
; (see ‘astlogdir’ in asterisk.conf), or absolute paths that begin with
; ‘/’.
;
; An optional formatter can be specified prior to the log levels sent
; to the log channel. The formatter is defined immediately preceeding the
; levels, and is enclosed in square brackets. Valid formatters are:
; — [default] — The default formatter, this outputs log messages using a
; human readable format.
; — [plain] — The plain formatter, this outputs log messages using a
; human readable format with the addition of function name
; and line number. No color escape codes are ever printed
; nor are verbose messages treated specially.
; — [json] — Log the output in JSON. Note that JSON formatted log entries,
; if specified for a logger type of ‘console’, will be formatted
; per the ‘default’ formatter for log messages of type VERBOSE.
; This is due to the remote consoles intepreting verbosity
; outside of the logging subsystem.
;
; Log levels include the following, and are specified in a comma delineated
; list:
; debug
; trace
; notice
; warning
; error
; verbose( )
; dtmf
; fax
; security
;
; Verbose takes an optional argument, in the form of an integer level.
; Verbose messages with higher levels will not be logged to the file. If
; the verbose level is not specified, it will log verbose messages following
; the current level of the root console.
;
; Special level name «*» means all levels, even dynamic levels registered
; by modules after the logger has been initialized (this means that loading
; and unloading modules that create/remove dynamic logger levels will result
; in these levels being included on filenames that have a level name of «*»,
; without any need to perform a ‘logger reload’ or similar operation).
; Note that there is no value in specifying both «*» and specific level names
; for a filename; the «*» level means all levels. The only exception is if
; you need to specify a specific verbose level. e.g, «verbose(3),*».
;
; We highly recommend that you DO NOT turn on debug mode if you are simply
; running a production system. Debug mode turns on a LOT of extra messages,
; most of which you are unlikely to understand without an understanding of
; the underlying code. Do NOT report debug messages as code issues, unless
; you have a specific issue that you are attempting to debug. They are
; messages for just that — debugging — and do not rise to the level of
; something that merit your attention as an Asterisk administrator. Both
; debug and trace messages are also very verbose and can and do fill up
; logfiles quickly. This is another reason not to have debug or trace
; modes on a production system unless you are in the process of debugging
; a specific issue.
;
;debug => debug
;trace => trace
;security => security
console => notice,warning,error
;console => notice,warning,error,debug
messages => notice,warning,error
;full => notice,warning,error,debug,verbose,dtmf,fax
;
;full-json => [json]debug,verbose,notice,warning,error,dtmf,fax
;
;syslog keyword : This special keyword logs to syslog facility
;
;syslog.local0 => notice,warning,error
;

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Источник

Adblock
detector