Визуализация расходов Google Cloud в Looker Studio
Если вы используете облачные решения Google, вы можете объединить экспорт данных Cloud Billing в BigQuery с Looker Studio, чтобы быть в курсе расходов по собственным проектам.
Примечание: этот материал основан на руководстве Google Cloud, опубликованном в официальной документации.
Если у вас есть проекты, по которым вы хотите отслеживать расходы Google Cloud, вы можете настроить свою панель управления в Looker Studio и представить все это в виде красивых визуализаций, с которыми потом поделитесь с другими членами вашей компании.
В ней будет представлена вся информация по всем платным ресурсам, которые вы используете, в том числе и по облачному хранилищу Google BigQuery. Это будет особенно интересно тем пользователям, кто настроил экспорт данных из Google Analytics 4 в BigQuery и хочет мониторить свои вычислительные ресурсы.
Этот шаблон легко настроить и адаптировать под себя и клиентов. Вы сможете добавить свои визуализации, изменить текущие диаграммы в соответствии с конкретными задачами. Этот отчет будет доступен в любое время дня (24/7) и содержать самые актуальные данные о выставлении счетов и ваших затратах. Используйте его для оптимизации расходов, обнаружении аномалий в каких-то проектах и службах Google Cloud, а также для адаптации новых членов команды, которые впервые будут работать с вашими проектами в облаке.
Все нижеприведенные настройки вы сможете выполнить только после того, как привяжите свою банковскую карту к Google Cloud и будете иметь активный платежный аккаунт. Если вы этого не сделаете, то и воспользоваться данной панелью мониторинга Looker Studio вы не сможете. В связи с текущими событиями в мире Google приостановил работу для пользователей из России. На момент публикации этого материала вы не сможете привязать свою банковскую карту, выпущенную на территории РФ. Наиболее простое и эффективное решение - выпустить карту другой страны (Казахстан, Киргизия, Армения и т.д.), чтобы иметь возможность пользоваться Google Cloud и оплачивать счета. Поэтому для начала убедитесь, что ваш платежный аккаунт активен, биллинг работает, а уже затем переходите к созданию дашборда Looker Studio.
Итак, чтобы приступить к созданию такого дашборда для собственных данных, выполните следующие настройки. Для начала создайте новый проект для биллинга. Перейдите по ссылке, в верхнем меню нажмите на название проекта, а затем в открывшемся окне создайте новый (NEW PROJECT):
В поле Project name задайте проекту название (например, yakov-billing) и нажмите кнопку Create (Создать):
Через несколько секунд после этого в правом верхнем углу у вас появится уведомление об успешном создании проекта в Google Cloud:
Теперь перейдите в платежный аккаунт (Billing), а затем выберите меню Billing export.
На открывшейся странице вы увидите настройки Billing export. Убедитесь, что две службы Standard usage cost и Detailed usage cost активны, поскольку именно они используются в отчете Looker Studio, который мы будем использовать в качестве шаблона.
Standard usage cost (стандартная стоимость использования) - это сводка ваших платежных данных, включающая следующую информацию:
- идентификатор аккаунта
- дата счета
- услуги
- SKU (сервисные единицы)
- проекты
- локации
- расходы
- ярлыки/метки
- применение
- кредиты
- корректировки
- валюта
Detailed usage cost (подробная стоимость использования) - это более подробное представление ваших платежных данных, включающее всю информацию из стандартных данных о стоимости использования, а также следующую дополнительную информацию:
- идентификаторы ресурсов (например, идентификаторы экземпляров виртуальной машины);
- типы ресурсов (например, постоянный диск);
- использование ресурсов (например, загрузка ЦП, дисковый ввод-вывод).
Если напротив данных служб отображается Disabled (как на скриншоте выше), то вам необходимо сначала активировать их. Для этого нажмите кнопку EDIT SETTINGS:
На странице в Project выберите свой новый проект для биллинга:
В следующем поле Dataset нажмите на кнопку CREATE NEW DATASET:
В открывшемся окне укажите название вашего набора данных (например, billing_export), а также в меню Location type выберите место, где будет храниться набор данных. В BigQuery существует два возможных значения для этого параметра:
- REGIONAL - данные вашего набора данных будут храниться в одном регионе Google Cloud. Это значение рекомендуется для большинства наборов данных, поскольку оно обеспечивает лучшую производительность и надежность;
- MULTI-REGIONAL - данные вашего набора данных будут храниться в нескольких регионах Google Cloud. Это значение может быть полезно для наборов данных, которые должны быть доступны пользователям в нескольких регионах.
После выбора настроек нажмите CREATE DATASET. В результате в вашем проекте Google Cloud будет создан новый датасет с текущим названием. Его вам необходимо выбрать для экспорта данных о расходах в BigQuery:
В завершение нажмите кнопку SAVE. После этого статус Disabled напротив службы Standard usage cost поменяется на Enabled, а под ним будет отображаться проект и название набора данных, которые используются.
Таким образом, вы создали отдельный проект Google Cloud, в который добавили новый датасет (dataset) для того, чтобы вся ваша статистика о расходах экспортировалась в таблицу BigQuery. Затем эту таблицу вы будете использовать в качестве источника подключения в Looker Studio вместо той, которая по умолчанию добавлена в шаблон отчета разработчиками Google.
Теперь то же самое необходимо проделать для службы Detailed usage cost, чтобы напротив нее так же отображался статус Enabled.
Для нее вы можете выбрать тот же проект и тот же набор данных, что и для Standard usage cost:
В завершение сохраните настройки. В результате в Billing export у вас должны быть активны две службы и выбран один и тот же проект с одним и тем же набором данных для экспорта расходов в Google BigQuery. Такая конфигурация является наиболее приоритетной и правильной с точки зрения
Важно помнить, что экспорт данных 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
Обычно на это требуется от нескольких минут до нескольких часов. Нажав на PREVIEW, вы можете посмотреть на ее содержимое:
На следующем шаге перейдите на страницу вашего проекта по ссылке и скопируйте значение из Project ID:
Теперь перейдем к созданию дашборда Looker Studio. Сначала необходимо клонировать репозиторий GitHub, который автоматизирует этот процесс. Для этого вы будете использовать Cloud Shell - интерактивную среду оболочки для Google Cloud, которую вы можете использовать из своего браузера. Используя уже готовый сценарий из командной строки, он выполнит следующие задачи:
- создаст новый набор данных BigQuery с представлениями, которые извлекают данные из экспорта стандартных и подробных данных о расходах;
- скопирует шаблон отчета Looker Studio и соединит копию с представлениями (views) ваших данных BigQuery;
- предоставит вам ссылку на новый отчет Looker Studio, которую вы сможете сохранить и которой сможете поделиться с другими пользователями.
Чтобы создать свою копию, откройте репозиторий GitHub в Cloud Shell, перейдя по ссылке. На открывшейся странице нажмите ПОДТВЕРДИТЬ:
Следующий экран - процесс подготовки экземпляра оболочки и клонирования репозитория:
После этого у вас откроется Cloud Shell Editor, где справа будет отображаться учебное пособие по репозиторию и помощь в его развертывании. Настройте виртуальную среду, скопировав код из туториала и вставив его в терминал:
Нажмите Enter. Начнется установка виртуальной среды и всех необходимых пакетов Python для работы. В конце вы должны увидеть экран примерного такого вида:
Теперь справа в учебном пособии нажмите кнопку START:
В следующем окне справа скопируйте строчку python billboard.py -h и вставьте ее в терминал:
Снова нажмите Enter. Скрипт billboard.py содержит четыре обязательных параметра:
- pr - идентификатор проекта Google Cloud;
- se - название датасета для стандартной стоимости использования (Standard usage cost);
- de - название датасета для полной стоимости использования (Detailed usage cost);
- bb - название вашего отчета в Looker Studio, который будет создан после запуска скрипта.
Пример строки кода, которую вы должны вставить в терминал, вы можете скопировать со второго шага учебного пособия справа:
1 |
python billboard.py -pr <project id> -se <standard billing ds> -de <detailed billing ds> -bb <billboard_ds> |
Таким образом, вставив в нее свои собственные данные по идентификатору проекта Google Cloud, который вы указали в Billing Export (см. выше), названию набора данных для стандартной стоимости использования и для полной стоимости использования, а также придумав название вашего отчета в Looker Studio, вы получите что-то похожее не мое выражение:
1 |
python billboard.py -pr yakov-billing -se billing_export -de billing_export -bb my_dashboard |
Вставьте его в терминал и нажмите Enter. Если Google попросит вас авторизовать Cloud Shell, сделайте это:
После выполнения скрипта вам будет предоставлена ссылка на новый отчет Looker Studio, которую вы можете скопировать прямо из терминала:
Помимо самой ссылки, в вашем проекте Google Cloud в BigQuery будут созданы отдельные представления:
Скопировав ссылку, откройте свой отчет. Если вы только-только создали его и до этого использовали экспорт данных Cloud Billing, то в 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
Если вы хотите, чтобы панель мониторинга включала данные из нескольких платежных аккаунтов Cloud, вы можете изменить представления BigQuery, включив в них экспорт данных о платежах для всех платежных аккаунтов Cloud. Подробнее о том, как это сделать, читайте в официальной документации Google Cloud.
Если у вас во время выполнения команды python billboard.py -pr yakov-billing -se billing_export -de billing_export -bb my_dashboard высвечивается ошибка такого вида:
1 2 |
Version of billboard.py 3.0 Permission Denied, check project level permission |
Вполне, вероятно, что это связано с Cloud Billing API, который отключен в вашем проекте. Включите его в Google Cloud и повторите команду в Cloud Shell: