Перейти к содержанию

Протокол

Оглавление

Схема классов

/svg/protos/key/keyapis/telemetry_alerting/v1/keyapis_telemetry_alerting_trigger_v1.proto.svg

keyapis/telemetry_alerting/v1/keyapis_telemetry_alerting_trigger_v1.proto

Сервис реализует функционал управления оповещениями о проблемах сбора показаний телеметрии (алертинга)

TriggerService

Сервис алертинга

Название метода Описание Тип запроса Тип ответа
PostTrigger Метод сохранения триггера. Поддерживает создание и обновление. Метод доступен для: service, application(telemetry:edit) keyapis.telemetry_alerting.v1.PostTriggerRequest keyapis.telemetry_alerting.v1.PostTriggerResponse
GetTrigger Чтение одного триггера. Метод доступен для: service, application(telemetry:read или telemetry:edit) keyapis.telemetry_alerting.v1.GetTriggerRequest keyapis.telemetry_alerting.v1.GetTriggerResponse
GetTriggerList Метод получения списка триггеров. Метод доступен для: service, application(telemetry:read или telemetry:edit) keyapis.telemetry_alerting.v1.GetTriggerListRequest keyapis.telemetry_alerting.v1.GetTriggerListResponse stream
GetTriggerCount Метод получения количества триггеров. Метод доступен для: service, application(telemetry:read или telemetry:edit) keyapis.telemetry_alerting.v1.GetTriggerCountRequest keyapis.telemetry_alerting.v1.GetTriggerCountResponse
DeleteTrigger Удаление триггера. Метод удаляет только отключенный триггер (is_disabled=true). Удаление неотключенного вызовет ошибку. При удалении триггера удаляются и все его алерты. Метод доступен для: service, application(telemetry:edit) keyapis.telemetry_alerting.v1.DeleteTriggerRequest keyapis.telemetry_alerting.v1.DeleteTriggerResponse
GetTriggerAlertList Метод получения списка алертов. Метод доступен для: service, application(telemetry:read или telemetry:edit) keyapis.telemetry_alerting.v1.GetTriggerAlertListRequest keyapis.telemetry_alerting.v1.GetTriggerAlertListResponse stream
GetTriggerAlertCount Метод получения количества алертов. Метод доступен для: service, application(telemetry:read или telemetry:edit) keyapis.telemetry_alerting.v1.GetTriggerAlertCountRequest keyapis.telemetry_alerting.v1.GetTriggerAlertCountResponse
DeleteTriggerAlert Удаление алерта. Метод удаляет только погашенный алерт (is_disabled=true). Удаление непогашенного вызовет ошибку. Метод доступен для: service, application(telemetry:edit) keyapis.telemetry_alerting.v1.DeleteTriggerAlertRequest keyapis.telemetry_alerting.v1.DeleteTriggerAlertResponse
PostTriggerAlertDisable Принудительное выключение алерта. Дата closed_at проставляется текущим временем. Флаг is_disabled проставляется true. Флаг is_manually_closed проставляется true. Можно принудительно выключать только алерты созданные по триггерам с атрибутом manually_unclosable=false. Метод доступен для: service, application(telemetry:edit) keyapis.telemetry_alerting.v1.PostTriggerAlertDisableRequest keyapis.telemetry_alerting.v1.PostTriggerAlertDisableResponse
GetTriggerAlertDeviceList Список устройств, вызвавших появление алерта. Метод доступен для: service, application(telemetry:read или telemetry:edit) keyapis.telemetry_alerting.v1.GetTriggerAlertDeviceListRequest keyapis.telemetry_alerting.v1.GetTriggerAlertDeviceListResponse stream

AlertDevice

Факты сработки алерта на устройствах

Поле Описание Тип Признак
alert_id Идентификатор алерта int32 REQUIRED
device_id Идентификатор устройства int32 REQUIRED

DeleteTriggerAlertRequest

Запрос на удаление алерта

Поле Описание Тип Признак
id Идентификатор алерта int32 REQUIRED

DeleteTriggerAlertResponse

Ответ на запрос удаление алерта

DeleteTriggerRequest

Запрос на удаление триггера

