Приложение N 8

к требованиям к вычислительной

мощности, используемой провайдером

хостинга, для проведения уполномоченными

государственными органами, осуществляющими

оперативно-разыскную деятельность

или обеспечение безопасности

Российской Федерации, в случаях,

установленных федеральными законами,

мероприятий в целях реализации

возложенных на них задач, утвержденным

приказом Министерства цифрового

развития, связи и массовых

коммуникаций Российской Федерации

от 1 ноября 2023 г. N 935

ТРЕБОВАНИЯ,

ПРЕДЪЯВЛЯЕМЫЕ К ЗАПРОСАМ МОНИТОРИНГА И ФОРМАТУ ИХ ПЕРЕДАЧИ

ПО ИНТЕРФЕЙСУ ВЗАИМОДЕЙСТВИЯ МЕЖДУ ПУНКТОМ УПРАВЛЕНИЯ

И ТЕХНИЧЕСКИМИ СРЕДСТВАМИ, ОБЕСПЕЧИВАЮЩИМИ ВЫПОЛНЕНИЕ

УСТАНОВЛЕННЫХ ДЕЙСТВИЙ ПРИ ПРОВЕДЕНИИ

ОПЕРАТИВНО-РАЗЫСКНЫХ МЕРОПРИЯТИЙ

1. ТС ОРМ должны предусматривать возможность получения ПУ следующей информации о структуре и функционировании ТС ОРМ по запросу ПУ:

1) о структуре и составе ТС ОРМ, составе и состоянии интерфейса взаимодействия ТС ОРМ с ПУ;

2) об установленном в ТС ОРМ общесистемном ПО, перечне и состоянии программных модулей в составе ПО ТС ОРМ;

3) о точках подключения ТС ОРМ к ИС и интерфейсах ввода информации в ТС ОРМ.

2. ТС ОРМ по запросу ПУ должны представлять следующую информацию в части структуры и состава ТС ОРМ, состава и состояния интерфейса взаимодействия ТС ОРМ с ПУ:

1) перечень коммутационного и серверного оборудования, средств хранения данных с его идентификацией;

2) идентификацию интерфейсов подключения оборудования ТС ОРМ друг к другу;

3) параметры для серверного оборудования:

общий и занятый объем оперативной памяти;

количество сетевых интерфейсов с их идентификацией, нагрузку;

общее количество процессоров, загрузку;

общий объем дискового пространства, объем свободного пространства;

4) параметры технических средств хранения данных:

перечень модулей, составляющих средства хранения данных с их идентификацией;

для каждого входящего в состав средств хранения данных модуля: общий объем дискового пространства, объем свободного дискового пространства и состояние модуля (функционирует штатно, произошел сбой, модуль не функционирует), текстовую расшифровку сбоя.

3. ТС ОРМ по запросу ПУ должны представлять информацию в части точек подключения ТС ОРМ к ИС, интерфейсов ввода информации в ТС ОРМ, содержащую:

1) перечень точек подключения к ИС провайдера хостинга и точек ввода информации в ТС ОРМ с их идентификацией;

2) для каждой точки подключения предоставляет информацию о:

состоянии точки подключения (ввода информации) (функционирует штатно, произошел сбой, модуль не функционирует), текстовую расшифровку сбоя;

объеме информации, поступающей в секунду;

периоде времени, в течение которого на точку подключения и (или) ввода информации в ТС ОРМ не поступала информация.

4. ТС ОРМ по запросу ПУ должны представлять следующую информацию в части состава ПО ТС ОРМ и его состояния:

1) перечень установленного общесистемного ПО с его идентификацией;

2) информацию для общесистемного ПО:

идентификатор ТС ОРМ, на котором установлено ПО;

наименование ПО;

состояние ПО (функционирует штатно, произошел сбой, модуль не функционирует), текстовую расшифровку сбоя;

3) перечень установленного ПО ТС ОРМ с его идентификацией;

