API статус-панели
Public Status API — это инструмент для получения информации о статусе плановых работ в обслуживании сервисов Selectel, который можно интегрировать с вашим приложением, системой или сайтом. Получаемая информация соответствует отображаемой в текущий момент на странице, за исключением вывода истории. Время обновления данных приводится в формате UTC.
Метод вызова API представляет собой HTTP-запрос GET к URL без дополнительной авторизации. При выполнении запроса API возвращает модель объекта в формате JSON. Например:
curl -XGET -H "Content-Type: application/json" 'http://selectel.status.io/1.0/status/5980813dd537a2a7050004bd'
, где:
- -XGET – параметр, указывающий тип запроса к API;
- “Content-Type: application/json” – HTTP-заголовок для явного описания типа данных, содержащихся в теле запроса;
- адрес API указывается в одинарных кавычках.
Пример структуры данных ответа
В целях удобочитаемости, вывод сокращен:
{
"result": {
"status_overall": {
"updated": "2017-10-31T08:50:22.060Z",
"status": "Operational",
"status_code": 100
},
"status": [
{
"id": "5982de1e383934bd050006ac",
"name": "Dedicated Servers and Colocation",
"updated": "2017-10-31T08:50:22.060Z",
"status": "Operational",
"status_code": 100,
"containers": [
{
"id": "5982d729f6278a3b05000618",
"name": "Control panel",
"updated": "2017-10-26T10:35:26.669Z",
"status": "Operational",
"status_code": 100
},
...
Параметр | Описание |
---|---|
status_overall | Общая сводка состояния всех сервисов и их инстансов |
id | Идентификатор сервиса |
name | Название сервиса |
updated | Время обновления информации в формате UTC |
containers | Разделы инстансов сервиса |
status | Статус сервиса |
status_code | Код статуса сервиса |
Значения параметров status_code и status:
status_code | status | Описание |
---|---|---|
100 | Operational | Все работает в штатном режиме |
200 | Planned Maintenance | Запланированное обслуживание |
300 | Degraded Performance | Сервис работает, но имеет проблемы с производительностью |
400 | Partial Service Disruption | Частичная недоступность сервиса |
500 | Service Disruption | Сервис полностью недоступен |
600 | Security Event | Событие безопасности |
Информация о запланированном обслуживании
Пример части вывода, ниже разберем его более подробно:
...
"incidents": [],
"maintenance": {
"active": [],
"upcoming": [
{
"name": "Плановые работы на внутреннем канале связи",
"_id": "59f80c422d8d1864854fea62",
"datetime_open": "2017-10-31T05:38:10.903Z",
"datetime_planned_start": "2017-11-01T21:00:00.000Z",
"datetime_planned_end": "2017-11-01T23:00:00.000Z",
"messages": [
{
"details": "Проводятся плановые работы по возвращению на основную схему сети после обрыва канала ВОЛС RETN 15.10.2017.\r\nСвязность Москва - Петербург обеспечивается резервным каналом.\r\nНа время плановых работ снижен уровень резервирования до N+0.\r\nВремя фактического перерыва связи составит до 30 минут.\r\nНедоступность могут фиксировать клиенты, использующие прямые каналы RETN.",
"state": 100,
"status": 200,
"datetime": "2017-10-31T05:38:00.000Z"
}
],
"containers_affected": [
{
"name": "Core network",
"_id": "59b69a93d4c04f860500078d"
}
],
"components_affected": [
{
"name": "Network",
"_id": "59b69ac3331fbea405000743"
}
]
}
]
}
...
Указывается тип инцидента и его состояние:
...
"incidents": [],
"maintenance": {
"active": [],
"upcoming": [
...
Название, идентификатор, дата создания, начала и окончания инцидента:
...
{
"name": "Плановые работы на внутреннем канале связи",
"_id": "59f80c422d8d1864854fea62",
"datetime_open": "2017-10-31T05:38:10.903Z",
"datetime_planned_start": "2017-11-01T21:00:00.000Z",
"datetime_planned_end": "2017-11-01T23:00:00.000Z",
...
Описание инцидента, его коды статуса, время создания (изменения) описания.
Код “state” инцидента | Описание |
---|---|
100 - Investigating | Проблема изучается, поиск решения |
200 - Identified | Проблема известна и решается |
300 - Monitoring | Проблема устранена, производится мониторинг |
...
"messages": [
{
"details": "Проводятся плановые работы по возвращению на основную схему сети после обрыва канала ВОЛС RETN 15.10.2017.\r\nСвязность Москва - Петербург обеспечивается резервным каналом.\r\nНа время плановых работ снижен уровень резервирования до N+0.\r\nВремя фактического перерыва связи составит до 30 минут.\r\nНедоступность могут фиксировать клиенты, использующие прямые каналы RETN.",
"state": 100,
"status": 200,
"datetime": "2017-10-31T05:38:00.000Z"
}
]
...
Указание затронутых сервисов:
...
],
"containers_affected": [
{
"name": "Core network",
"_id": "59b69a93d4c04f860500078d"
}
],
"components_affected": [
{
"name": "Network",
"_id": "59b69ac3331fbea405000743"
}
...
В случае ошибки в URL запроса API вернет ответ:
{"error":"status page not found"}
или
{
"status": {
"error": "yes",
"message": "Not Found"
}
}
Если ошибка будет в типе запроса (доступны только GET-запросы), ответ будет таким:
{
"status": {
"error": "yes",
"message": "Forbidden"
}
}