Поле Описание Тип Признак
id Идентификатор триггера int32 REQUIRED

DeleteTriggerResponse

Ответ на запрос удаление триггера

GetTriggerAlertCountRequest

Запрос получения списка алертов

Поле Описание Тип Признак
filter Параметры фильтрации keyapis.telemetry_alerting.v1.TriggerAlertFilter

GetTriggerAlertCountResponse

Ответ на запрос получения количества записей

Поле Описание Тип Признак
data Всего записей optional int32

GetTriggerAlertDeviceListRequest

Запрос списка устройств, вызвавших появление алерта

Поле Описание Тип Признак
id Идентификатор алерта int32 REQUIRED
filter Параметры фильтрации алерта keyapis.telemetry_alerting.v1.TriggerAlertFilter
paging Параметры пагинации optional keyapis.telemetry_alerting.v1.TriggerAlertPaging

GetTriggerAlertDeviceListResponse

Ответ на запрос списка устройств, вызвавших появление алерта

Поле Описание Тип Признак
data Факт сработки триггера optional keyapis.telemetry_alerting.v1.AlertDevice

GetTriggerAlertListRequest

Запрос получения списка алертов

Поле Описание Тип Признак
filter Параметры фильтрации keyapis.telemetry_alerting.v1.TriggerAlertFilter
paging Параметры пагинации optional keyapis.telemetry_alerting.v1.TriggerAlertPaging

GetTriggerAlertListResponse

Ответ на запрос получения списка записей

Поле Описание Тип Признак
data Алерт optional keyapis.telemetry_alerting.v1.Trigger.Alert

GetTriggerCountRequest

Запрос получения количества записей

Поле Описание Тип Признак
filter Параметры фильтрации keyapis.telemetry_alerting.v1.TriggerFilter

GetTriggerCountResponse

Ответ на запрос получения количества записей

Поле Описание Тип Признак
data Всего записей optional int32

GetTriggerListRequest

Запрос получения списка триггеров

Поле Описание Тип Признак
filter Параметры фильтрации keyapis.telemetry_alerting.v1.TriggerFilter
paging Параметры пагинации optional keyapis.telemetry_alerting.v1.TriggerPaging

GetTriggerListResponse

Ответ на запрос получения списка записей

Поле Описание Тип Признак
data Триггер optional keyapis.telemetry_alerting.v1.Trigger

GetTriggerRequest

Запрос на чтение триггера

Поле Описание Тип Признак
id Идентификатор триггера int32 REQUIRED

GetTriggerResponse

Ответ на чтение триггера

Поле Описание Тип Признак
data Триггер optional keyapis.telemetry_alerting.v1.Trigger

PostTriggerAlertDisableRequest

Запрос на погашение алерта

Поле Описание Тип Признак
id Идентификатор алерта int32 REQUIRED
closing_reason Причина принудительного закрытия, заполняется в момент принудительного закрытия google.protobuf.StringValue

PostTriggerAlertDisableResponse

Ответ на запрос погашение алерта

PostTriggerRequest

Запрос на создание триггера

Поле Описание Тип Признак
data Триггер, который хотим создать или обновить keyapis.telemetry_alerting.v1.Trigger REQUIRED

PostTriggerResponse

Ответ на запрос сохранения триггера

Поле Описание Тип Признак
data Триггер, созданный или обновленный optional keyapis.telemetry_alerting.v1.Trigger

Trigger

Триггер

