Создать метрику мониторинга

Для того, чтобы создать новую метрику хоста мониторинга, необходимо отправить POST запрос по адресу https://api.1cloud.ru/monitoring/hosts/{hostId}/metrics., где {hostId} - уникальный идентификатор хоста мониторинга, для которого создаем метрику.

Ответом будет JSON объект, данный объект будет содержать все атрибуты созданной метрики.

Входные параметры

Название Тип Описание
Name string Название метрики
Command object Команда, используемая для проверок метрик. Описание параметров данного объекта находится в таблицах ниже
EnableNotifications boolean Необходимо ли включить уведомления при изменении состояния метрики мониторинга


Параметры объекта Command
1. Ping
Название Тип Описание
Type string Тип команды, выполняющейся при проверке: Ping
TimeoutSec Number Время ожидания выполнения команды в секундах: 5, 10, 15
IntervalSec Number Интервал выполнения команды в секундах: 60, 300, 900, 1800, 3600

2. Tcp
Название Тип Описание
Type string Тип команды, выполняющейся при проверке: Tcp
TimeoutSec Number Время ожидания выполнения команды в секундах: 5, 10, 15
IntervalSec Number Интервал выполнения команды в секундах: 60, 300, 900, 1800, 3600
Port Number Номер порта, куда будет отправляться запрос команды: 1 - 65535
Send string Строка, отправляемая в запросе
ExpectedAnswer string Строка, ожидаемая в ответе

3. HttpGet
Название Тип Описание
Type string Тип команды, выполняющейся при проверке: HttpGet
TimeoutSec Number Время ожидания выполнения команды в секундах: 5, 10, 15
IntervalSec Number Интервал выполнения команды в секундах: 60, 300, 900, 1800, 3600
Port Number Номер порта, куда будет отправляться запрос команды: 1 - 65535, по умолчанию - 80
Url string Абсолютный путь к ресурсу (обязательный параметр)
ExpectedStatus string Ожидаемая первая строка в ответе сервера (значение по-умолчанию "HTTP/1")
UseSsl boolean Используется ли SSL при обращению к ресурсу

4. HttpPost
Название Тип Описание
Type string Тип команды, выполняющейся при проверке: HttpPost
TimeoutSec Number Время ожидания выполнения команды в секундах: 5, 10, 15
IntervalSec Number Интервал выполнения команды в секундах: 60, 300, 900, 1800, 3600
Port Number Номер порта, куда будет отправляться запрос команды: 1 - 65535, по умолчанию - 80
Url string Абсолютный путь к ресурсу (обязательный параметр)
ExpectedStatus string Ожидаемая первая строка в ответе сервера (значение по-умолчанию "HTTP/1")
UseSsl boolean Используется ли SSL при обращению к ресурсу
ContentType string Тип контента в теле запроса
Body string Тело запроса

5. HttpHead
Название Тип Описание
Type string Тип команды, выполняющейся при проверке: HttpHead
TimeoutSec Number Время ожидания выполнения команды в секундах: 5, 10, 15
IntervalSec Number Интервал выполнения команды в секундах: 60, 300, 900, 1800, 3600
Port Number Номер порта, куда будет отправляться запрос команды: 1 - 65535, по умолчанию - 80
ExpectedStatus string Ожидаемая первая строка в ответе сервера (значение по-умолчанию "HTTP/1")
UseSsl boolean Используется ли SSL при обращению к ресурсу

6. Dns
Название Тип Описание
Type string Тип команды, выполняющейся при проверке: Dns
TimeoutSec Number Время ожидания выполнения команды в секундах: 5, 10, 15
IntervalSec Number Интервал выполнения команды в секундах: 60, 300, 900, 1800, 3600
Domain string Доменное имя, проверяемое метрикой (по-умолчанию - название хоста)
ExpectedAnswer string Ожидаемый ответ на запрос
DnsServer string DNS-сервер, к которому выполняется обращение (по-умолчанию - DNS сервер, указанный в настройках ОС точки проверки)
DnsQueryType string Проверяемый тип записи:
  • A
  • AAAA
  • TXT
  • SRV
  • MX
  • ANY

7. Ftp
Название Тип Описание
Type string Тип команды, выполняющейся при проверке: Ftp
TimeoutSec Number Время ожидания выполнения команды в секундах: 5, 10, 15
IntervalSec Number Интервал выполнения команды в секундах: 60, 300, 900, 1800, 3600
Port Number Номер порта, куда будет отправляться запрос команды: 1 - 65535
ExpectedAnswer string Ожидаемая строка в ответе сервера
UseSsl boolean Используется ли SSL при обращению к ресурсу

8. Imap
Название Тип Описание
Type string Тип команды, выполняющейся при проверке: Imap
TimeoutSec Number Время ожидания выполнения команды в секундах: 5, 10, 15
IntervalSec Number Интервал выполнения команды в секундах: 60, 300, 900, 1800, 3600
Port Number Номер порта, куда будет отправляться запрос команды: 1 - 65535, по-умолчанию - 143
ExpectedAnswer string Ожидаемая строка в ответе сервера
UseSsl boolean Используется ли SSL при обращению к ресурсу

