Визуализация данных из Яндекс Трекера

Визуализация данных из Трекера в DataLens позволяет построить более сложную аналитику, чем это возможно средствами самого Трекера.

Для визуализации данных из Трекера в DataLens необходимо:

  • организовать регулярный экспорт данных во внешнее хранилище;
  • визуализировать необходимые метрики и данные с помощью DataLens.

Для визуализации данных выполните следующие шаги:

  1. Подготовьте облако к работе
  2. Создайте БД для хранения данных Трекера
  3. Получите OAuth-токен для доступа к Трекеру
  4. Создайте функцию Cloud Functions для импорта данных
  5. Создайте подключение к DataLens
  6. Создайте датасет
  7. Создайте чарт
  8. Создайте дашборд в DataLens и добавьте на него чарты

Перед началом работы

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

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Биллинг убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Если созданные ресурсы вам больше не нужны, удалите их.

Создайте БД для хранения данных Трекера

  1. Перейдите в консоль управления.
  2. В левом верхнем углу нажмите кнопку  Все сервисы.
  3. Выберите Платформа данныхManaged Service for ClickHouse.
  4. Нажмите кнопку Создать кластер ClickHouse.
  5. Укажите параметры кластера:
    • Базовые параметры:
      • ОкружениеPRODUCTION;
      • Версия24.8 LTS;
    • Ресурсы:
      • ПлатформаIntel Ice Lake;
      • Типstandart;
      • Класс хостаs3-c2-m8 (2 vCPU, 8 ГБ);
    • Размер хранилища — 30 ГБ;
    • Хосты:
      • Публичный доступВключено;
    • Настройки СУБД:
      • Управление пользователями через SQLВыключено;
      • Управление базами данных через SQLВыключено;
      • Имя пользователяtracker_data;
      • Имя БДdb1;
    • Сервисные настройки:
  6. Нажмите кнопку Создать кластер. Дождитесь, когда статус созданного кластера сменится на Alive.
  7. Скопируйте и сохраните имя хоста для дальнейшей настройки Cloud Functions.

Вкладка Хосты

Получите OAuth-токен для доступа к Трекеру

Если вы используете федеративный или сервисный аккаунт, авторизуйтесь с помощью IAM-токена.

Для доступа к API Яндекс Трекера требуется получить токен в сервисе OAuth. Полученный токен используйте в заголовке Authorization в запросах к API Яндекс Трекера.

Токен предоставляет те же права, которые есть у аккаунта пользователя в Трекере. Например, если у пользователя нет прав на изменение настроек очереди, соответствующие запросы к API будут недоступны.

Чтобы получить токен:

  1. Перейдите по ссылке https://oauth.yandex.ru/.

  2. На странице Ваши приложения нажмите  Создать.

  3. В открывшемся окне выберите вариант Для доступа к API или отладки и нажмите Перейти к созданию.

  4. Укажите название приложения и почту для связи.

  5. Добавьте разрешения для доступа к данным пользователя. Чтобы выбрать разрешение, начните вводить его название в поле Название доступа:

    • Запись в трекер (tracker:write) — все операции с данными: создание, удаление, редактирование.
    • Чтение из трекера (tracker:read) — только чтение данных.
  6. Нажмите Создать приложение.

  7. В личном кабинете Яндекс OAuth выберите созданное ранее приложение и скопируйте его идентификатор из поля ClientID.

  8. Затем сформируйте ссылку для запроса токена:

    https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор_приложения>
    
  9. Войдите в аккаунт, от имени которого вы будете работать с API, и перейдите по сформированной ссылке.

    На странице появится последовательность символов — это OAuth-токен. Скопируйте его и сохраните.

Чтобы проверить наличие доступа к API, выполните запрос информации о текущем пользователе. Если доступ не был получен, запрос вернет ответ с кодом 401 Unauthorized.

Пример запроса информации о текущем пользователе с помощью curl:

curl -X GET 'https://api.tracker.yandex.net/v3/myself' \
     -H 'Authorization: OAuth y0__xAbc******' \
     -H 'X-Org-ID: 1234******'
curl -X GET "https://api.tracker.yandex.net/v3/myself" ^
     -H "Authorization: OAuth y0__xAbc******" ^
     -H "X-Org-ID: 1234******"