Поле Описание Тип Признак
id Идентификатор int32
changed_at Дата последнего изменения. Заполняется и обновляется сервером. Заполняется при создании и изменении. Является версией объекта google.protobuf.Timestamp OUTPUT_ONLY
title Название триггера string REQUIRED
criteria_type Тип критерия триггера keyapis.telemetry_alerting.v1.Trigger.CriteriaType REQUIRED
threshold Пороговое значение триггера float REQUIRED
sliding_days Скользящее окно относительно текущего момента. Начало окна это 00:00:00.000 UTC дня на sliding_days раньше текущего UTC дня. Конец окна - текущий момент optional int32
fixed_days_range Границы временного окна, в текущем или предыдущем месяце optional keyapis.telemetry_alerting.v1.Trigger.FixedDaysOfMonth
period_type Тип периода контроля keyapis.telemetry_alerting.v1.Trigger.PeriodType REQUIRED
severity_type Уровень критичности проблемы, которая описана критерием. Задает приоритет оповещения и реагирования keyapis.telemetry_alerting.v1.Trigger.SeverityType REQUIRED
is_disabled Флаг активности триггера. При погашении триггера гасятся и все его алерты bool REQUIRED
instruction Краткая инструкция по решению или эскалации проблемы google.protobuf.StringValue
metric_types Фильтрация метрик по типам метрик. При нескольких элементах фильтрация срабатывает по значениям через ИЛИ repeated keyapis.telemetry_alerting.v1.Trigger.MetricType
device_models Фильтрация метрик по значению моделей устройств. При нескольких элементах фильтрация срабатывает по значениям через ИЛИ repeated string
device_types Фильтрация метрик по значению типов устройств. При нескольких элементах фильтрация срабатывает по значениям через ИЛИ repeated keyapis.telemetry_alerting.v1.Trigger.DeviceType
metric_grouping_type Тип группировки метрик при вычислении критерия keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType
success_threshold Количество отрицательных проверок критерия, после которого сервис отключает int32
tags Произвольные теги для фильтрации и упорядочивания repeated string
is_manually_unclosable Флаг невозможности погашения алертов этого триггера bool
is_range_metric_expected_freq Признак контроля триггером временного окна выборки метрик на основе поля индикатора metric_expected_freq. При значении true: поля range.sliding_days, range.fixed_days_range игнорируются при работе триггера. При значении true: временное окно выборки метрик при работе триггера работает как sliding_days=indicator.metric_expected_freq. При значении true: Для случаев indicator.metric_expected_freq=null индикатор игнорируется при работе триггера, алерт по нему не создается. При значении true: Для случаев indicator.metric_expected_freq<=0 индикатор игнорируется при работе триггера, алерт по нему не создается bool

Trigger.Alert

Определение проблемы, сгенерированной по триггеру

Поле Описание Тип Признак
id Идентификатор int32 OUTPUT_ONLY
changed_at Дата последнего изменения. Заполняется и обновляется сервером. Заполняется при создании и изменении. Является версией объекта google.protobuf.Timestamp OUTPUT_ONLY
trigger_id Породивший триггер int32 REQUIRED
fias_id ФИАС string REQUIRED
raised_at Время возникновения алерта google.protobuf.Timestamp REQUIRED
is_disabled Признак погашенного алерта. Проставляется сервисом при no_alarm_checks_count >= success_threshold bool REQUIRED
no_alarm_checks_count Количество проверок триггера для атрибутов данного алерта, при которых не выполнился критерий триггера. Увеличивается у непогашенного алерта, если при очередной проверке нет срабатывания триггера с атрибутами данного алерта. При увеличении проставляется changed_at int32 REQUIRED
trigger_metric_types Типы метрик, по которым были отфильтрованы метрики repeated keyapis.telemetry_alerting.v1.Trigger.MetricType
device_models Модели устройств, по которым были отфильтрованы метрики repeated string
trigger_device_types Типы устройств, по которым были отфильтрованы метрики repeated keyapis.telemetry_alerting.v1.Trigger.DeviceType
device_parent_id Идентификаторы родительских устройств, по которому были сгруппированы метрики google.protobuf.Int32Value
closed_at Время погашения алерта. Пустой или отсутствует у непогашенного активного алерта google.protobuf.Timestamp
is_manually_closed Признак принудительного погашения алерта bool
closing_reason Причина принудительного закрытия, заполняется в момент принудительного закрытия google.protobuf.StringValue
trigger_metric_grouping_type Группировка метрик при вычислении критерия keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType

Trigger.FixedDaysOfMonth

Границы временного окна, в текущем или предыдущем месяце. Если end_day текущего месяца не наступил, то берем прошлый месяц

Поле Описание Тип Признак
start_day Начало окна времени. Номер дня месяца, момент времени 00:00:00.000 UTC int32
end_day Конец окна времени. Номер дня месяца, момент времени 00:00:00.000 UTC int32