9. Mysql
Название Тип Описание
Type string Тип команды, выполняющейся при проверке: Mysql
TimeoutSec Number Время ожидания выполнения команды в секундах: 5, 10, 15
IntervalSec Number Интервал выполнения команды в секундах: 60, 300, 900, 1800, 3600
Port Number Номер порта, куда будет отправляться запрос команды: 1 - 65535, по-умолчанию - 3306
DataBase string База данных, к которой выполняется запрос
IgnoreAuth boolean Не выполнять авторизацию при запросе
Если значение false, то два следующих параметра обязательны
User string Имя пользователя БД
Password string Пароль

10. Pop3
Название Тип Описание
Type string Тип команды, выполняющейся при проверке: Pop3
TimeoutSec Number Время ожидания выполнения команды в секундах: 5, 10, 15
IntervalSec Number Интервал выполнения команды в секундах: 60, 300, 900, 1800, 3600
Port Number Номер порта, куда будет отправляться запрос команды: 1 - 65535, по-умолчанию - 110
ExpectedAnswer string Ожидаемая строка в ответе сервера
UseSsl boolean Используется ли SSL при обращению к ресурсу

11. Smtp
Название Тип Описание
Type string Тип команды, выполняющейся при проверке: Smtp
TimeoutSec Number Время ожидания выполнения команды в секундах: 5, 10, 15
IntervalSec Number Интервал выполнения команды в секундах: 60, 300, 900, 1800, 3600
Port Number Номер порта, куда будет отправляться запрос команды: 1 - 65535, по-умолчанию - 25
ExpectedAnswer string Ожидаемая строка в ответе сервера
AuthType string Тип авторизации:
  • None - без авторизации
  • LOGIN - с использованием логин/пароля
    При использовании данного значения, обязательны следующие два параметра
User string Имя пользователя
Password string Пароль
StartTls boolean Используется ли TLS при обращению к ресурсу

12. Ssh
Название Тип Описание
Type string Тип команды, выполняющейся при проверке: Ssh
TimeoutSec Number Время ожидания выполнения команды в секундах: 5, 10, 15
IntervalSec Number Интервал выполнения команды в секундах: 60, 300, 900, 1800, 3600
Port Number Номер порта, куда будет отправляться запрос команды: 1 - 65535, по-умолчанию - 22

13. Ssl
Название Тип Описание
Type string Тип команды, выполняющейся при проверке: Ssl
TimeoutSec Number Время ожидания выполнения команды в секундах: 5, 10, 15
IntervalSec Number Интервал выполнения команды в секундах: 60, 300, 900, 1800, 3600
Port Number Номер порта, куда будет отправляться запрос команды: 1 - 65535, по-умолчанию - 443
SslValidDaysWarn Number За какое количество дней до истечения срока действия переводить статус метрики в warning (0, если не указано)
SslValidDaysCritical Number За какое количество дней до истечения срока действия переводить статус метрики в critical (0, если не указано)

Выходные параметры

Название Тип Описание
Id Number Уникальный идентификатор метрики мониторинга
Command object Команда проверки доступности метрики мониторинга
ActiveTasks list Список активных задач, которые выполняются для данной метрики:
  1. Id - уникальный идентификатор задачи
  2. Type - тип задачи
  3. State - статус задачи на момент обработки запроса
  4. Progress- процент выполнения задачи
State string Статус метрики мониторинга на момент обработки запроса
  1. New - метрика мониторинга новая
  2. Active - метрика мониторинга существует и активна
  3. Busy - метрика мониторинга находится в обработке и недоступна для изменений

Пример запроса

curl -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer 75bb9805c018b1267b2cf599a38b95a3a811e2ef7ad9ca5ed838ea4c6bafaf50' "https://api.1cloud.ru/monitoring/hosts/123/metrics" -d '{"Name":"TestApiSsl","Command":{"Type":"Ssl","TimeoutSec":10,"IntervalSec":300,"Port":443,"SslValidDaysWarn":30,"SslValidDaysCritical":10}, "EnableNotifications": false}

Request Header

Content-Type: application/json Authorization: Bearer 75bb9805c018b1267b2cf599a38b95a3a811e2ef7ad9ca5ed838ea4c6bafaf50

Пример ответа

{
    "ActiveTasks": [
        {
            "Id": 909,
            "Type": "MetricCreate",
            "State": "New",
            "Progress": 0
        }
    ],
    "Id": 321,
    "State": "New",
    "Name": "TestApiSsl",
    "Command": {
        "Port": 443,
        "SslValidDaysWarn": 30,
        "SslValidDaysCritical": 10,
        "Type": "Ssl",
        "TimeoutSec": 10,
        "IntervalSec": 300
    }
}