Мониторинг веб-сайтов и онлайн-служб на доступность




API интерфейс (версия 1.3)

По API интерфейсу вы можете автоматически подключаться к serverstate.ru и считывать различные данные как,
например, информацию о задачах по мониторингу. Данная страница содержит подробное описание интерфейса.

Доступны следующие интерфейсы:
- Доступ к проверкам доступности
- Доступ к отправленным уведомлениям
- Доступ к получателям уведомлений
- Доступ к задачам по мониторингу
- Доступ к статистике мониторинга за месяц
- Доступ к статистике мониторинга за день

Доступ к проверкам доступности
API-запрос:
http://serverstate.ru/api/1/checks/?nickname=...&password=...&sensor_id=...&from=...&to=...&state=...

API-запрос (используя Check-ID):
http://serverstate.ru/api/1/checks/?nickname=...&password=...&check_id=...

Параметр   Пример   Описание
nickname   mynickname   Псевдоним пользователя serverstate.ru.
password   34819d7beeabb9260a5c854bc85b3e44   Пароль в виде криптографического хэша (MD5).
sensor_id   12345   Идентификатор задачи по мониторингу.
from   05.09.2011   Выбор проверок доступности от указанной даты.
to   09.09.2011   Выбор проверок доступности до указанной даты.
state   successful   Выбор проверок доступности только с определенным статусом.
Выбор осуществляется по следующим значениям: all, successful и
failed. Данный параметр опциональный. По умолчанию
выбираются все проверки доступности.
check_id   12345   Идентификатор проверки доступности.. Если данные загружаются используя этот параметр, тогда параметры sensor_id, from, to и state не требуются.

API-ответ:
<?xml version='1.0' encoding='UTF-8'?>
<checks>
 <check>
  <id>...</id>
  <created>...</created>
  <successful_flag>...</successful_flag>
  <checkpoint>...</checkpoint>
  <response_time>...</response_time>
  <failure_reason>...</failure_reason>
  <applied_information>...</applied_information>
 </check>
</checks>

Параметр   Пример   Описание
id   12345   Идентификатор проверки доступности.
created   09.09.2011 18:35   Дата и время проверки доступности.
successful_flag   FALSE   Статус проверки доступности (TRUE или FALSE).
Статус TRUE обозначает, что проверка была успешной.
checkpoint   Россия (5.63.152.80)   Точка мониторинга, откуда была выполнена проверка.
Точка мониторинга отсутствует, если осуществлялся мониторинг
параметров сервера.
response_time   834   Время ответа в мс. Информация отсутствует, если осуществлялся
мониторинг параметров сервера.
failure_reason   CONTENT CHECK FAILED   При неудачных проверках — точная причина отказа.
applied_information     Данное поле содержит дополнительную информацию,
формат которой зависит от типа мониторинга:
  • Если осуществляется PING мониторинг, то данное поле содержит значение допустимой потери пакетов, а также актуальное значение потери пакетов в процентах. Например значение '50|10' означает что допустимый уровень потери пакетов составляет 50 процентов, а актуальный — 10 процентов.
  • Если осуществляется мониторинг параметров сервера, то указываются данные о параметрах и их значениях. Например, 'cpu_usage|65|GREATER THAN|95;free_disk_space|10|LESS THAN|5' содержит два параметра — cpu_usage и free_disk_space. У параметра cpu_usage актуальное значение равно 65 единиц (например, загрузка в процентах). Если актуальное значение превысит (см. ключевое слово GREATER THAN) 95 единиц, то проверка будет оцениваться как неудачная. Проверка параметра free_disk_space работает по аналогичному принципу. Доступны следующие операторы сравнения: GREATER THAN, LESS THAN, EQUALS, NOT EQUALS

Доступ к отправленым уведомлениям
API-запрос:
http://serverstate.ru/api/1/notifications/?nickname=...&password=...

Параметр   Пример   Описание
nickname   mynickname   Псевдоним пользователя serverstate.ru.
password   34819d7beeabb9260a5c854bc85b3e44   Пароль в виде криптографического хэша (MD5).

API-ответ:
<?xml version='1.0' encoding='UTF-8'?>
<notifications>
 <notification>
  <id>...</id>
  <created>...</created>
  <receiver_name>...</receiver_name>
  <receiver_contact>...</receiver_contact>
  <successful_flag>...</successful_flag>
  <type>...</type>
  <message>...</message>
 </notification>
</notifications>