4) информацию для ПО ТС ОРМ:

идентификатор ТС ОРМ, на котором установлено ПО;

назначение (определяется разработчиком ТС ОРМ);

состояние (функционирует штатно, произошел сбой, модуль не функционирует), текстовую расшифровку сбоя;

список контролируемых параметров.

5. Информация о функционировании и состоянии ТС ОРМ, указанная в пунктах 1 - 4 настоящего приложения, должна быть представлена в виде временных рядов (далее - метрик).

6. Метрики должны иметь следующий обязательный набор меток (пара ключ-значение), в которых:

systemtype - относится ли метрика к оборудованию или ПО. Может принимать одно из значений "hardware" или "software";

moduleid - идентификатор модуля;

modulename - наименование модуля;

moduletype - тип модуля;

blocknumber - номер блока оборудования;

groupname - наименование группы метрик;

softwareparentmoduleid - идентификатор модуля ПО, в состав которого входит модуль с данной метрикой;

hardwareparentmoduleid - идентификатор модуля оборудования, в состав которого входит модуль с данной метрикой.

7. Для метрик также должны быть заданы единицы измерения и описания их назначения на русском языке.

8. Для получения значений метрик ПУ направляет ТС ОРМ запросы мониторинга на интерфейс "/metric".

9. Для кодирования содержимого запросов мониторинга и ответов ТС ОРМ должен применяться формат JSON.

10. ТС ОРМ при успешном выполнении запросов мониторинга должны возвращать HTTP код 2xx.

11. ТС ОРМ при возникновении ошибки во время выполнения запросов мониторинга должны в ответе возвращать поле "error" с информацией об ошибке и следующие HTTP коды:

400 Bad Request - в запросе отсутствуют или некорректно заданы параметры;

422 Unprocessable Entity - неправильный формат запроса на языке PromQL согласно пункту 13 настоящего приложения;

503 Service Unavailable - выполнение запроса прервано на стороне ТС ОРМ.

12. Ответы на запросы мониторинга должны иметь следующий формат:

{

"status": "success" | "error",

"data": <data>,

"errorType": "<string>",

"error": "<string>",

"warnings": ("<string>"]

}

в котором:

1) поле "status" - статус выполнения запроса, может принимать одно из двух значений: "success" или "error";

2) поле "data" - результат выполнения запроса, структура поля зависит от интерфейса, на которую был отправлен запрос (согласно пункту 13 настоящего приложения);

3) поля "errorType" и "error" - соответственно тип и описание ошибки, возникшей при выполнении запроса. Данные поля должны быть задана только, если поле "status" имеет значение "error";

4) поле "warnings" - незначительные ошибки (предупреждения), возникшие во время выполнения запроса, но существенно не повлиявшие на его выполнение. При этом поле "data" может содержать частичные результаты выполнения запроса.

13. ТС ОРМ должны реализовывать внутри интерфейса "/metric" следующие дополнительные конечные точки:

1) "/api/vl/query" - предназначена для приема запросов мониторинга от ПУ в целях получения метрик для конкретного значения времени, а также передачи на ПУ результатов выполнения данных запросов. Данная интерфейс должна поддерживать HTTP методы GET и POST.

Принимаемые параметры:

"query" - запрос на языке PromQL;

"time" (опционально) - дата и время в формате согласно RFC3339 или Unix-время;

"duration" (опционально) - период времени в формате согласно Time Durations языка PromQL.

Поле "data" для ответа на запросы мониторинга для данной интерфейса должно иметь следующий вид:

{

"resultType": "matrix" | "vector" | "scalar" | "string",

"result": <value>

}

Формат поля "result" зависит от значения поля "resultType" согласно пункту 14 настоящего приложения;

2) "/api/vl/query_range" - предназначена для приема запросов мониторинга от ПУ в целях получения метрик для диапазона времени, а также передачи на ПУ результатов выполнения данных запросов. Данная интерфейс должна поддерживать HTTP методы GET и POST.