TriggerAlertFilter

Параметры фильтрации алертов. При передаче массива в параметр фильтра элементы массива работают в выборке через ИЛИ. При передаче нескольких разных параметров фильтра они работают в выборке через И

Поле Описание Тип Признак
trigger_severity_types По важности триггера repeated keyapis.telemetry_alerting.v1.Trigger.SeverityType
fias_ids По ФИАСам repeated string
tags По тэгам repeated string
metric_types По типам метрик триггера repeated keyapis.telemetry_alerting.v1.Trigger.MetricType
device_models По моделям устройств repeated string
device_types По типам устройств repeated keyapis.telemetry_alerting.v1.Trigger.DeviceType
device_parent_ids По идентификаторам родительских устройств repeated int32
device_ids По идентификаторам устройств repeated int32
is_disabled По признаку активности google.protobuf.BoolValue
after_raised_at От даты возникновения включительно (>=) google.protobuf.Timestamp
before_raised_at До даты возникновения (<) google.protobuf.Timestamp
metric_grouping_types По типам группировки метрик repeated keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType
trigger_ids По идентификаторам триггеров repeated int32

TriggerAlertPaging

Параметры пагинации алертов

Поле Описание Тип Признак
order_by_type Тип значения сортировки. По умолчанию: ORDER_BY_TYPE_RAISED_AT keyapis.telemetry_alerting.v1.TriggerAlertPaging.OrderByType
direction_type Тип направления сортировки. По умолчанию: DESC keyapis.telemetry_alerting.v1.TriggerAlertPaging.DirectionType
limit Сколько элементов нужно получить за раз. Минимальное значение: 1. Максимальное значение: 100. По умолчанию: 20. Если значение 0 (не передано), то выставляем значение по умолчанию int32
offset Начальный сдвиг. По умолчанию: 0 int32

TriggerFilter

Параметры фильтрации триггеров. При передаче массива в параметр фильтра элементы массива работают в выборке через ИЛИ. При передаче нескольких разных параметров фильтра они работают в выборке через И

Поле Описание Тип Признак
severity_types По уровням критичности repeated keyapis.telemetry_alerting.v1.Trigger.SeverityType
tags По тэгам repeated string
metric_types По типам метрик триггеров repeated keyapis.telemetry_alerting.v1.Trigger.MetricType
device_models По моделям устройств repeated string
device_types По типам устройств repeated keyapis.telemetry_alerting.v1.Trigger.DeviceType
metric_grouping_types По типам группировки метрик repeated keyapis.telemetry_alerting.v1.Trigger.MetricGroupingType
is_disabled По признаку активности триггера google.protobuf.BoolValue

TriggerPaging

Параметры пагинации триггеров

Поле Описание Тип Признак
order_by_type Тип значения сортировки. По умолчанию: SEVERITY keyapis.telemetry_alerting.v1.TriggerPaging.OrderByType
direction_type Тип направления сортировки. По умолчанию: ASC keyapis.telemetry_alerting.v1.TriggerPaging.DirectionType
limit Сколько элементов нужно получить за раз. Минимальное значение: 1. Максимальное значение: 100. По умолчанию: 20. Если значение 0 (не передано), то выставляем значение по умолчанию int32
offset Начальный сдвиг. По умолчанию: 0 int32

Trigger.CriteriaType

Справочник типов критерия триггера. Задает параметры критерия, правила поиска проблемы и генерации алерта

Номер Тип Название
0 CRITERIA_TYPE_UNKNOWN Значение не указано
1 METRICS_COUNT Количество метрик меньше порога
2 DEVICE_PERCENT Доля работающих устройств в группе меньше порога
3 METRICS_VALUE_DEVIATION Превышение порога дисперсии значений показаний

Trigger.DeviceType

Справочник типов ПУ

Номер Тип Название
0 DEVICE_TYPE_UNKNOWN Значение не указано
1 HUB Коммуникационный модуль
2 PULSE_COUNTER_RECORDER Счетчик импульсов - регистратор
3 PULSE_COUNTER_RECORDER_LR Счетчик импульсов - регистратор LoRaWAN
4 METERING_DEVICE Прибор учета расхода коммунальных услуг
5 INTERFACE_CONVERTER Конвертер интерфейсов
6 M_BUS_HUB M-BUS концентратор
7 COMMUNICATION_MODULE_LR Модуль связи LoRaWAN
8 BASE_LR Базовая станция LoRaWAN