Параметр   Пример   Описание
id   12345   Идентификатор уведомления.
created   09.09.2011 18:35   Дата и время, когда было создано уведомлениe.
receiver_name   Вася Пупкин   Имя адресата.
receiver_contact   contact@example.com   Адрес эл. почты, псевдоним в Twitter, Pushover-ID, номер мобильного телефона или URL скрипта.
successful_flag   TRUE   Статус (TRUE или FALSE) сообщения. Статус FALSE означает,
что произошла ошибка при отправке сообщения.
type   EMAIL   Тип сообщения (EMAIL, SMS, TWITTER, PUSHOVER или SCRIPT CALL).
message   DOWN-Message: ...   Содержание уведомления. У SCRIPT CALL уведомлений содержание отсутствует.

Доступ к получателям уведомлений
API-запрос:
http://serverstate.ru/api/1/contacts/?nickname=...&password=...

Параметр   Пример   Описание
nickname   mynickname   Псевдоним пользователя serverstate.ru.
password   34819d7beeabb9260a5c854bc85b3e44   Пароль в виде криптографического хэша (MD5).

API-ответ:
<?xml version='1.0' encoding='UTF-8'?>
<contacts>
 <contact>
  <id>...</id>
  <name>...</name>
  <notify_by_email_flag>...</notify_by_email_flag>
  <email>...</email>
  <notify_by_sms_flag>...</notify_by_sms_flag>
  <phone_number>...</phone_number>
  <notify_by_twitter_flag>...</notify_by_twitter_flag>
  <twitter_username>...</twitter_username>
  <notify_by_pushover_flag>...</notify_by_pushover_flag>
  <pushover_id>...</pushover_id>
  <notify_by_script_call_flag>...</notify_by_script_call_flag>
  <script_url>...</script_url>
  <script_secret_key>...</script_secret_key>
 </contact>
</contacts>

Параметр   Пример   Описание
id   12345   Идентификатор получателя уведомлений.
name   Вася Пупкин   Имя адресата.
notify_by_email_flag   TRUE   Уведомление (TRUE или FALSE) по электронной почте.
TRUE означает, что уведомление по эл. почте активировано.
email   contact@example.com   Адрес эл. почты.
notify_by_sms_flag   TRUE   Уведомление (TRUE или FALSE) по SMS. TRUE означает,
что уведомление по SMS активировано.
phone_number   004916312345   Номер мобильного телефона для уведомления по SMS.
notify_by_twitter_flag   TRUE   Уведомление (TRUE или FALSE) в Twitter. TRUE означает
что Twitter уведомление активировано.
twitter_username   @my_twitter_account   Псевдоним пользователя Twitter.
notify_by_pushover_flag   TRUE   Уведомление (TRUE или FALSE) через Pushover сервис. TRUE означает
что Pushover уведомление активировано.
pushover_id   xBEsu9SvCAy6fTbQwRF5ngx4oDydAK   Pushover-ID пользователя и опциональное имя устройства. Если имя устройства существует, то оба значения разделены точкой.
notify_by_script_call_flag   TRUE   Уведомление (TRUE или FALSE) через запуск скрипта. TRUE означает
что уведомление активировано.
script_url   http://example.com/my_script.php?sensor={SENSOR_ID}   URL скрипта.
script_secret_key   0vjpLnNcqq   Секретный ключ для валидации запроса.

Доступ к задачам по мониторингу
API-запрос:
http://serverstate.ru/api/1/sensors/?nickname=...&password=...&sensor_id=...

Параметр   Пример   Описание
nickname   mynickname   Псевдоним пользователя serverstate.ru.
password   34819d7beeabb9260a5c854bc85b3e44   Пароль в виде криптографического хэша (MD5).
sensor_id   12345   Идентификатор задачи по мониторингу. Данный параметр опциональный.

API-ответ:
<?xml version='1.0' encoding='UTF-8'?>
<sensors>
 <sensor>
  <id>...</id>
  <name>...</name>
  <address>...</address>
  <port>...</port>
  <type>...</type>
  <check_interval>...</check_interval>
  <notify_about_failure_rule>...</notify_about_failure_rule>
  <notify_about_uptime_flag>...</notify_about_uptime_flag>
  <enabled_flag>...</enabled_flag>
  <last_check_date>...</last_check_date>
  <failure_flag>...</failure_flag>
  <timeout>...</timeout>
  <notification>
   <contact>
    <id>...</id>
   </contact>
   <contact>
    <id>...</id>
   </contact>
  <notification>
 </sensor>
</sensors>

