---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.5
  - property: og:type
    content: article
  - property: article:section
    content: Интеграция с другими сервисами
  - property: og:title
    content: Визуализация данных из Яндекс Трекера
  - property: article:tag
    content: Сборник инструкций
alternate:
  - https://yandex.ru/support/tracker/en/tutorials/visualisation-in-datalens.md
  - https://yandex.ru/support/tracker/ru/tutorials/visualisation-in-datalens.md
  - href: ru/tutorials/visualisation-in-datalens.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
title: Визуализация данных из Трекера
description: Для визуализация данных из Трекера необходимо организовать регулярный экспорт данных во внешнее хранилище и средствами DataLens визуализировать необходимые метрики и данные.
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/tracker/ru/llms.txt


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

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

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

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

1. [Подготовьте облако к работе](#before-you-begin)
1. [Создайте БД для хранения данных Трекера](#database-create)
1. [Получите OAuth-токен для доступа к Трекеру](#oauth-token)
1. [Создайте функцию Cloud Functions для импорта данных](#function-import)
1. [Создайте подключение к DataLens](#connection-create)
1. [Создайте датасет](#dataset-create)
1. [Создайте чарт](#chart-create)
1. [Создайте дашборд в DataLens и добавьте на него чарты](#dashboard-create)

## Перед началом работы {#before-you-begin}


{% note info "" %}

Для получения данных необходимо [авторизоваться в Трекере](https://yandex.ru/support/tracker/ru/user/login.md) с учетной записью пользователя, который имеет полный доступ к сервису.

{% endnote %}


<!-- source: ru/_includes/before-you-begin.md -->
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

1. Перейдите в [консоль управления](https://console.cloud.yandex.ru), затем войдите в Yandex Cloud или зарегистрируйтесь.
1. На странице **[Биллинг](https://billing.cloud.yandex.ru/)** убедитесь, что у вас подключен [платежный аккаунт](https://yandex.cloud/ru/docs/billing/concepts/billing-account), и он находится в статусе `ACTIVE` или `TRIAL_ACTIVE`. Если платежного аккаунта нет, [создайте его](https://yandex.cloud/ru/docs/billing/quickstart).

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на [странице облака](https://console.yandex.cloud/cloud).

[Подробнее об облаках и каталогах](https://yandex.cloud/ru/docs/resource-manager/concepts/resources-hierarchy). 
<!-- endsource: ru/_includes/before-you-begin.md -->

### Необходимые платные ресурсы {#paid-resources}
* Оплаченный [тариф](https://yandex.ru/support/tracker/ru/enable-tracker.md) для полного доступа к Трекеру.
* Постоянно запущенный кластер Managed Service for ClickHouse® (см. [тарифы Managed Service for ClickHouse®](https://yandex.cloud/ru/docs/managed-clickhouse/pricing.md));
* Использование функции Cloud Functions (см. [тарифы Cloud Functions](https://yandex.cloud/ru/docs/functions/pricing)).

Если созданные ресурсы вам больше не нужны, [удалите их](#clear-out).

## Создайте БД для хранения данных Трекера {#database-create}

1. Перейдите в [консоль управления](https://console.cloud.yandex.ru).
1. В левом верхнем углу нажмите кнопку ![](../_assets/console-icons/dots-9.svg) **Все сервисы**.
1. Выберите **Платформа данных** → **Managed Service for ClickHouse**.
1. Нажмите кнопку **Создать кластер ClickHouse**.
1. Укажите параметры кластера:
    * Базовые параметры:
        * **Окружение** — `PRODUCTION`;
        * **Версия** — `24.8 LTS`;
    * Ресурсы:
        * **Платформа** — `Intel Ice Lake`;
        * **Тип** — `standart`;
        * **Класс хоста** — `s3-c2-m8 (2 vCPU, 8 ГБ)`;
    * Размер хранилища — `30 ГБ`;
    * Хосты:
        * **Публичный доступ** — `Включено`;
    * Настройки СУБД:
        * **Управление пользователями через SQL** — `Выключено`;
        * **Управление базами данных через SQL** — `Выключено`;
        * **Имя пользователя** — `tracker_data`;
        * **Имя БД** — `db1`;
    * Сервисные настройки:
        * **Доступ из DataLens** — `Включено`;
        * **Доступ из Serverless** — `Включено`.
    Полный список настроек см. в разделе [Настройки Managed Service for ClickHouse®](https://yandex.cloud/ru/docs/managed-clickhouse/concepts/settings-list).
1. Нажмите кнопку **Создать кластер**. Дождитесь, когда статус созданного кластера сменится на `Alive`.
1. Скопируйте и сохраните имя хоста для дальнейшей настройки Cloud Functions.

![Вкладка Хосты](../_assets/dl-tracker-host-name.png =400x){.border-yes}

## Получите OAuth-токен для доступа к Трекеру {#oauth-token}

<!-- source: ru/api-ref/access.md -->
{% note warning "" %}

Если вы используете федеративный или сервисный аккаунт, авторизуйтесь с помощью [IAM-токена](#iam-token).

{% endnote %}


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



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

1. На странице **Ваши приложения** нажмите ![](../_assets/svg/add-icon.svg)</svg> **Создать**.

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

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


1. Добавьте разрешения для доступа к данным пользователя. Чтобы выбрать разрешение, начните вводить его название в поле **Название доступа**:
   * **Запись в трекер (tracker:write)** — все операции с данными: создание, удаление, редактирование.
   * **Чтение из трекера (tracker:read)** — только чтение данных.

1. Нажмите **Создать приложение**.

1. В личном кабинете [Яндекс OAuth](https://oauth.yandex.ru) выберите созданное ранее приложение и скопируйте его идентификатор из поля **ClientID**.


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

   ```
   https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор_приложения>
   ```

1. Войдите в аккаунт, от имени которого вы будете работать с API, и перейдите по сформированной ссылке. 

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



Чтобы проверить наличие доступа к API, выполните [запрос информации о текущем пользователе](https://yandex.ru/support/tracker/ru/api-ref/users/get-user-info.md). Если доступ не был получен, запрос вернет ответ с кодом `401 Unauthorized`.

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

<!-- source: ru/api-ref/_includes/curl-request.md -->
{% list tabs %}

- Unix

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

- Windows

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

{% endlist %}
<!-- endsource: ru/api-ref/_includes/curl-request.md -->
<!-- endsource: ru/api-ref/access.md -->

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

1. Перейдите в [консоль управления](https://console.cloud.yandex.ru).
1. В левом верхнем углу нажмите кнопку ![](../_assets/console-icons/dots-9.svg) **Все сервисы**.
1. Выберите **Бессерверные вычисления** → **Cloud Functions**.
1. Нажмите кнопку **Создать функцию**.
1. Укажите название функции и нажмите кнопку **Создать**.
1. В открывшемся окне **Редактор** выберите среду выполнения `Python / 3.9`.
1. Нажмите кнопку **Продолжить**.
1. В поле **Способ** нажмите кнопку **ZIP-архив**.
1. Прикрепите [тестовый архив](https://github.com/yandex-cloud-examples/yc-tracker-data-import/blob/main/build/tracker-data-import.zip).
1. В поле **Точка входа** укажите `tracker_import.handler`.
1. В разделе **Параметры** укажите:
    * **Таймаут, c** — `60`;
    * **Память** — `1024`;
    * **Переменные окружения**:
        * `TRACKER_ORG_ID` — ID организации Яндекс 360 для бизнеса.

           <!-- source: ru/api-ref/_includes/org-id.md -->
           Чтобы узнать идентификатор организации, перейдите на страницу **Администрирование** → [**Организации**](https://tracker.yandex.ru/admin/orgs) и скопируйте значение поля **идентификатор**.
           <!-- endsource: ru/api-ref/_includes/org-id.md -->

        * `TRACKER_OAUTH_TOKEN` — [OAuth токен](#oauth-token) учетной записи Трекера.
        * `CH_HOST` — имя [хоста](#database-create).
        * `CH_DB` — название [базы данных](#database-create).
        * `CH_USER` — [имя пользователя](#database-create).
        * `CH_PASSWORD` — [пароль](#database-create).
        * `CH_ISSUES_TABLE` — `tracker_issues`.
        * `CH_CHANGELOG_TABLE` — `tracker_changelog`.
        * `TRACKER_INITIAL_HISTORY_DEPTH` — `1d`.
        * `CH_STATUSES_VIEW` — `v_tracker_statuses`.
1. Нажмите кнопку **Сохранить изменения**.
1. На вкладке **Тестирование** нажмите кнопку **Запустить тест**.
1. Результат теста — лог импорта данных:
    ```json translate=no
    {
        "statusCode": 200,
        "headers": {
        "Content-Type": "text/plain"
        },
        "isBase64Encoded": false,
        "body": "OK"
    }
    ```
1. Создайте [триггер](https://yandex.cloud/ru/docs/functions/concepts/trigger) для регулярного экспорта новых данных в БД:
    1. Откройте раздел **Cloud Functions**.
    1. Нажмите ![trigger](../_assets/console-icons/gear-play.svg) → **Создать триггер**.
    1. Укажите тип триггера — **Таймер**.
    1. В поле **Cron-выражение** выберите `Каждый день`.
    1. В разделе **Настройки функции** нажмите кнопку **Создать новый**.
    1. Укажите имя аккаунта. По умолчанию аккаунту присвоена роль `functions.functionInvoker` для работы с триггером.
    1. Нажмите кнопку **Создать**.
    1. Нажмите кнопку **Создать триггер**.

## Создайте подключение в DataLens {#connection-create}

1. Откройте [кластер](#database-create) **Managed Service for ClickHouse®**.
1. В левой части окна выберите раздел ![datalens](../_assets/console-icons/chart-column.svg) **DataLens**.
1. Нажмите кнопку **Создать подключение**.
1. Укажите настройки подключения:
    * **Подключение** — `Выбрать в каталоге`;
    * **Кластер** — кластер, указанный при [создании базы данных](#database-create);
    * **Имя хост** — хост, указанный при [создании базы данных](#database-create);
    * **Порт HTTP-интерфейса** — `8443`;
    * **Имя пользователя** — имя пользователя, указанное при [создании базы данных](#database-create);
    * **Пароль** — пароль, указанный при [создании базы данных](#database-create);
    * **Время жизни кeша в секундах** — `По умолчанию`;
    * **Уровень доступа SQL запросов** — `Запретить`;
    * **HTTPS** — `Включено`.

      ![Настройки подключения](../_assets/datalens-connection-settings.png =680x){.border-yes}

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

## Создайте датасет {#dataset-create}

1. Перейдите на [страницу подключений](https://datalens.yandex.cloud//connections).
1. Выберите [подключение](#connection-create).
1. В правом верхнем углу нажмите кнопку **Создать датасет**.
1. Перенесите на рабочую область одну или несколько таблиц:
    * `db1.v_tracker_issues` — текущий (последний) срез задач;
    * `db1.v_tracker_changelog` — история изменения параметров задач;
    * `Db1.v_tracker_statuses` – время переходов между статусами на основе истории изменения задач.
1. Нажмите кнопку **Сохранить**.

## Создайте чарт {#chart-create}

1. Перейдите на главную страницу [DataLens](https://datalens.yandex.cloud/).
1. Нажмите кнопку **Создать чарт**.
1. В левом верхнем углу нажмите ![image](../_assets/console-icons/circles-intersection.svg) **Выберите датасет**.
1. В выпадающем списке **Датасеты** выберите [датасет](#dataset-create), созданный на предыдущем шаге.
1. На верхней панели выберите [тип визуализации](https://yandex.cloud/ru/docs/datalens/visualization-ref). По умолчанию выбран тип **Столбчатая диаграмма**.

## Создайте дашборд и добавьте на него чарты {#dashboard-create}

1. На главной странице [DataLens](https://datalens.yandex.cloud/) нажмите **Создать дашборд**.
1. В верхней части страницы [дашборда](#dashboard-create) нажмите кнопку **Добавить** → **Чарт**.
1. Заполните параметры виджета. Обратите внимание на следующие поля:
    * **Название**. Задает имя виджета. Отображается на верхней части виджета.
    * **Чарт**. Задает добавляемый виджет.
    * **Описание**. Задает описание виджета. Отображается на нижней части виджета.
    * **Автовысота**. Задает автоматическую высоту для виджетов типа **Таблица** и **Markdown**. Если параметр отключен, то высоту виджета на странице можно установить с помощью мыши.
1. Нажмите кнопку **Добавить**. Виджет отобразится на дашборде.
1. Сохраните дашборд:

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

   Подробнее о настройке дашбордов см. в разделе [Дашборд DataLens](https://yandex.cloud/ru/docs/datalens/concepts/dashboard).

{% cut "Пример дашборда на основе данных из таблицы `v_tracker_issues`" %}

![Пример дашборда на основе данных по таблице v_tracker_issues](../_assets/dashboard-from-table-issues.png){.border-yes}

{% endcut %}

{% cut "Пример дашборда на основе данных по таблице `db1.v_tracker_statuses`" %}

![Пример дашборда на основе данных по таблице db1.v_tracker_statuses](../_assets/dashboard-from-table-statuses.png){.border-yes}

{% endcut %}

## Как удалить созданные ресурсы {#clear-out}

Чтобы перестать платить за созданные ресурсы:
* [Удалите ClickHouse®-кластер](https://yandex.cloud/ru/docs/managed-clickhouse/operations/cluster-delete);
* [Удалите функцию Cloud Functions](https://yandex.cloud/ru/docs/functions/operations/function/function-delete).

<!-- source: ru/_includes/clickhouse-disclaimer.md -->
_ClickHouse® является зарегистрированным товарным знаком [ClickHouse, Inc](https://clickhouse.com)._
<!-- endsource: ru/_includes/clickhouse-disclaimer.md -->

<!-- source: ru/_assets/style/image.md -->

<!-- endsource: ru/_assets/style/image.md -->