Создайте функцию Cloud Functions для импорта данных

  1. Перейдите в консоль управления.
  2. В левом верхнем углу нажмите кнопку  Все сервисы.
  3. Выберите Бессерверные вычисленияCloud Functions.
  4. Нажмите кнопку Создать функцию.
  5. Укажите название функции и нажмите кнопку Создать.
  6. В открывшемся окне Редактор выберите среду выполнения Python / 3.9.
  7. Нажмите кнопку Продолжить.
  8. В поле Способ нажмите кнопку ZIP-архив.
  9. Прикрепите тестовый архив.
  10. В поле Точка входа укажите tracker_import.handler.
  11. В разделе Параметры укажите:
    • Таймаут, c60;
    • Память1024;
    • Переменные окружения:
      • TRACKER_ORG_ID — ID организации Яндекс 360 для бизнеса.

        Чтобы узнать идентификатор организации, перейдите на страницу АдминистрированиеОрганизации и скопируйте значение поля идентификатор.

      • TRACKER_OAUTH_TOKENOAuth токен учетной записи Трекера.

      • CH_HOST — имя хоста.

      • CH_DB — название базы данных.

      • CH_USERимя пользователя.

      • CH_PASSWORDпароль.

      • CH_ISSUES_TABLEtracker_issues.

      • CH_CHANGELOG_TABLEtracker_changelog.

      • TRACKER_INITIAL_HISTORY_DEPTH1d.

      • CH_STATUSES_VIEWv_tracker_statuses.

  12. Нажмите кнопку Сохранить изменения.
  13. На вкладке Тестирование нажмите кнопку Запустить тест.
  14. Результат теста — лог импорта данных:
    {
        "statusCode": 200,
        "headers": {
        "Content-Type": "text/plain"
        },
        "isBase64Encoded": false,
        "body": "OK"
    }
    
  15. Создайте триггер для регулярного экспорта новых данных в БД:
    1. Откройте раздел Cloud Functions.
    2. Нажмите Создать триггер.
    3. Укажите тип триггера — Таймер.
    4. В поле Cron-выражение выберите Каждый день.
    5. В разделе Настройки функции нажмите кнопку Создать новый.
    6. Укажите имя аккаунта. По умолчанию аккаунту присвоена роль functions.functionInvoker для работы с триггером.
    7. Нажмите кнопку Создать.
    8. Нажмите кнопку Создать триггер.

Создайте подключение в DataLens

  1. Откройте кластер Managed Service for ClickHouse®.

  2. В левой части окна выберите раздел  DataLens.

  3. Нажмите кнопку Создать подключение.

  4. Укажите настройки подключения:

  5. Нажмите кнопку Создать подключение.

Создайте датасет

  1. Перейдите на страницу подключений.
  2. Выберите подключение.
  3. В правом верхнем углу нажмите кнопку Создать датасет.
  4. Перенесите на рабочую область одну или несколько таблиц:
    • db1.v_tracker_issues — текущий (последний) срез задач;
    • db1.v_tracker_changelog — история изменения параметров задач;
    • Db1.v_tracker_statuses – время переходов между статусами на основе истории изменения задач.
  5. Нажмите кнопку Сохранить.

Создайте чарт

  1. Перейдите на главную страницу DataLens.
  2. Нажмите кнопку Создать чарт.
  3. В левом верхнем углу нажмите  Выберите датасет.
  4. В выпадающем списке Датасеты выберите датасет, созданный на предыдущем шаге.
  5. На верхней панели выберите тип визуализации. По умолчанию выбран тип Столбчатая диаграмма.

Создайте дашборд и добавьте на него чарты

  1. На главной странице DataLens нажмите Создать дашборд.

  2. В верхней части страницы дашборда нажмите кнопку ДобавитьЧарт.

  3. Заполните параметры виджета. Обратите внимание на следующие поля:

    • Название. Задает имя виджета. Отображается на верхней части виджета.
    • Чарт. Задает добавляемый виджет.
    • Описание. Задает описание виджета. Отображается на нижней части виджета.
    • Автовысота. Задает автоматическую высоту для виджетов типа Таблица и Markdown. Если параметр отключен, то высоту виджета на странице можно установить с помощью мыши.
  4. Нажмите кнопку Добавить. Виджет отобразится на дашборде.

  5. Сохраните дашборд:

    1. В правом верхнем углу дашборда нажмите кнопку Сохранить.
    2. Введите название дашборда и нажмите Создать.

    Подробнее о настройке дашбордов см. в разделе Дашборд DataLens.

Пример дашборда на основе данных из таблицы v_tracker_issues

Пример дашборда на основе данных по таблице v_tracker_issues

Пример дашборда на основе данных по таблице db1.v_tracker_statuses

Пример дашборда на основе данных по таблице db1.v_tracker_statuses

Как удалить созданные ресурсы

Чтобы перестать платить за созданные ресурсы:

ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc.