API лицензирования Enterprise

Note

Starting in Grafana 13, /api endpoints are being deprecated in favor of the /apis route. Note that while Grafana is working on migrating existing APIs, currently there may not be an exact match to the legacy API you’re using.

This change doesn’t disrupt or break your current setup. Legacy APIs are not being disabled and remain fully accessible and operative, but /api routes will no longer be updated.

To learn more refer to the new API structure in Grafana.

Лицензирование доступно только в Grafana Enterprise. Подробнее о Grafana Enterprise.

Caution

Вы не можете аутентифицироваться в HTTP API лицензирования с помощью токенов сервисных учётных записей. Сервисные учётные записи ограничены организацией и ролью в организации. Им нельзя предоставить права администратора сервера Grafana.

Чтобы использовать эти конечные точки API, необходимо применять basic-аутентификацию, и пользователь Grafana должен иметь право администратора сервера Grafana.

Пользователь admin, с которым Grafana создаётся по умолчанию, имеет права на использование этих конечных точек API.

Если вы используете Grafana Enterprise, для некоторых конечных точек потребуются определённые права. Дополнительные сведения см. в разделе Права управления доступом на основе ролей.

Проверка доступности лицензии

Примечание: доступно в Grafana Enterprise v7.4+.

GET /api/licensing/check

Проверяет, доступна ли действующая лицензия.

Требуемые права

Пояснения см. в примечании во введении.

Действие Область
licensing:read н/д

Примеры

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

http
GET /api/licensing/check
Accept: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>

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

http
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 4

true

Коды состояния:

  • 200 — OK

Добавление лицензии

Note

Доступно в Grafana Enterprise v7.4+.

POST /api/licensing/token

Применяет лицензию к экземпляру Grafana.

Требуемые права

Пояснения см. в примечании во введении.

Действие Область
licensing:write н/д

Примеры

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

http
POST /licensing/token
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>

{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aGlzIjoiaXMiLCJub3QiOiJhIiwidmFsaWQiOiJsaWNlbnNlIn0.bxDzxIoJlYMwiEYKYT_l2s42z0Y30tY-6KKoyz9RuLE"}

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

http
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 357

{
"status":0,
"jti":"",
"iss":"",
"sub":"",
"iat":0,
"exp":0,
"nbf":0,
"lexp":0,
"lid":"",
"limit_by":"",
"included_users":0,
"lic_exp_warn_days":0,
"tok_exp_warn_days":0,
"update_days":0,
"prod":null,
"company":"",
"account":"",
"slug":"",
"usage_billing":false,
"max_concurrent_user_sessions":0,
"details_url":"",
"trial":false,
"trial_exp":0,
"anonymousRatio":0
}

Ответ — это JSON-объект с определёнными значениями, намеренно не показанными. Доступные поля могут измениться в любой момент без предварительного уведомления. Информацию об использовании API для проверки состояния вашей лицензии см. в разделе Проверка доступности лицензии.

Коды состояния:

  • 200 — OK
  • 400 — Некорректный запрос
  • 500 — Внутренняя ошибка сервера (подробности см. в журналах сервера)

Принудительное обновление лицензии вручную

Note

Доступно в Grafana Enterprise v7.4+.

POST /api/licensing/token/renew

Вручную запрашивает у издателя лицензии новый токен.

Требуемые права

Пояснения см. в примечании во введении.

Действие Область
licensing:write н/д

Примеры

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

http
POST /api/licensing/token/renew
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>

{}

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

http
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 357

{
  "jti":"2",
  "iss":"https://grafana.com",
  "sub":"https://play.grafana.org/"
  "lid":"1",
  "included_users":15,
  "lic_exp_warn_days":30,
  "tok_exp_warn_days":2,
  "update_days":1,
  "prod":["grafana-enterprise"],
  "company":"Grafana Labs"
}

Ответ — это JSON-объект, доступный для целей отладки. Доступные поля могут измениться в любой момент без предварительного уведомления.

Коды состояния:

  • 200 — OK
  • 401 — Не авторизован
  • 403 — Доступ запрещён

Удаление лицензии из базы данных

Note

Доступно в Grafana Enterprise v7.4+.

DELETE /api/licensing/token

Удаляет лицензию, хранящуюся в базе данных Grafana.

Требуемые права

Пояснения см. в примечании во введении.

Действие Область
licensing:delete н/д

Примеры

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

http
DELETE /api/licensing/token
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>

{"instance": "http://play.grafana.org/"}

Схема тела JSON:

  • instance — корневой URL экземпляра, для которого следует удалить лицензию. Обязательно.

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

http
HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 2

{}

Коды состояния:

  • 202 — Принято, лицензия удалена или не существовала.
  • 401 — Не авторизован
  • 403 — Доступ запрещён
  • 422 — Необрабатываемый объект, указано неверное имя экземпляра.