Параметр   Пример   Описание
id   12345   Идентификатор задачи по мониторингу.
name   Задача по мониторингу   Название задачи по мониторингу.
address   example.com   IP-адрес, домен или URL, подлежащий мониторингу.
port   80   Номер порта. У PING мониторинга номер порта не указывается.
type   HTTP   Тип мониторинга (HTTP, HTTPS, POP3, SMTP, IMAP, PING, FTP, CUSTOM PORT или SERVER PARAMETER).
check_interval   1   Интервал мониторинга в минутах.
notify_about_failure_rule   IMMEDIATE   Определение, когда после отказа будет отправлено уведомление
(IMMEDIATE, 2 FAILURE, 3 FAILURE, 4 FAILURE или 5 FAILURE).
notify_about_uptime_flag   TRUE   Отправлять уведомление, когда служба после отказа снова становится доступной (TRUE или FALSE).
enabled_flag   TRUE   Статус задачи по мониторингу (TRUE или FALSE). Статус TRUE
обозначает, что задача по мониторингу активирована.
last_check_date   09.09.2011 18:35   Дата и время последней проверки на доступность.
failure_flag   FALSE   Актуальное состояние доступности (TRUE или FALSE). Статус
TRUE означает, что служба в настоящий момент недоступна.
timeout   10   Установленный тайм-аут в миллисекундах. Тайм-аут значение
не указывается, если осуществляется мониторинг параметров сервера.
notification     Здесь определяются различные получатели уведомлений.

Доступ к статистике мониторинга за месяц
API-запрос:
http://serverstate.ru/api/1/monthly_report/?nickname=...&password=...&sensor_id=...&month=...

Параметр   Пример   Описание
nickname   mynickname   Псевдоним пользователя serverstate.ru.
password   34819d7beeabb9260a5c854bc85b3e44   Пароль в виде криптографического хэша (MD5).
sensor_id   12345   Идентификатор задачи по мониторингу.
month   09.2011   Месяц и год, за которые будет отображаться статистика.

API-ответ:
<?xml version='1.0' encoding='UTF-8'?>
<monthly_report>
 <month>...</month>
 <uptime_percent>...</uptime_percent>
 <response_time>...</response_time>
 <total_downtime>...</total_downtime>
 <avg_downtime>...</avg_downtime>
 <number_of_downtimes>...</number_of_downtimes>
</monthly_report>

Параметр   Пример   Описание
month   09.2011   Месяц и год, за который отображается статистика.
uptime_percent   99.74   Время безотказной работы в процентах.
response_time   298   Среднее время ответа в миллисекундах. Не указывается,
если осуществляется мониторинг параметров сервера.
total_downtime   121   Общее время отказа в минутах.
avg_downtime   11   Среднее время отказа в минутах.
number_of_downtimes   11   Количество отказов.

Доступ к статистике мониторинга за день
API-запрос:
http://serverstate.ru/api/1/daily_report/?nickname=...&password=...&sensor_id=...&day=...

Параметр   Пример   Описание
nickname   mynickname   Псевдоним пользователя serverstate.ru.
password   34819d7beeabb9260a5c854bc85b3e44   Пароль в виде криптографического хэша (MD5).
sensor_id   12345   Идентификатор задачи по мониторингу.
day   01.09.2011   День, месяц и год, за который отображается статистика.

API-ответ:
<?xml version='1.0' encoding='UTF-8'?>
<daily_report>
 <day>...</day>
 <uptime_percent>...</uptime_percent>
 <response_time>...</response_time>
 <details>
  <hourly_report>
   <hour>...</hour>
   <uptime_percent>...</uptime_percent>
   <response_time>...</response_time>
  </hourly_report>
 </details>
</daily_report>

Параметр   Пример   Описание
day   01.09.2011   День, месяц и год, за который отображается статистика.
uptime_percent   99.79   Время безотказной работы в процентах.
response_time   273   Среднее время ответа в миллисекундах. Не указывается,
если осуществляется мониторинг параметров сервера.
details     Статистическая информация за час.

Возможные ошибки
При обнаружении ошибки вместо XML ответа могут выводиться нижеприведенные маркеры ошибок.
 
Маркер ошибки   Описание
ERROR_INVALID_REQUEST   Неверные параметры запроса.
ERROR_INVALID_AUTH   Неверные данные авторизации.
© 2010 — 2018 Intelions OÜ
Twitter | Facebook
Возможности | Тарифы | Партнёрка | ЧаВо | API интерфейс

Новости | | Условия | Контакт | О проекте