Описание модулей статистики и формата файлов экспорта
Модули экспорта статистики
Система ECSS-10 позволяет сохранять статистическую информацию на файловую систему в виде текстового файла в формате CSV либо в базу данных.
Текстовые файлы CSV
Если в системе было настроено сохранение статистики, но не был указан путь для хранения данных, то по умолчанию текстовые файлы CSV будут сохраняться в каталоге: /var/lib/ecss/<TYPE>/<NAME>/statistics
.
где
- <TYPE> — тип владельца: domain, cluster;
- <NAME> — имя владельца.
В формате текстового файла могут быть использованы следующие переменные замены:
- #Name — название отчета (предоставляется модулем статистики);
- #SY — год начальной даты отчета;
- #SM — месяц начальной даты отчета;
- #SD — день начальной даты отчета;
- #Shh — часы начальной даты отчета;
- #Smm — минуты начальной даты отчета;
- #Sss — секунды начальной даты отчета;
- #Soffset — сдвиг относительно UTC начальной даты отчета;
- #EY — год конечной даты отчета;
- #EM — месяц конечной даты отчета;
- #ED — день конечной даты отчета;
- #Ehh — часы конечной даты отчета;
- #Emm — минуты конечной даты отчета;
- #Ess — секунды конечной даты отчета;
- #Eoffset — сдвиг относительно UTC конечной даты отчета.
Вид формата файла по умолчанию:
#Name/#Name_#SY#SM#SD#Shh#Smm_#EY#EM#ED#Ehh#Emm #Eoffset
База данных
Для управления базой данных (далее БД) статистики используется СУБД MySQL.
Для просмотра статистики необходимо:
- Подключиться к локальной консоли СУБД MySQL из под операционной системы Linux:
mysql -u<STATISTIC_LOGIN> -p<STATISTIC_PASSWORD>
где- <STATISTIC_LOGIN> — логин для пользователя БД статистики (логин задается при создании БД);
- <STATISTIC_PASSWORD> — пароль для пользователя БД статистики (пароль задается при создании БД).
Указать базу данных для просмотра статистики:
use <DB_NAME>;
где<DB_NAME> — имя БД статистики (задается при создании БД, в руководстве по настройке предложено использовать имя базы данных "statistics").
Просмотреть существующие таблицы в БД статистики:
show tables;
Примерmysql> show tables; +---------------------------+ | Tables_in_ecss_statistics | +---------------------------+ | E.502 Type1 | | E.502 Type10 | | E.502 Type11 | | E.502 Type12 | | E.502 Type15 | | E.502 Type16 | | E.502 Type2 | | E.502 Type20 | | E.502 Type3 | | E.502 Type6 | | E.502 Type9 | | Host.Resources | | Iface.data.transter | | MG.Traffic | +---------------------------+ 14 rows in set (0.00 sec)
- Просмотреть информацию в таблице можно командой:
select * from `<TABLE_NAME>`;
где
— <TABLE_NAME> — имя таблицы.
В команде реализована выборка записей по дате и количеству записей.
ПримерВыборка записей по дате:
select * from `E.502 Type16` where sys_end_date like '%2013-08-26%';
Просмотр последних десяти записей в таблице:
mysql> select * from `E.502 Type16` ORDER BY `sys_stat_id` DESC LIMIT 10; +--------------------------------------+---------------------+---------------------+------------------------+---------------------+---------------+-------------------+---------+--------+ | sys_stat_id | sys_start_date | sys_end_date | source | timeSeizureInlet | dialledDigits | unsuccessfulCause | timeACM | result | +--------------------------------------+---------------------+---------------------+------------------------+---------------------+---------------+-------------------+---------+--------+ | 31373034-6261-3137-3932-626564653435 | 2013-08-26 07:45:00 | 2013-08-26 08:00:00 | sub:300@192.168.23.212 | 2013-08-26 07:56:19 | | NULL | NULL | 16 | | 31373034-6261-3137-3932-626564653435 | 2013-08-26 07:45:00 | 2013-08-26 08:00:00 | sub:300@192.168.23.212 | 2013-08-26 07:56:26 | | NULL | NULL | 41 | | 31373034-6261-3137-3932-626564653435 | 2013-08-26 07:45:00 | 2013-08-26 08:00:00 | sub:300@192.168.23.212 | 2013-08-26 07:55:10 | | NULL | NULL | 41 | | 31373034-6261-3137-3932-626564653435 | 2013-08-26 07:45:00 | 2013-08-26 08:00:00 | sub:100@192.168.23.212 | 2013-08-26 07:55:16 | | NULL | NULL | 16 | | 31373034-6261-3137-3932-626564653435 | 2013-08-26 07:45:00 | 2013-08-26 08:00:00 | sub:300@192.168.23.212 | 2013-08-26 07:53:34 | | NULL | NULL | 16 | | 31373034-6261-3137-3932-626564653435 | 2013-08-26 07:45:00 | 2013-08-26 08:00:00 | sub:700@192.168.23.212 | 2013-08-26 07:47:03 | | NULL | NULL | 17 | | 31373034-6261-3137-3932-626564653435 | 2013-08-26 07:45:00 | 2013-08-26 08:00:00 | sub:100@192.168.23.212 | 2013-08-26 07:54:34 | | 41 | NULL | NULL | | 31373034-6261-3137-3932-626564653435 | 2013-08-26 07:45:00 | 2013-08-26 08:00:00 | sub:100@192.168.23.212 | 2013-08-26 07:54:50 | | NULL | NULL | 41 | | 31373034-6261-3137-3932-626564653435 | 2013-08-26 07:45:00 | 2013-08-26 08:00:00 | sub:300@192.168.23.212 | 2013-08-26 07:53:58 | | NULL | NULL | 41 | | 31373034-6261-3137-3932-626564653435 | 2013-08-26 07:45:00 | 2013-08-26 08:00:00 | sub:100@192.168.23.212 | 2013-08-26 07:54:05 | | NULL | NULL | 16 | +--------------------------------------+---------------------+---------------------+------------------------+---------------------+---------------+-------------------+---------+--------+ 10 rows in set (0.00 sec)
Также для администрирования БД используются приложения с web-интерфейсом. Одним из таких приложений является phpmyadmin. Phpmyadmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных.
Модули статистики
ITU-T E.502
e502Type1
e502Type1 — Overall measurements on originating traffic.
Данный модуль предназначен для сбора статистики по Типу 1 рекомендации ITU-T E.502.
Тип измерения — Абонентские линии: весь исходящий трафик.
Таблица 1 — Формат выходных данных e502Type1
Позиция | Название | Описание |
---|---|---|
1 | seizures | Количество занятий. |
2 | notRouted | Количество вызовов, по которым не была выполнена маршрутизация по следующим причинам:
|
3 | congestion | Количество неуспешных вызовов из-за:
|
e502Type2
e502Type2 — Overall measurements on internal traffic.
Данный модуль предназначен для сбора статистики по Типу 2 рекомендации ITU-T E.502.
Тип измерения — Абонентские линии: внутренний исходящий трафик.
Таблица 2 — Формат выходных данных e502Type2
Позиция | Название | Описание |
---|---|---|
1 | seizures | Количество занятий. |
2 | congestion | Количество неуспешных вызовов из-за:
|
3 | successful | Количество успешных вызовов:
|
4 | incomplete | Количество неуспешных вызовов. |
e502Type3
e502Type — Overall measurements on originating outgoing traffic.
Данный модуль предназначен для сбора статистики по Типу 3 рекомендации ITU-T E.502.
Тип измерения — Абонентские линии: внешний исходящий трафик.
Таблица 3 — Формат выходных данных e502Type3
Позиция | Название | Описание |
---|---|---|
1 | seizures | Количество занятий. |
2 | congestion | Количество неуспешных вызовов из-за:
|
3 | overflow | Количество необслуженных вызовов из-за отсутствия свободных каналов в направлении. |
4 | successful | Количество успешных вызовов. |
5 | incomplete | Количество неуспешных вызовов:
|
e502Type4
e502Type4 — Overall measurements on incoming traffic.
Данный модуль предназначен для сбора статистики по Типу 4 рекомендации ITU-T E.502.
Тип измерения — Группа каналов: входящий трафик.
Таблица 4 — Формат выходных данных e502Type4
Позиция | Название | Описание |
---|---|---|
1 | seizures | Количество занятий. |
2 | notRouted | Количество вызовов, по которым не была выполнена маршрутизация по следующим причинам:
|
3 | congestion | Количество неуспешных вызовов из-за:
|
e502Type5
e502Type5 — Overall measurements on incoming terminating traffic.
Данный модуль предназначен для сбора статистики по Типу 5 рекомендации ITU-T E.502.
Тип измерения — Группа каналов: входящий терминируемый (нетранзитный) трафик.
Таблица 5 — Формат выходных данных e502Type5
Позиция | Название | Описание |
---|---|---|
1 | seizures | Количество занятий. |
2 | congestion | Количество неуспешных вызовов из-за:
|
3 | successful | Количество успешных вызовов. |
4 | incomplete | Количество неуспешных вызовов. |
e502Type6
e502Type6 — Overall measurements on transit traffic.
Данный модуль предназначен для сбора статистики по Типу 6 рекомендации ITU-T E.502.
Тип измерения — Группа каналов: транзитный трафик.
Таблица 6 — Формат выходных данных e502Type6
Позиция | Название | Описание |
---|---|---|
1 | seizures | Количество занятий. |
2 | congestion | Количество неуспешных вызовов из-за:
|
3 | overflow | Количество необслуженных вызовов из-за отсутствия свободных каналов в направлении. |
4 | successful | Количество успешных вызовов. |
5 | incomplete | Количество неуспешных вызовов. |
e502Type9
e502Type9 — Incoming traffic measurements.
Данный модуль предназначен для сбора статистики по Типу 9 рекомендации ITU-T E.502.
Тип измерения — Группа каналов: входящий трафик.
Таблица 7 — Формат выходных данных e502Type9
Позиция | Название | Описание |
---|---|---|
1 | seizures | Количество занятий. |
2 | traffic | Значение нагрузки в эрлангах за интервал сбора статистической информации. |
3 | congestion | Количество неуспешных вызовов из-за:
|
4 | overflow | Количество необслуженных вызовов из-за отсутствия свободных каналов в направлении. |
5 | inService | Количество рабочих сircuits. |
6 | outService | Количество нерабочих сircuits. |
e502Type10
e502Type10 — Outgoing traffic measurements.
Данный модуль предназначен для сбора статистики по Типу 10 рекомендации ITU-T E.502.
Тип измерения — Группа каналов: исходящий трафик.
Таблица 8 — Формат выходных данных e502Type10
Позиция | Название | Описание |
---|---|---|
1 | seizures | Количество занятий. |
2 | traffic | Значение нагрузки в эрлангах за интервал сбора статистической информации. |
3 | overflow | Количество необслуженных вызовов из-за отсутствия свободных каналов в направлении. |
4 | blocked | Количество необслуженных вызовов из-за trunk reservation. |
5 | answered | Количество отвеченных вызовов. |
6 | inService | Количество рабочих сircuits. |
7 | outService | Количество нерабочих сircuits. |
8 | dualSeizures | Количество занятий both-way circuits. |
e502Type11
e502Type11 — Route destination traffic measurements.
Данный модуль предназначен для сбора статистики по Типу 11 рекомендации ITU-T E.502.
Тип измерения — Группа каналов: исходящий трафик по направлениям.
Таблица 9 — Формат выходных данных e502Type11
Позиция | Название | Описание |
---|---|---|
1 | destination | Наименование направления. |
2 | seizures | Количество занятий. |
3 | effectiveCalls | Количество состоявшихся разговоров. |
4 | traffic | Значение нагрузки в эрлангах за интервал сбора статистической информации. |
3 | congestion | Количество неуспешных вызовов из-за:
|
6 | blocked | Количество необслуженных вызовов из-за trunk reservation. |
7 | source | Наименование входящей circuit group. |
e502Type12
e502Type12 — Measurements on subscriber line groups.
Данный модуль предназначен для сбора статистики по Типу 12 рекомендации ITU-T E.502.
Тип измерения — Группа абонентских линий: входящий/исходящий трафик.
Таблица 10 — Формат выходных данных e502Type12
Позиция | Название | Описание |
---|---|---|
1 | origTraffic | Значение нагрузки в эрлангах за интервал сбора статистической информации (исходящий трафик). |
2 | termTraffic | Значение нагрузки в эрлангах за интервал сбора статистической информации (терминируемый (входящий) трафик). |
3 | origSeizures | Количество исходящих занятий. |
4 | termSeizures | Количество терминируемых (входящих) занятий. |
5 | termCalls | Количество успешных входящих занятий. |
e502Type15
e502Type15 — Traffic dispersion and duration.
Данный модуль предназначен для сбора статистики по Типу 15 рекомендации ITU-T E.502.
Тип измерения — Трафик: дисперсия и продолжительность.
Таблица 11 — Формат выходных данных e502Type15
Позиция | Название | Описание |
---|---|---|
1 | inlet | Наименование инициатора вызова (абонентская линия, circuit group, system). |
2 | timeSeizureInlet | Время занятия на инициирующей стороне (inlet). |
3 | dialledDigits | Набранные цифры (номер вызываемого абонента). |
4 | services | Список сервисов, активированных в процессе обработки вызова. |
5 | outlet | Наименование терминирующей стороны (абонентская линия, circuit group, system). |
6 | timeSeizureOutlet | Время занятия на терминирующей стороне (outlet). |
7 | timeOccurrence | Время начала обработки вызова на терминирующей стороне. |
8 | timeACM | Время формирования сообщения ACM (address complete message.) |
9 | timeAnswer | Время формирования сигнала ответа. |
10 | timeReleaseOutlet | Время релиза на терминирующей стороне. |
11 | timeReleaseInlet | Время релиза на инициирующей стороне. |
e502Type16
e502Type16 — Quality-of-service assessment.
Данный модуль предназначен для сбора статистики по Типу 16 рекомендации ITU-T E.502.
Тип измерения — Оценка качества обслуживания
Таблица 12 — Формат выходных данных e502Type16
Позиция | Название | Описание |
---|---|---|
1 | source | Наименование инициатора вызова (абонентская линия, circuit group, system). |
2 | timeSeizureInlet | Время занятия на инициирующей стороне (inlet). |
3 | dialledDigits | Набранные цифры (номер вызываемого абонента). |
4 | unsuccessfulCause | Причина неуспешного вызова. |
5 | timeACM | Время формирования сообщения ACM (address complete message). |
6 | result | Результат вызова. |
e502Type20
e502Type20 — Exchange performance monitoring.
Данный модуль предназначен для сбора статистики по Типу 20 рекомендации ITU-T E.502.
Тип измерения — Мониторинг производительности.
Таблица 13 — Формат выходных данных e502Type20
Позиция | Название | Описание |
---|---|---|
1 | bids | Количество занятий в направлениях (circuit groups). |
2 | crossDelayMin | Минимальное время задержки прохождения сигнала от инициирующей стороны (inlet) к терминирующей (outlet) (мкс). |
3 | crossDelayMax | Максимальное время задержки прохождения сигнала от инициирующей стороны (inlet) к терминирующей (outlet) (мкс). |
4 | crossDelayAvg | Среднее время задержки прохождения сигнала от инициирующей стороны (inlet) к терминирующей (outlet) (мкс). |
5 | switchLoss | Количество необслуженных вызовов. |
ITU-T Q.752
q752Table1
q752Table1 — MTP signalling link faults and performance.
Данный модуль предназначен для сбора статистики Таблица 1 рекомендации ITU-T Q.752.
Тип измерения — Отказы тракта сигнализации и качество работы.
Таблица 14 — Формат выходных данных q752
Позиция | Название | Описание |
---|---|---|
1 | cluster | Название кластера, в который входят адаптеры SS7. |
2 | spc | Код пункта сигнализации. |
3 | slid | Идентификатор SL. |
4 | durInService | Продолжительность нахождения линии связи в состоянии обслуживания. |
5 | failureAllReasons | Сбой SL — все причины. |
6 | localAutoChangeover | Локальное автоматическое переключение. |
7 | localAutoChangeback | Локальное автоматическое восстановление. |
8 | restorations | Восстановление SL. |
q752Table2
q752Table2 — MTP signalling link availability.
Данный модуль предназначен для сбора статистики Таблица 2 рекомендации ITU-T Q.752.
Тип измерения — Доступность тракта сигнализации МТР.
Таблица 15 — Формат выходных данных q752Table2
Позиция | Название | Описание |
---|---|---|
1 | cluster | Название кластера, в который входят адаптеры SS7. |
2 | spc | Код пункта сигнализации. |
3 | slid | Идентификатор SL. |
4 | durUnavailAllReasons | Продолжительность состояния недоступности SL (по любой причине). |
5 | durUnavailLinkFailure | Продолжительность недоступности SL, вследствие сбоя линии связи. |
6 | durUnavailRemoteProcessorOutage | Продолжительность недоступности SL, обусловленная выходом из строя удаленного процессора. |
7 | startRemoteProcessorOutage | Время начала выхода из строя удаленного процессора. |
8 | stopRemoteProcessorOutage | Время остановки выхода из строя удаленного процессора. |
q752Table3
q752Table3 — MTP signalling link utilization.
Данный модуль предназначен для сбора статистики Таблица 3 рекомендации ITU-T Q.752.
Тип измерения — Использование тракта сигнализации МТР.
Таблица 16 — Формат выходных данных q752Table3
Позиция | Название | Описание |
---|---|---|
1 | cluster | Название кластера, в который входят адаптеры SS7. |
2 | spc | Код пункта сигнализации. |
3 | slid | Идентификатор SL. |
4 | thresholdLevel | Пороговое значение загруженности SL. |
5 | SIFandSIOoctetsTrans | Количество переданных SIF и SIO октетов. |
6 | octetsRetransmitted | Повторно передаваемые октеты. |
7 | MSUsTransmitted | Количество передаваемых сигнальных единиц сообщения. |
8 | SIFandSIOoctetsReceived | Количество полученных SIF и SIO октетов. |
9 | MSUsReceived | Количество полученных сигнальных единиц. |
10 | congestionIndications | Показатели перегруженности SL. |
11 | cumulativeDurationCongestion | Суммарная продолжительность перегруженности SL. |
12 | MSUsDiscardedCongestion | MSU, выгружаемые из-за перегруженности SL. |
13 | congestionEventsLossMSUs | Количество событий перегруженности, завершающихся потерей MSU. |
q752Table4
q752Table4 — MTP signalling link set and route set availability.
Данный модуль предназначен для сбора статистики Таблица 4 рекомендации ITU-T Q.752.
Тип измерения — Доступность комплекта трактов сигнализации и набора маршрутов.
Таблица 17 — Формат выходных данных
Позиция | Название | Описание |
---|---|---|
1 | cluster | Название кластера, в который входят адаптеры SS7. |
2 | lsid | Идентификатор комплекта трактов сигнализации. |
3 | durUnavailLinkSet | Продолжительность недоступности комплекта трактов сигнализации. |
4 | startLinkSetFailure | Начало выхода из строя комплекта трактов сигнализации. |
5 | stoptLinkSetFailure | Прекращение выхода из строя комплекта трактов сигнализации. |
6 | initBroadcastTFPfailureLS | Инициирование широковещательного TFP, вследствие отказа комплекта трактов сигнализации. |
7 | initBroadcastTFArecoveryLS | Инициирование широковещательного TFA для восстановления измеряемого комплекта трактов сигнализации. |
8 | unavailRoute | Недоступность набора маршрутов для данных направлений. |
9 | durUnavailRoute | Продолжительность недоступности набора маршрутов. |
10 | startUnavailRoute | Начало недоступности набора направлений. |
11 | stopUnavailRoute | Прекращение недоступности набора направлений. |
12 | changeLSUsedAdjacentSP | Изменение в комплекте трактов сигнализации, используемом для соседнего SP. |
q752Table5
q752Table5 — MTP signalling point status.
Данный модуль предназначен для сбора статистики Таблица 5 рекомендации ITU-T Q.752.
Тип измерения — Статус пункта сигнализации МТР.
Таблица 18 — Формат выходных данных q752Table5
Позиция | Название | Описание |
---|---|---|
1 | cluster | Название кластера, в который входят адаптеры SS7. |
2 | spc | Код пункта сигнализации. |
3 | NI | Идентификатор сети. |
4 | SI | Идентификатор службы. |
5 | adjacentSPinaccess | Соседний SP недоступен. |
6 | durAdjacentSPinaccess | Длительность состояния недоступности соседнего SP. |
7 | stopAdjacentSPinaccess | Прекращение состояния недоступности соседнего SP. |
8 | MSUdiscarded | MSU, выгружаемые вследствие ошибки в данных маршрутизации. |
9 | UPunavailMSUtrans | User Part Unavailable MSU transmitted. |
10 | UPunavailMSUrecv | User Part Unavailable MSU received. |
11 | TFCreceived | Количество принятых TFC. |
q752Table15
q752Table15 — SS No. 7 MTP message accounting.
Данный модуль предназначен для сбора статистики Таблица 15 рекомендации ITU-T Q.752.
Тип измерения — Учет сообщений МТР ОКС №7.
Таблица 19 — Формат выходных данных q752Table15
Позиция | Название | Описание |
---|---|---|
1 | cluster | Название кластера, в который входят адаптеры SS7. |
2 | spc | Код пункта сигнализации. |
3 | NI | Идентификатор сети. |
4 | messagesReceived | Количество принятых сообщений. |
5 | octetsReceived | Количество принятых октетов. |
6 | sessagesSent | Количество отправленных сообщений. |
7 | octetsSent | Количество отправленных октетов. |
Другие типы статистик
mgTraffic
mgTraffic — MG traffic statistics.
Тип измерения — Данный модуль предназначен для сбора статистики с медиашлюза (MG).
Таблица 20 — Формат выходных данных mgTraffic
Позиция | Название | Описание |
---|---|---|
1 | type | Тип шлюза. |
2 | mgid | Идентификатор шлюза. |
3 | direction | Направление соединения: входящее/исходящее. |
4 | duration | Длительность соединения. |
5 | sentPkts | Количество отправленных пакетов. |
6 | recvPkts | Количество принятых пакетов. |
7 | lostPkts | Количество потерянных пакетов. |
8 | lostPktsPer | Процент потерянных пакетов. |
9 | jitter | Максимальное значение джиттера. |
hostResources
hostResources — Host resources.
Тип измерения — Данный модуль предназначен для сбора статистики с кластеров системы ECSS-10.
Таблица 21 — Формат выходных данных hostResources
Позиция | Название | Описание |
---|---|---|
1 | location | Идентификатор ноды (включает название ноды и хоста). |
2 | nodeCPUAvg | Средняя загрузка CPU ноды. |
3 | nodeCPUMax | Максимальная загрузка CPU ноды. |
4 | hostCPUAvg | Средняя загрузка CPU хоста. |
5 | hostCPUMax | Максимальная загрузка CPU хоста. |
6 | reductions | Количество редукций. |
7 | ETS count | Количество ets таблиц. |
8 | nodeMemTotal | Общий объем памяти, выделенный для ноды. |
9 | nodeMemProcs | Объем памяти, выделенный для процессов. |
10 | nodeMemProcsUsed | Используемый объем памяти для процессов. |
11 | nodeMemSystem | Служебный объем памяти. |
12 | nodeMemAtom | Объем памяти, выделенный для данных типа atom. |
13 | nodeMemAtomUsed | Используемый объем памяти для данных типа atom. |
14 | nodeMemBinary | Объем памяти, выделенный для данных типа binary. |
15 | nodeMemCode | Объем памяти, выделенный для кода Erlang. |
16 | nodeMemEts | Объем памяти, выделенный для ets таблиц. |
Cтатистика с агрегацией данных
Метрики реального времени с агрегацией данных
ECSS-10 и сопутствующие сервисы (например, контакт-центр или селекторная связь) формируют различные статистические метрики.
Система работает таким образом, что ПО формирует счетчики используя модуль ecss_statistics, который хранит счетчики в ets таблицах ноды (используется exometer_core).
Модуль ecss_statistics с заданной периодичностью осуществляет выгрузку значений счетчиков в СУБД MySQL в БД ecss_statistics в таблицу realtime_statistics.
Пример — список таблиц БД статистики:
sasha@ecss1:~$ mysql -ustatistics -p -D ecss_statistics -e 'show tables;' Enter password: +---------------------------------+ | Tables_in_ecss_statistics | +---------------------------------+ | Host.Resources | | historical_daily_statistics | | historical_hour_statistics | | historical_intrahour_statistics | | historical_monthly_statistics | | historical_weekly_statistics | | realtime_statistics | | realtime_statistics_0 | | realtime_statistics_1 | | realtime_statistics_10 | | realtime_statistics_11 | | realtime_statistics_2 | | realtime_statistics_3 | | realtime_statistics_4 | | realtime_statistics_5 | | realtime_statistics_6 | | realtime_statistics_7 | | realtime_statistics_8 | | realtime_statistics_9 | | realtime_statistics_template | | stat_details | | version | +---------------------------------+
Счетчики могут быть разных типов (counter, gauge, histogram и др.), а так же могут быть непрерывными и с автосбросом значений после считывания (autoreset).
У счетчика есть имя и значение. Значение могут содержать несколько величин и зависит от типа счетчика.
Имя — это список термов, что позволяет формировать иерархическую (древовидную) структуру метрик.
Каждый тип интервалов хранится какое-то время:
- - intrahour (5ти минутки) — 62 дня
- - hour (1 час) — 62 дня
- - daily (1 день) — 5 лет
- - weekly (недельные) — 10 лет
- - monthly (за месяц) — 10 лет
В ECSS-10 принят следующий формат описания имени счетчика:
[SystemPrefix, Domain, SubsystemPrefix, MetricName, VariablePart1, VariablePart2, MetricType].
- SystemPrefix — идентифицирует систему генерирующую метрику и может принимать следующие значения:
- Domain — идентификатор домена (виртуальной АТС) в рамках которого генерируется метрика
- SubsystemPrefix — идентифицирует подсистему в рамках выбранной системы, которая генерирует метрику и может принимать следующие значения:
- queue — очередь (специфична для контакт-центра)
- agent — агент (специфична для контакт-центра)
- core — ядро (специфичная для софтсвича)
- sip — адаптер протокола sip (специфичная для софтсвича)
- megaco — адаптер протокола megaco (специфичная для софтсвича)
- sigtran — адаптер протокола sigtran (специфичная для софтсвича)
- mediator — медиатор (специфичная для софтсвича)
- mycelium — брокер интеграционной шини (специфичная для софтсвича)
- trunk_manager — менеджер транков
- direction_manager — менеджер направлений
- MetricName — фиксированное имя метрики, должно описывать значение которое содержится в метрике, рекомендуется, чтобы так же был указан тип метрики
- VariablePart1 — 1я дополнительная переменная часть имени метрики, специфичная для конкретной метрики (может, например, содержать имя транка, имя очереди и т.п.)
- VariablePart2 — 2я дополнительная переменная часть имени метрики, специфичная для конкретной метрики (может, например, содержать идентификатор агента)
- MetricType — определяет тип метрики, может принимать следующие значения:
- counter
- gauge
- meter
- histogram
Ниже приведена таблица метрик реального времени генерируемых системой:
Модуль ecss_statistics
SystemPrefix | Domain | SubsystemPrefix | MetricName | Var1 | Var2 | MetricType | Options | Описание |
---|---|---|---|---|---|---|---|---|
ecss10.common | .system | Домен | core | statistics_upload_time.histogram | undefined | undefined | histogram | Содержит гистограмму времени вставки статистик в MySQL | |
ecss10.common | .system | Домен | core | cpm_resource_allocation_attempts | cp | NULL | counter | Количество попыток вызовов за период времени | |
ecss10.common | .system | Домен | core | cpm_allocated_resources.histo | cp | NULL | histogram | Пиковое количество одновременных вызовов за период времени, значащее поле — max | |
ecss10.common | .system | Домен | core | cpm_allocated_resources.histo | cp | NULL | histogram | Минимальное количество одновременных вызовов за период времени, значащее поле — min |
Модуль cc_active_queue
SystemPrefix | Domain | SubsystemPrefix | MetricName | Var1 | Var2 | MetricType | Options | Описание |
---|---|---|---|---|---|---|---|---|
ecss10.сс | Домен | queue | incoming_seizures.counter | QueueID | undefined | counter | autoreset | Счетчик входящих занятий распределенных на очередь |
ecss10.сс | Домен | queue | incoming_accepted_seizures.counter | QueueID | undefined | counter | autoreset | Счетчик принятых занятий распределенных на очередь (занятие поставлено в очередь или сразу распределено на агента) |
ecss10.сс | Домен | queue | incoming_rejected_seizures.counter | QueueID | undefined | counter | autoreset | Счетчик занятий распределенных на очередь, но отклоненных по каким-либо причинам |
ecss10.сс | Домен | queue | waiting_calls.histogram | QueueID | undefined | histogram | autoreset | Гистограмма количества вызовов ожидающих в очереди |
ecss10.сс | Домен | queue | waiting_time.histogram | QueueID | undefined | histogram | Гистограмма времени ожидания вызовов в очереди |
Модуль core_trike_tm
SystemPrefix | Domain | SubsystemPrefix | MetricName | Var1 | Var2 | MetricType | Options | Описание |
---|---|---|---|---|---|---|---|---|
ecss10.ssw | Домен | trunk_manager | incoming_seizures.counter | TrunkID | undefined | counter | autoreset | Счетчик входящих занятий на транк |
ecss10.ssw | Домен | trunk_manager | incoming_accepted_seizures.counter | TrunkID | undefined | counter | autoreset | Счетчик принятых занятий на транке |
ecss10.ssw | Домен | trunk_manager | incoming_rejected_seizures.counter | TrunkID | undefined | counter | autoreset | Счетчик отклоненных по каким-либо причинам занятий на транке |
ecss10.ssw | Домен | trunk_manager | incoming_active_channels.histogram | TrunkID | undefined | histogram | Гистограмма количества входящих активных вызовов на транке | |
ecss10.ssw | Домен | trunk_manager | outgoing_active_channels.histogram | TrunkID | undefined | histogram | Гистограмма количества исходящих активных вызовов на транке |
Модуль core_trike_dm
SystemPrefix | Domain | SubsystemPrefix | MetricName | Var1 | Var2 | MetricType | Options | Описание |
---|---|---|---|---|---|---|---|---|
ecss10.ssw | Домен | direction_manager | incoming_seizures.counter | DirectionID | undefined | counter | autoreset | Счетчик входящих занятий на направление |
ecss10.ssw | Домен | direction_manager | incoming_accepted_seizures.counter | DirectionID | undefined | counter | autoreset | Счетчик принятых занятий на направление |
ecss10.ssw | Домен | direction_manager | incoming_rejected_seizures.counter | DirectionID | undefined | counter | autoreset | Счетчик отклоненных по каким-либо причинам занятий на направлении |
ecss10.ssw | Домен | direction_manager | outgoing_active_channels.histogram | DirectionID | undefined | histogram | Гистограмма количества исходящих активных вызовов на направлении |
Модуль core_trike_cmp
SystemPrefix | Domain | SubsystemPrefix | MetricName | Var1 | Var2 | MetricType | Options | Описание |
---|---|---|---|---|---|---|---|---|
ecss10.ssw | Домен | direction_manager | incoming_seizures.counter | CPM-DialogID | undefined | counter | autoreset | Счетчик входящих занятий на cpm-dialog в домене |
ecss10.ssw | Домен | direction_manager | incoming_accepted_seizures.counter | CPM-DialogID | undefined | counter | autoreset | Счетчик принятых занятий на cpm-dialog в домене |
ecss10.ssw | Домен | direction_manager | incoming_rejected_seizures.counter | CPM-DialogID | undefined | counter | autoreset | Счетчик отклоненных по каким-либо причинам занятий на cpm-dialog в домене |
ecss10.ssw | Домен | direction_manager | active_calls.histogram | CPM-DialogID | undefined | histogram | Гистограмма количества активных вызовов на cpm-dialog в домене | |
ecss10.ssw | Домен | direction_manager | incoming_seizures.counter | undefined | undefined | counter | autoreset | Общий счетчик входящих занятий в домене |
ecss10.ssw | Домен | direction_manager | incoming_accepted_seizures.counter | undefined | undefined | counter | autoreset | Общий счетчик принятых занятий в домене |
ecss10.ssw | Домен | direction_manager | incoming_rejected_seizures.counter | undefined | undefined | counter | autoreset | Общий счетчик отклоненных по каким-либо причинам занятий в домене |
Модуль custom_cb_trike_task_service
SystemPrefix | Domain | SubsystemPrefix | MetricName | Var1 | Var2 | MetricType | Options | Описание |
---|---|---|---|---|---|---|---|---|
ecss10.common | Домен | core | all_callbacks.count | WidgetId | undefined | counter | Счетчик запущенных и завершенных callback-ов с WidgetId в домене | |
ecss10.common | Домен | core | success_finished_callbacks.count | WidgetId | undefined | counter | Счетчик успешно завершенных callback-ов с WidgetId со статусом Cause(ISUP) в домене | |
ecss10.common | Домен | core | unsuccess_finished_callbacks.count | WidgetId | Cause | counter | Счетчик не успешно завершенных callback-ов с WidgetId со статусом Cause(ISUP) в домене | |
ecss10.common | Домен | core | unsuccess_finished_callbacks_by_client.count | WidgetId | Cause | counter | Счетчик не успешно завершенных из-за клиента callback-ов с WidgetId со статусом Cause(ISUP) в домене | |
ecss10.common | Домен | core | unsuccess_finished_callbacks_by_operator.count | WidgetId | Cause | counter | Счетчик не успешно завершенных из-за оператора callback-ов с WidgetId со статусом Cause(ISUP) в домене | |
ecss10.common | Домен | core | unsuccess_attempts_callback.count | WidgetId | Cause | cointer | Счетчик не успешных попыток callback-а с WidgetId |
Полный перечень метрик с описаниями приведен в файле statistics.ods.
Вызывные статистики
В системе ECSS-10 реализована запись в БД вызывной статистики. Описание метрик приведено ниже.
У всех этих метрик система — ecss10.ssw и подсистема core. Доменные метрики имеют в поле БД имя своего домена, у системных домен — .system.
Если не написано обратного, у всех метрик значащим полем является value.
Метрика | Имя в системе | variable_part_1 | variable_part_2 | Примечания |
---|---|---|---|---|
Количество поступивших в систему вызовов без номера вызывающего абонента | empty_a_number_calls_c | NULL | NULL | |
Количество успешных вызовов за период времени (вызовов с ответом вызываемого абонента) | success_calls_c | NULL | NULL | |
Количество вызовов на занятых абонентов за период времени | busy_calls_c | NULL | NULL | |
Количество вызовов без ответа вызываемого абонента за период времени | no_answer_calls_c | NULL | NULL | |
Общее кол-во неуспешных исходящих вызовов за период | unsuccess_out_calls_c | NULL | NULL | |
Отношение неуспешных вызовов ко всему количеству вызовов | - | - | - | Фиктивная метрика. Визуализируется только на grafana |
Количество попыток внешних входящих вызовов за период времени | total_trunk_in_calls_c | NULL | NULL | |
Общее количество неуспешных входящих вызовов | total_unsuccess_trunk_in_calls_c | NULL | NULL | |
Количество раз набора номера вне плана набора | total_invalid_number_calls_c | NULL | NULL |
Команды просмотра вызывных статистических данных доступны из CLI и приведены в разделе "/domain/<DOMAIN>/core/statistics/ - команда просмотра статистик ядра системы".
Также есть возможность визуализировать данные с помощью отдельной системы Grafana.
Фильтры произвольной вызывной статистики
В системе ECSS-10 разработан механизм для создания пользователем произвольных метрик/статистик на основе вызывных данных (данных, на основе которых генерируются CDR, а именно mysql таблицы ecss_calls_db.tolltickets).
Каждый фильтр проверяет, если данный вызов соответствует заданным правилам rules (критериям, условиям), то в метрику с именем metric_name, переменными частями variable_part_1, variable_part_2 записывается +1 вызов. Т.е. метрика metric_name показывает сколько было вызовов, удовлетворяющих условиям описанным в правиле rules.
Список правил в фильтре работает по принципу "И", т.е. чтобы фильтр сработал все правила должны вернуть true.
Если же нам надо, чтобы в одну метрику попадали вызовы по разными критериям (по принципу "ИЛИ"), то необходимо сознать несколько фильтров, у которых параметр metric_name совпадает.
В качестве переменных частей (variable_part_1, variable_part_2), а также сравниваемого значения, можно использовать как фиксированные названия, так и макро-переменные. В этом случае вместо макро-переменной подставится значение из CDR записи вызова. Возможные значения макро-переменных:
- $OADDR_A — номер абонента А до маршрутизации
- $OADDR_B — номер абонента Б до маршрутизации
- $ADDR_A — номер абонента А после маршрутизации
- $ADDR_B — номер абонента Б после маршрутизации
- $RELEASE_CAUSE_A — Причина завершения вызова для абонента А
- $RELEASE_CAUSE_B — Причина завершения вызова для абонента B
- $RELEASE_CAUSE — Причина завершения вызова (зависит от release_initiator: 0/1 — для абонента А, 2 — для абонента B)
- $RELEASE_CAUSE_ISUP_A — ISUP причина завершения вызова для абонента А
- $RELEASE_CAUSE_ISUP_B — ISUP причина завершения вызова для абонента B
- $RELEASE_CAUSE_ISUP — ISUP причина завершения вызова (зависит от release_initiator: 0/1 — для абонента А, 2 — для абонента B)
- $RELEASE_INITIATOR — Сторона-инициатор релиза: 0 — system, 1 — calling, 2 — called
- $IFACE_A — Интерфейс абонента А
- $IFACE_B — Интерфейс абонента B
- $CATEGORY_A — Категория абонента А
- $CATEGORY_B — Категория абонента B
- $ENDPOINT_A_HOST — IP абонента А
- $ENDPOINT_A_PORT — Port абонента А
- $ENDPOINT_B_HOST — IP абонента B
- $ENDPOINT_B_PORT — Port абонента B
- $ISUP_SPC_A — SPC код абонента А
- $ISUP_SPC_B — SPC код абонента B
- $ISUP_DPC_A — DPC код абонента А
- $ISUP_DPC_B — DPC код абонента B
- $ISUP_NI_A — Тип сети абонента А
- $ISUP_NI_B — Тип сети абонента B
- $CIC_A — Номер CIC абонента А
- $CIC_B — Номер CIC абонента B
- $MODE — тип вызова(acd | callback | internal | message | mgm | normal | refer | supervise)
- normal — обычный вызов. Вызовы, не относящиеся ни к одной из категорий, упомянутых ниже в этом списке, являются обычными и обладают mode = normal.
- acd (automatic call distribution) — вызов, который инициирует очередь для соединения с оператором.
- callback — обратный вызов, инициируемый одним из сервисов ДВО. Например Alarm, Callback, Custom Callback, Autoredial With Callback.
- internal — служебный вызов, используемый некоторыми сервисами ДВО для внутренних нужд. Данные вызовы не попадают в CDR.
- message — вызов, инициируемый сервисом CSTA SendMessage (ECMA-269 17.1.24 Send Message).
- mgm — управление ДВО, выполняемое с телефонного аппарата.
- refer — вызов, инициируемый SSW, в ответ на сообщение Refer (IETF draft-mahy-sip-remote-cc-05 Remote Call Control in SIP using the REFER method and the session-oriented dialog package).
- supervise — вызов, инициируемый для присоединения к разговору супервизора КЦ.
- $OCDPN — оригинальный номер Б
- $RGN — redirecting number
- $RN — redirection number
- $TG_A — Транк-группа интерфейса абонента А
- $TG_B — Транк-группа интерфейса абонента B
- $CDR_GROUP — Имя CDR группы
- $IVR_WIDGET_ID — Идентификатор widget-а, для вызовов с IVR
- $CC_AGENT_A_ID — Идентификатор агента КЦ для абонента А
- $CC_AGENT_B_ID — Идентификатор агента КЦ для абонента B
- $CC_AGENT_A_GROUP — Имя группы, которой принадлежит агент КЦ для абонента А
- $CC_AGENT_B_GROUP — Имя группы, которой принадлежит агент КЦ для абонента B
- $CC_QUEUE — Имя очереди КЦ из которой пришел вызов
- $RATING — Значение из IVR блока "Оценка"
Отдельная категория макропеременных — динамически формируемые списки.
- $INVALID_NUMBER_RELEASE_CAUSES — список причин завершения вызова, отмеченных как "набор номера вне плана набора"
- $UNSUCCESSFUL_RELEASE_CAUSES — список причин завершения вызова, отмеченных как "неуспешные" (управляется с помощью команд /domain/<DOMAIN>/tts/statistics/<CMD> unsuccessful_release_causes)
Макропеременные на основе этих динамически формируемых списков работают только с оператором "in", и логически оправданное применение — только с фильтрами на основе release_cause_a(b), например:
release_cause_b in $UNSUCCESSFUL_RELEASE_CAUSE release_cause_a in $INVALID_NUMBER_RELEASE_CAUSES
Использовать эти макропеременные в качестве variable_part_1(2) нельзя.
Каждое из правил в рамках фильтра представляет собой набор из трех полей:
1. Имя поля, на которое действует данное правило.
Возможные имена полей:
- oaddr_a — номер абонента А до маршрутизации
- oaddr_b — номер абонента B до маршрутизации
- addr_a — номер абонента А после маршрутизации
- addr_b — номер абонента B после маршрутизации
- dialed_digits — набранные цифры
- release_cause_a — причина завершения вызова для стороны А
- release_cause_isup_a — ISUP причина завершения вызова для стороны А
- release_description_a — текстовое описание причины релиза для стороны А
- release_cause_b — причина завершения вызова для стороны B
- release_cause_isup_b — ISUP причина завершения вызова для стороны B
- release_description_b — текстовое описание причины релиза для стороны B
- release_initiator — сторона-инициатор релиза: 0 — system, 1 — calling, 2 — called
- iface_a — интерфейс абонента А
- iface_b — интерфейс абонента B
- display_name_a — displayName абонента А после маршрутизации
- display_name_b — displayName абонента B после маршрутизации
- category_a — категория абонента А
- category_b — категория абонента B
- endpoint_a_host — IP сигнализации абонента А
- endpoint_a_port — порт сигнализации абонента А
- endpoint_b_host — IP сигнализации абонента Б
- endpoint_b_port — порт сигнализации абонента Б
- original_called_num — оригинальный номера абонента Б в случае переадресаций
- redirecting_num — redirecting номер
- redirection_num — redirection номер
- trunk_group_id_a — ID транка для стороны А
- trunk_group_id_b — ID транка для стороны B
- ivr_widget_id — идентификатор widget-а, для вызовов с IVR (сервиса CallBack).
- cdr_group — имя CDR группы
- cc_agent_a_id — Идентификатор агента КЦ для абонента А
- cc_agent_b_id — Идентификатор агента КЦ для абонента B
- cc_agent_a_group — Имя группы, которой принадлежит агент КЦ для абонента А
- cc_agent_b_group — Имя группы, которой принадлежит агент КЦ для абонента B
- cc_queue — Имя очереди КЦ из которой пришел вызов
- rating — Значение из IVR блока "Оценка"
- dpc — параметр DPC для вызовов через SIGTRAN
- is_answered — флаг, отвечен ли вызов
2. Оператор, который применяется к полю из п.1
Возможные операторы:
- = — сравнение поля с введенным значением
- in — проверяется, что поле соответствует одному из значений в списке в п.3
- like — проверяет, что значение из п.3 является подстрокой поля из п.1 (доступно только для текстовых полей)
- digitmap — проверяется, что поле удовлетворяет digitmap-у, записанному в значение из п.3 (доступно только для полей, в которых содержатся номера телефонов).
А так же можно указать признак not, который означает что результат применения оператора будет инвертирован
3. Значение — значение для правила.
Возможные значения:
- фиксированное значение
- логически оправданная макропеременная
Описание команд для работы с фильтрами произвольной вызывной статистике приведено в разделе "/domain/<DOMAIN>/core/statistics/calls/filter — Команды управления фильтрами произвольной вызывной статистики"