Trigger.MetricGroupingType

Типы группировок метрик при вычислении критерия

Номер Тип Название
0 METRIC_GROUPING_TYPE_UNKNOWN Значение не указано
1 PARENT_ID Признак группировки метрик по идентификаторам родительского устройства(идентификатор хаба, проксирующего прибор учета)
2 DEVICE_ID Признак группировки метрик по идентификатору устройства(устройство, с которого получена метрика)

Trigger.MetricType

Справочник типов энергоресурсов, собираемых ТУ

Номер Тип Название
0 METRIC_TYPE_UNKNOWN Значение не указано
1 HOT_WATER Горячая вода
2 COLD_WATER Холодная вода
3 HEAT Теплоэнергия
4 GAS Газ
5 ELECTRICITY Электроэнергия

Trigger.PeriodType

Справочник типов периодов контроля триггера

Номер Тип Название
0 PERIOD_TYPE_UNKNOWN Значение не указано
1 DAY День
2 MONTH Месяц

Trigger.SeverityType

Справочник типов уровней критичности

Номер Тип Название
0 SEVERITY_TYPE_UNKNOWN Значение не указано
1 CRITICAL Проблема высшего приоритета. Максимальное оповещение
2 WARNING Проблема среднего приоритета. Оповещение по внутренним каналам
3 INFO Проблема не влияет на бизнес-пользователя. Отражается во внутренних интерфейсах

TriggerAlertPaging.DirectionType

Справочник типов направлений сортировки

Номер Тип Название
0 DIRECTION_TYPE_UNKNOWN Значение не указано
1 DESC От большего к меньшему
2 ASC От меньшего к большему

TriggerAlertPaging.OrderByType

Справочник типов значений сортировки

Номер Тип Название
0 ORDER_BY_TYPE_UNKNOWN Значение не указано
1 RAISED_AT По дате возникновения
2 TRIGGER_ID По идентификатору триггера
3 TITLE По заголовку триггера
4 DISABLED По флагу активности триггера
5 SEVERITY По триггеру

TriggerPaging.DirectionType

Справочник типов направлений сортировки

Номер Тип Название
0 DIRECTION_TYPE_UNKNOWN Значение не указано
1 DESC От большего к меньшему
2 ASC От меньшего к большему

TriggerPaging.OrderByType

Справочник типов значений сортировки

Номер Тип Название
0 ORDER_BY_TYPE_UNKNOWN Значение не указано
1 ID По идентификатору
2 TITLE По заголовку
3 DISABLED По флагу активности
4 SEVERITY По Severity

Скалярные типы значений

.proto Type Примечание Python Go Ruby C# C++ Java PHP
double float float64 Float double double double float
float float float32 Float float float float float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int int32 Bignum or Fixnum (as required) int int32 int integer
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int/long int64 Bignum long int64 long integer/string
uint32 Uses variable-length encoding. int/long uint32 Bignum or Fixnum (as required) uint uint32 int integer
uint64 Uses variable-length encoding. int/long uint64 Bignum or Fixnum (as required) ulong uint64 long integer/string
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int int32 Bignum or Fixnum (as required) int int32 int integer
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int/long int64 Bignum long int64 long integer/string
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. int uint32 Bignum or Fixnum (as required) uint uint32 int integer
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. int/long uint64 Bignum ulong uint64 long integer/string
sfixed32 Always four bytes. int int32 Bignum or Fixnum (as required) int int32 int integer
sfixed64 Always eight bytes. int/long int64 Bignum long int64 long integer/string
bool boolean bool TrueClass/FalseClass bool bool boolean boolean
string A string must always contain UTF-8 encoded or 7-bit ASCII text. str/unicode string String (UTF-8) string string String string
bytes May contain any arbitrary sequence of bytes. str []byte String (ASCII-8BIT) ByteString string ByteString string