API и логирование IVA CS
API-документация
Для документирования API используется Swagger.
Swagger-описание — это файл (YAML или JSON) содержащий API-спецификацию.
Для доступа к Swagger необходимо перейти по адресу:
-
для формирования json-файла: https://<IP_address IVA CS>/api/v1/swagger.json
-
для формирования yaml-файла: https://<IP_address IVA CS>/api/v1/swagger.yaml
где <IP_address IVA CS> — IP-адрес сервера телефонии IVA CS
Логи сервисов логики SWL
Логи сервисов логики находятся в каталоге /var/log/ivasw.
Файл логов | Описание |
---|---|
swl-auth.log |
сервис аутентификации для WebSocket и REST |
swl-backend.log |
бэкенд-сервис: обработка запросов от API, работа с базой данных |
swl-call.log |
сервис обработки VoIP-вызовов: входящие звонки, маршрутизация, redirect, feature access code |
swl-dtmf.log |
сервис обработки сигналов DTMF, IVR-меню |
swl-ldap.log |
сервис синхронизации / аутентификации с LDAP |
swl-location.log |
сервис аутентификации / регистрации клиентских устройств (терминалов) |
swl-notify.log |
сервис отправки уведомлений на электронную почту (email) |
swl-provision.log |
сервис автоконфигурирования клиентских устройств (терминалов) |
swl-registry.log |
Service Registry — мониторинг / контроль запущенных сервисов логики, взаимодействие с ITS (конфигурирование, сбор загрузки сервисов) |
swl-report.log |
сервис генерирования отчетов по расписанию (журнал вызовов CDR) |
swl-rest.log |
сервис REST API (приём запросов с их последующей передачей в swl-backend) |
swl-socket.log |
сервис WebSocket API (приём запросов с их последующей передачей в swl-backend) |
swl-status.log |
сервис обработки статусов терминалов (BLF) |
swl-storage.log |
сервис хранения файлов (аудио, записи звонков, подготовленные файлы CDR, архивы с логами) |
swl-sync.log |
сервис синхронизации зон |
Логи сервисов ITS
Логи сервисов ITS находятся в каталоге /var/log/ivasw/its.
Файл логов | Описание |
---|---|
its*.log |
общий лог сервисов ITS (хранение логов осуществляется с ротацией) |
Дополнительные сервисы |
|
/var/log/ivasw/ivasw-nats.log |
лог сервиса NATS-Streaming |
/var/log/postgresql/* |
логи PostgreSQL-сервера |
/var/log/nginx/* |
логи nginx |
/var/log/haproxy.log* |
логи haproxy |
/var/log/daemon.log* |
стандартный системный лог сообщений сервисов |
Настройка
Сервисы логики SWL
Для сервисов логики по умолчанию установлен уровень логирования INFO.
Для того чтобы изменить уровень логирования, в окружение запуска сервисов логики необходимо добавить переменную LOGLEVEL с указанием требуемого уровня.
Допустимые уровни логирования:
Уровень логирования | Тип |
---|---|
DEBUG |
подробные сообщения, используемые во время отладки |
INFO |
информационные сообщения о том, что происходит во время работы |
WARN |
предупреждение о возникновении нежелательной ситуации |
ERROR |
ошибки, при которых система способна продолжать функционировать |
FATAL |
фатальные ошибки, в большинстве случаев приводящие к завершению работы |
PANIC |
ошибки, приводящие к немедленному окончанию работы |
Сервисы ITS
Параметры уровней логирования указываются для каждого сервиса в конфигурации json при помощи следующего ключа:
optional\_base.log\_severity
Примерный вид конфигурации с установленным уровнем логирования DEBUG:
{
"zuri": "zrpc://nats\_backend/127.0.0.1:7900",
"config": {
"nats": {
"url": "@NATS\_URL@",
"cluster": "@NATS\_CLUSTER@",
"client": "@NATS\_CLIENT@",
"reconnect\_sec": 1,
"timeout\_sec": 5
}
},
"optional\_base": {
"log\_severity": "DEBUG",
"zrpc\_timeout\_sec": 1
}
},
Допустимые уровни логирования:
Уровень логирования | Тип |
---|---|
DEBUG |
сообщения, используемые во время отладки |
TRACE |
более подробные сообщения об ошибках, чем на уровне DEBUG |
INFO |
информационные сообщения о том, что происходит во время работы |
WARNING |
предупреждение о возникновении нежелательной ситуации |
ERROR |
ошибки, при которых система способна продолжать функционировать |
CRITICAL |
фатальные ошибки, в большинстве случаев приводящие к завершению работы |
Изменение уровней логирования
В web-интерфейсе доступна возможность изменения уровней логирования для сервисов логики SWL и сервисов ITS.
Чтобы изменить уровень логирования, необходимо:
-
раздел Обзор → вкладка Кластер
-
выбрать сервис → Уровень логирования → выбрать уровень логирования в выпадающем списке
Для сервисов логики SWL доступны также следующие варианты изменения уровня логирования, без необходимости их дальнейшего перезапуска:
-
API: Log
-
отправка системного сигнала конкретному процессу:
Сигнал | Действие |
---|---|
pkill -SIGUSR1 swl-call |
увеличить уровень логирования. Например, если выбран INFO, то переключить на DEBUG |
pkill -SIGUSR2 swl-call |
уменьшить уровень логирования. Например, если выбран DEBUG, то переключить на INFO |