TokenAuth для мониторинга (или очистки) данных из API (Carbonite Backup) - PullRequest
0 голосов
/ 03 августа 2020

В настоящее время я изучаю лучший способ визуализации данных из Carbonite Server Backup. Они предлагают простой API, который возвращает данные Json. Я хочу визуализировать эти данные в Grafana. Однако Api использует раздражающий способ аутентификации.

Мне нужно сделать вызов Api на сервер с помощью grant_type, client_id и client_secret. Это возвращает токен Api, действительный в течение 5 минут. Этот токен используется в фактических вызовах API для заголовка авторизации со значением типа Bearer TOKEN_HERE

Я наткнулся на это: https://grafana.com/docs/grafana/latest/developers/plugins/add-authentication-for-data-source-plugins/#enable -token-authentication

Это выглядит именно так, как мне нужно, однако это похоже на людей, которые создают плагины источников данных. Можно ли настроить этот маршрут для любого из Json подключаемых модулей источников данных в Grafana?

Другой возможностью может быть использование json_exporter для Prometheus, чтобы сначала очистить метрики. Однако я не могу найти очень подробные документы, поэтому я не могу сказать о возможности такой «аутентификации токена» с помощью этого экспортера.

Вот как я могу аутентифицироваться с помощью плагина источника данных для графаны. или скребок для Прометея:

{ 
"path": "example", 
"url": "https://api.example.com", 
"tokenAuth": { 
  "url": "https://login.example.com/oauth2/token", 
  "params": { 
    "grant_type": "client_credentials", 
    "client_id": "{{ .JsonData.clientId }}", 
    "client_secret": "{{ .SecureJsonData.clientSecret }}" } 
  } 
}

Есть ли у кого-нибудь опыт работы с такими методами авторизации? Как решить мою проблему?

...