Визуализация расходов Google Cloud в Looker Studio

24 декабря, 2023

Если вы используете облачные решения Google, вы можете объединить экспорт данных Cloud Billing в BigQuery с Looker Studio, чтобы быть в курсе расходов по собственным проектам.

Примечание: этот материал основан на руководстве Google Cloud, опубликованном в официальной документации.

Если у вас есть проекты, по которым вы хотите отслеживать расходы Google Cloud, вы можете настроить свою панель управления в Looker Studio и представить все это в виде красивых визуализаций, с которыми потом поделитесь с другими членами вашей компании.

Визуализация расходов Google Cloud в Looker Studio

Ссылка на отчет Looker Studio

В ней будет представлена вся информация по всем платным ресурсам, которые вы используете, в том числе и по облачному хранилищу Google BigQuery. Это будет особенно интересно тем пользователям, кто настроил экспорт данных из Google Analytics 4 в BigQuery и хочет мониторить свои вычислительные ресурсы.

Этот шаблон легко настроить и адаптировать под себя и клиентов. Вы сможете добавить свои визуализации, изменить текущие диаграммы в соответствии с конкретными задачами. Этот отчет будет доступен в любое время дня (24/7) и содержать самые актуальные данные о выставлении счетов и ваших затратах. Используйте его для оптимизации расходов, обнаружении аномалий в каких-то проектах и службах Google Cloud, а также для адаптации новых членов команды, которые впервые будут работать с вашими проектами в облаке.

Все нижеприведенные настройки вы сможете выполнить только после того, как привяжите свою банковскую карту к Google Cloud и будете иметь активный платежный аккаунт. Если вы этого не сделаете, то и воспользоваться данной панелью мониторинга Looker Studio вы не сможете. В связи с текущими событиями в мире Google приостановил работу для пользователей из России. На момент публикации этого материала вы не сможете привязать свою банковскую карту, выпущенную на территории РФ. Наиболее простое и эффективное решение - выпустить карту другой страны (Казахстан, Киргизия, Армения и т.д.), чтобы иметь возможность пользоваться Google Cloud и оплачивать счета. Поэтому для начала убедитесь, что ваш платежный аккаунт активен, биллинг работает, а уже затем переходите к созданию дашборда Looker Studio.

Итак, чтобы приступить к созданию такого дашборда для собственных данных, выполните следующие настройки. Для начала создайте новый проект для биллинга. Перейдите по ссылке, в верхнем меню нажмите на название проекта, а затем в открывшемся окне создайте новый (NEW PROJECT):

Создание проекта - New project

В поле Project name задайте проекту название (например, yakov-billing) и нажмите кнопку Create (Создать):

Создание проекта

Через несколько секунд после этого в правом верхнем углу у вас появится уведомление об успешном создании проекта в Google Cloud:

Уведомление об успешно созданном проекте

Теперь перейдите в платежный аккаунт (Billing), а затем выберите меню Billing export.

Billing - Billing export

На открывшейся странице вы увидите настройки Billing export. Убедитесь, что две службы Standard usage cost и Detailed usage cost активны, поскольку именно они используются в отчете Looker Studio, который мы будем использовать в качестве шаблона.

Standard usage cost и Detailed usage cost

Standard usage cost (стандартная стоимость использования) - это сводка ваших платежных данных, включающая следующую информацию:

  • идентификатор аккаунта
  • дата счета
  • услуги
  • SKU (сервисные единицы)
  • проекты
  • локации
  • расходы
  • ярлыки/метки
  • применение
  • кредиты
  • корректировки
  • валюта

Detailed usage cost (подробная стоимость использования) - это более подробное представление ваших платежных данных, включающее всю информацию из стандартных данных о стоимости использования, а также следующую дополнительную информацию:

  • идентификаторы ресурсов (например, идентификаторы экземпляров виртуальной машины);
  • типы ресурсов (например, постоянный диск);
  • использование ресурсов (например, загрузка ЦП, дисковый ввод-вывод).

Различия между стандартной стоимостью использования и подробной стоимостью использования

Если напротив данных служб отображается Disabled (как на скриншоте выше), то вам необходимо сначала активировать их. Для этого нажмите кнопку EDIT SETTINGS:

EDIT SETTINGS

На странице в Project выберите свой новый проект для биллинга:

Выбор проекта для биллинга

В следующем поле Dataset нажмите на кнопку CREATE NEW DATASET:

Создание датасета (набора данных)

В открывшемся окне укажите название вашего набора данных (например, billing_export), а также в меню Location type выберите место, где будет храниться набор данных. В BigQuery существует два возможных значения для этого параметра:

  • REGIONAL - данные вашего набора данных будут храниться в одном регионе Google Cloud. Это значение рекомендуется для большинства наборов данных, поскольку оно обеспечивает лучшую производительность и надежность;
  • MULTI-REGIONAL - данные вашего набора данных будут храниться в нескольких регионах Google Cloud. Это значение может быть полезно для наборов данных, которые должны быть доступны пользователям в нескольких регионах.

Настройки датасета

После выбора настроек нажмите CREATE DATASET. В результате в вашем проекте Google Cloud будет создан новый датасет с текущим названием. Его вам необходимо выбрать для экспорта данных о расходах в BigQuery:

Выбор нового датасета для Billing export

В завершение нажмите кнопку SAVE. После этого статус Disabled напротив службы Standard usage cost поменяется на Enabled, а под ним будет отображаться проект и название набора данных, которые используются.

Standard usage cost - Enabled

Таким образом, вы создали отдельный проект Google Cloud, в который добавили новый датасет (dataset) для того, чтобы вся ваша статистика о расходах экспортировалась в таблицу BigQuery. Затем эту таблицу вы будете использовать в качестве источника подключения в Looker Studio вместо той, которая по умолчанию добавлена в шаблон отчета разработчиками Google.

Теперь то же самое необходимо проделать для службы Detailed usage cost, чтобы напротив нее так же отображался статус Enabled.

EDIT SETTINGS

Для нее вы можете выбрать тот же проект и тот же набор данных, что и для Standard usage cost:

Настройки Billing export

В завершение сохраните настройки. В результате в Billing export у вас должны быть активны две службы и выбран один и тот же проект с одним и тем же набором данных для экспорта расходов в Google BigQuery. Такая конфигурация является наиболее приоритетной и правильной с точки зрения

Итоговые настройки Billing export

Важно помнить, что экспорт данных Cloud Billing отражает только данные об использовании Google Cloud и расходах, доступные с даты включения экспорта Cloud Billing и после нее. Платежные данные Google Cloud не добавляются задним числом, поэтому вы не увидите данные о платежах Cloud, полученные до включения экспорта. Поэтому Google рекомендует включить экспорт счетов Cloud Billing в BigQuery одновременно с созданием учетной записи Cloud Billing, чтобы у вас был доступ к более полному набору платежных данных Google Cloud для целей анализа.

Теперь вам нужно немного подождать, пока в вашем датасете BigQuery создадутся новые таблицы:

  • gcp_billing_export_resource_v1_XXXX
  • gcp_billing_export_v1_XXXX

Таблица биллинга в Google BigQuery

Обычно на это требуется от нескольких минут до нескольких часов. Нажав на PREVIEW, вы можете посмотреть на ее содержимое:

Содержимое таблицы биллинга

На следующем шаге перейдите на страницу вашего проекта по ссылке и скопируйте значение из Project ID:

Запомните значение Project ID

Теперь перейдем к созданию дашборда Looker Studio. Сначала необходимо клонировать репозиторий GitHub, который автоматизирует этот процесс. Для этого вы будете использовать Cloud Shell - интерактивную среду оболочки для Google Cloud, которую вы можете использовать из своего браузера. Используя уже готовый сценарий из командной строки, он выполнит следующие задачи:

  • создаст новый набор данных BigQuery с представлениями, которые извлекают данные из экспорта стандартных и подробных данных о расходах;
  • скопирует шаблон отчета Looker Studio и соединит копию с представлениями (views) ваших данных BigQuery;
  • предоставит вам ссылку на новый отчет Looker Studio, которую вы сможете сохранить и которой сможете поделиться с другими пользователями.

Чтобы создать свою копию, откройте репозиторий GitHub в Cloud Shell, перейдя по ссылке. На открывшейся странице нажмите ПОДТВЕРДИТЬ:

Подтверждение открытия в Cloud Shell

Следующий экран - процесс подготовки экземпляра оболочки и клонирования репозитория:

Клонирование репозитория и подключение к редактору Cloud Shell

После этого у вас откроется Cloud Shell Editor, где справа будет отображаться учебное пособие по репозиторию и помощь в его развертывании. Настройте виртуальную среду, скопировав код из туториала и вставив его в терминал:

Копирование кода установки

Нажмите Enter. Начнется установка виртуальной среды и всех необходимых пакетов Python для работы. В конце вы должны увидеть экран примерного такого вида:

Терминал Cloud Shell

Теперь справа в учебном пособии нажмите кнопку START:

START

В следующем окне справа скопируйте строчку python billboard.py -h и вставьте ее в терминал:

Копирование строки python billboard.py -h

Снова нажмите Enter. Скрипт billboard.py содержит четыре обязательных параметра:

  1. pr - идентификатор проекта Google Cloud;
  2. se - название датасета для стандартной стоимости использования (Standard usage cost);
  3. de - название датасета для полной стоимости использования (Detailed usage cost);
  4. bb - название вашего отчета в Looker Studio, который будет создан после запуска скрипта.

Параметры скрипта billboard.py

Пример строки кода, которую вы должны вставить в терминал, вы можете скопировать со второго шага учебного пособия справа:

Пример строки для создания дашборда

Таким образом, вставив в нее свои собственные данные по идентификатору проекта Google Cloud, который вы указали в Billing Export (см. выше), названию набора данных для стандартной стоимости использования и для полной стоимости использования, а также придумав название вашего отчета в Looker Studio, вы получите что-то похожее не мое выражение:

Вставьте его в терминал и нажмите Enter. Если Google попросит вас авторизовать Cloud Shell, сделайте это:

Авторизация Cloud Shell

После выполнения скрипта вам будет предоставлена ссылка на новый отчет Looker Studio, которую вы можете скопировать прямо из терминала:

Ссылка на ваш новый отчет Looker Studio

Помимо самой ссылки, в вашем проекте Google Cloud в BigQuery будут созданы отдельные представления:

Новые представления в BigQuery

Скопировав ссылку, откройте свой отчет. Если вы только-только создали его и до этого использовали экспорт данных Cloud Billing, то в Looker Studio вы не увидите никаких данных, дашборды будут пустыми:

Отчет в Looker Studio

Чтобы сохранить шаблон отчета и затем отредактировать его под свои задачи, в правом верхнем углу нажмите кнопку Изменить и опубликовать:

Изменить и опубликовать

Когда вам будет предложено добавить источники данных в отчет, нажмите Подтвердить и сохранить:

Подключение источника данных

А затем Добавить к отчету:

Добавление данных к отчету

Теперь вы можете редактировать дашборд Looker Studio под свои собственные нужды и поделиться отчетом с другими:

Редактирование отчета

Вполне вероятно, что вы не используете такое большое количество сервисов в Google Cloud, и поэтому многие вкладки для вас будут не актуальны. Например, я в своей работе пока использую только Google BigQuery для работы с данными Google Analytics 4. Поэтому мне интересны всего несколько дашбордов:

  • Overview
  • Trends
  • Cost by Service by Month
  • Cost by Project by Month
  • Cost by Project, Service, SKU
  • Cost by Region
  • Cost Analysis

Пример отчета для моего проекта osipenkov.ru

Если вы хотите, чтобы панель мониторинга включала данные из нескольких платежных аккаунтов Cloud, вы можете изменить представления BigQuery, включив в них экспорт данных о платежах для всех платежных аккаунтов Cloud. Подробнее о том, как это сделать, читайте в официальной документации Google Cloud.

Если у вас во время выполнения команды python billboard.py -pr yakov-billing -se billing_export -de billing_export -bb my_dashboard высвечивается ошибка такого вида:

Вполне, вероятно, что это связано с Cloud Billing API, который отключен в вашем проекте. Включите его в Google Cloud и повторите команду в Cloud Shell:

Активировать Cloud Billing API

Получайте бесплатные уроки и фишки

По контекстной, таргетированной рекламе и аналитике