API лицензирования Enterprise
Note
Starting in Grafana 13,
/apiendpoints are being deprecated in favor of the/apisroute. 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
/apiroutes 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
Проверяет, доступна ли действующая лицензия.
Требуемые права
Пояснения см. в примечании во введении.
Примеры
Пример запроса:
GET /api/licensing/check
Accept: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>
Пример ответа:
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.
Требуемые права
Пояснения см. в примечании во введении.
Примеры
Пример запроса:
POST /licensing/token
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>
{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aGlzIjoiaXMiLCJub3QiOiJhIiwidmFsaWQiOiJsaWNlbnNlIn0.bxDzxIoJlYMwiEYKYT_l2s42z0Y30tY-6KKoyz9RuLE"}
Пример ответа:
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
Вручную запрашивает у издателя лицензии новый токен.
Требуемые права
Пояснения см. в примечании во введении.
Примеры
Пример запроса:
POST /api/licensing/token/renew
Accept: application/json
Content-Type: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>
{}
Пример ответа:
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.
Требуемые права
Пояснения см. в примечании во введении.
Примеры
Пример запроса:
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/1.1 202 Accepted
Content-Type: application/json
Content-Length: 2
{}
Коды состояния:
- 202 — Принято, лицензия удалена или не существовала.
- 401 — Не авторизован
- 403 — Доступ запрещён
- 422 — Необрабатываемый объект, указано неверное имя экземпляра.