Принимаемые параметры:

"query" - запрос на языке PromQL;

"start" - дата и время начала диапазона в формате согласно RFC3339 или Unix-время;

"end" - дата и время конца диапазона в формате согласно RFC3339 или Unix-время;

"step" - временной шаг запроса в формате согласно Time Durations языка PromQL или число с плавающей точкой;

"duration" (опционально) - период времени в формате согласно Time Durations языка PromQL.

Поле "data" для ответа на запросы мониторинга для данной интерфейса должно иметь следующий вид:

{

"resultType": "matrix",

"result": <value>

}

Формат поля "result" представлен в подпункте 1 пункта 14 настоящего приложения;

3) "/api/vl/series" - предназначена для приема запросов мониторинга от ПУ в целях получения списка метрик, которые имеют заданный набор меток, а также передачи на ПУ результатов выполнения данных запросов. Данная интерфейс должна поддерживать HTTP методы GET и POST.

Принимаемые параметры:

"match[]" - перечень запрашиваемых меток в формате Time series Selectors языка PromQL;

"start" - дата и время начала диапазона в формате согласно RFC3339 или Unix-время;

"end" - дата и время конца диапазона в формате согласно RFC3339 или Unix-время.

Поле "data" для ответа на запросы мониторинга для данной интерфейса должно содержать перечень метрик (представляются перечнем их меток (пара ключ-значение)), удовлетворяющих критериям запроса;

4) "/api/vl/labels" - предназначена для приема запросов мониторинга от ПУ в целях получения списка меток, которые имеют заданный набор метрик, а также передачи на ПУ результатов выполнения данных запросов. Данная интерфейс должна поддерживать HTTP методы GET и POST.

Принимаемые параметры:

"match[]" (опционально) - перечень запрашиваемых метрик в формате Time series Selectors языка PromQL;

"start" (опционально) - дата и время начала диапазона в формате согласно RFC3339 или Unix-время;

"end" (опционально) - дата и время конца диапазона в формате согласно RFC3339 или Unix-время.

Поле "data" для ответа на запросы мониторинга для данной интерфейса должно содержать перечень названий меток, удовлетворяющих критериям запроса;

5) "/api/vl/label/<label_name>/values" - предназначена для приема запросов мониторинга от ПУ в целях получения значений заданных меток, а также передачи на ПУ результатов выполнения данных запросов. Данная интерфейс должна поддерживать HTTP метод GET.

Принимаемые параметры:

"match[]" (опционально) - перечень запрашиваемых метрик в формате Time series Selectors языка PromQL;

"start" (опционально) - дата и время начала диапазона в формате согласно RFC3339 или Unix-время;

"end" (опционально) - дата и время конца диапазона в формате согласно RFC3339 или Unix-время.

Поле "data" для ответа на запросы мониторинга для данной интерфейса должно содержать перечень значений меток, удовлетворяющих критериям запроса.

14. Поле "result" в ответах на запросы мониторинга может иметь один из следующих форматов:

1) если поле "resultType" имеет значение "matrix", то поле "result" должно иметь следующий формат:

[

{

"metric": {"<label_name>": "<label value>", ... },

"values": [[<unix_time>, "<sample_value>"], ... ],

"histograms": [[<unix time>, <histogram>], ... ]

},

...

]

2) если поле "resultType" имеет значение "vector", то поле "result" должно иметь следующий формат:

[

{

"metric": {"<label_name>": "<label value>", ... },

"value": [<unix time>, "<sample_value>"],

"histogram": [<unix_time>, <histogram>],

},

...

]

3) если поле "resultType" имеет значение "scalar", то поле "result" должно иметь следующий формат:

[<unix_time>, "<scalar_value>"]

;

4) если поле "resultType" имеет значение "string", то поле "result" должно иметь следующий формат:

[<unix_time>, "<string_value>"]

.