---
robots: noindex, nofollow
tags: guide, NOC
---
# Отправка информации по каналам в КАФКУ
Передача информации по каналу через `Kafka`. Для внешней системы передаётся следующая информация:
1. Метрики канала
2. Аварийные события на канале
### Идентификация канала
Канал описывается адресом `CE` в поле с метаданными сообщения `labels` в пространстве `ce_address`: `ce_address::10.212.72.25`
Класс трафика передаётся в поле с метаданными сообщения `labels` в пространстве `traffic_class`: `traffic_class::class1`. Если данные не принадлежат какому-либо классу, метаданные будут отсутствовать. Обозначение классов трафика:
| Класс трафика | Обозначение |
| --- | ---|
| Класс 1 | class1 |
| Класс 2 | class2 |
| Класс 3 | - |
## Метрики
Метрики канала представлены двумя типами сообщений:
* Метрики `SLA` - метрики канала снятые с SLA пробы
* Метрики интерфейса `CE` - метрики канала снятые с пограничного интерфейса `CE`
В случае если устройство `CE` недоступно для опроса, метрики по нему отправляться не будут. Недоступность можно фиксировать по аварийным сообщениям.
### Формат сообщения Interface
Сообщение содержит объект `JSON`
| Имя | Тип | Описание |
| --------------- | ---- | ---- |
| ts | DateTime | ISO 8601 timestamp (например `YYYY-MM-DDTHH:MM:SS`) |
| scope | Строка (`Interface`) | |
| labels | Метаданные | |
| interface_load_in_rate | Число (кбит/с) | Текущая загрузка канала |
| interface_load_out_rate | Число (кбит/с) | Текущая ихсходящая загрузка канала |
| interface_bandwith | Число (кбит/с) | Максимальная пропускная способности канала связи |
| interface_load_in_ratio | Число (проценты) | Число | Коэффициент загрузки канала |
| interface_oper_status | Число (1/0) | Состояние интерфейсов подключения |
```json
{
"scope": "Interface",
"ts": "2023-04-18T05:15:59",
"labels": ["ce_address::10.212.72.25"],
"interface_load_in_rate": 10,
"interface_bandwidth": 2048,
"interface_load_in_ratio": 745,
"interface_oper_status": 1,
}
```
### Формат сообщения SLA
Тип сообщения описывается полем `scope` в сообщении.
| Имя | Тип | Описание |
| --------------- | ---- | ---- |
| ts | DateTime | ISO 8601 timestamp (например `YYYY-MM-DDTHH:MM:SS`) |
| scope | Строка (`SCOPE`) | |
| labels | Метаданные | |
| sla_packets | Число (пакеты) | Количество переданных тестовых пакетов |
| packet_loss_ratio | Число (проценты) | Потери пакетов в прямом и обратном направлении |
| owl_out_max | Число (миллисекунды) | Односторонняя задержка пакетов в прямом направлении (Максимальная) |
| owl_in_max | Число (миллисекунды) | Односторонняя задержка пакетов в обратном направлении (Максимальная) |
| rtt_min | Число (миллисекунды) | Круговая задержка пакетов (Минимальная) |
| rtt_max | Число (миллисекунды) | Круговая задержка пакетов (Максимальная) |
| jitter_avg | Число (миллисекунды) | Вариативность односторонней задержки (средняя) |
| jitter_out_avg | Число (миллисекунды) | Вариативность односторонней задержки в прямом направлении (средняя) |
| jitter_in_avg | Число (миллисекунды) | Вариативность односторонней задержки в обратном направлении (Средняя) |
Если метрика для данного канала недоступна, в сообщении значение - `null`.
Пример
```json
{
"scope": "SLA",
"ts": "2023-04-18T05:15:59",
"sla_packets": 10,
"labels": ["ce_address::10.212.72.25", "traffic_class::class1"],
"packet_loss_ratio": 0,
"owl_out_max": 3,
"owl_in_max": 6,
"jitter_avg": 2,
"jitter_out_avg": null,
"jitter_in_avg": 5,
}
```
## Аварии
Представлены двумя типами аварий:
* Аварии недоступности CE. Обозначается классом аварии (alarm_class) `'NOC | Managed Object | Ping Failed'`
* Аварии нарушения порогов. Обозначается классом аварии `'Metric | SLA | OneWayLatency`
Формат сообщения об аварии
| Name | Type | Description |
| ------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------- |
| id | String | Alarm Id |
| `$changeid` | String | DataStream [Change ID](../../../dev/api/datastream/index.md#change-id) |
| timestamp | String | ISO 8601 отметка времени (i.e. YYYY-MM-DDTHH:MM:SS) возникновения аварии |
| clear_timestamp | String | ISO 8601 отметка времени (i.e. YYYY-MM-DDTHH:MM:SS) закрытия аварии (есть только если авария была закрыта) |
| severity | Integer | Важность |
| root | String | Идентификатор первопричины аварии |
| object | Object {{ complex }} | Устройство на котором зарегистрирована авария |
| > id | String | Managed Object's ID |
| > object_profile | Object {{ complex }} | Managed Object Profile |
| > > id | String | Managed Object Profile's ID |
| > > name | String | Managed Object Profile's Name |
| alarm_class | Object {{ complex }} | Класс (тип) аварии |
| > id | String | Идентификатор класса аварии|
| > name | String | Имя класса (типа) аварии |
| vars | Object {{ complex }} | Переменные аварии в формате ключ-значение |
| reopens | Integer | Число переоткрытий аварии |
| labels | Array String | Метки аварии |
### Пример сообщения по недоступности CE
```json
{'id': '643e0dfef9f3e959ffba87e2',
'$version': 1,
'timestamp': '2023-04-18T06:26:51',
'severity': 4666,
'reopens': 0,
'labels': ["ce_address::10.212.72.25"],
'tags': [],
'clear_timestamp': '2023-04-18T06:26:51',
'managed_object': {'id': '2000',
'name': '19-138476',
'object_profile': {'id': '3', 'name': 'pfr.main'}},
'alarm_class': {'id': '602ed9ddedf26ece540de41b',
'name': 'NOC | Managed Object | Ping Failed'},
'vars': {}'},
'direct_services': [],
'total_services': [],
'direct_subscribers': [],
'total_subscribers': [],
'$changeid': '643e0dfed8a372aa6268b04a'}
```
### Пример сообщений нарушения порогов
```json
{'id': '643e3e31848e05a3a5cf664f',
'$version': 1,
'timestamp': '2023-04-18T09:51:51.913000',
'severity': 5001,
'reopens': 0,
'labels': ["ce_address::10.212.72.25"],
'tags': [],
'managed_object': {'id': '6414',
'name': '21-071081',
'object_profile': {'id': '4', 'name': 'pfr.reserved'}},
'alarm_class': {'id': '611b90b193438360a4677a9f',
'name': 'Metric | SLA | OneWayLatency'},
'vars': {'ovalue': 160000.0,
'tvalue': 150000,
'rule': '641436b555d877a40280023c',
'action': '64142b12202ee47285b0c023',
'sla_probe': 7643067312676170180},
'direct_services': [],
'total_services': [],
'direct_subscribers': [],
'total_subscribers': [],
'change_id': '643e4f1973a43f6b286d1a26',
'$changeid': '643e4f1973a43f6b286d1a26'}
```