Есть ли в GCP какой-либо API для получения сведений об использовании ресурсов ..?

Я ищу некоторые API в GCP, которые могут определять использование ресурса с точки зрения часов использования, использования хранилища и т. Д.

2 ответа

Если вы заинтересованы в получении информации об использовании ресурсов Compute Engine, чтобы соотнести фактическое потребление с выставлением счетов, вы можете использовать их в отчетах об использовании ресурсов.

После настройки отчеты об использовании будут доставляться в предварительно настроенный сегмент облачного хранилища. Есть два типа отчетов, которые создаются на регулярной основе:

  • Отчеты о ежедневном использовании
  • Ежемесячный сводный отчет

Поддерживаемые метрики относятся к рассматриваемым ресурсам:

  • Виртуальные машины
  • Постоянные диски
  • Изображений
  • Снимки
  • Статические IP-адреса
  • Балансировщики нагрузки

Созданные отчеты содержат количество потребленных ресурсов, измеренное в единицах (количество, секунды, часы и т. Д.), Специфичных для типа ресурса.

Вы можете управлять функцией отчетов об использовании с помощью Cloud Console, gcloud и API.

Дополнительные сведения см. В разделе Compute Engine> Документ> Просмотр отчетов об использовании.

Да, вы можете использовать API облачного мониторинга для получения данных об использовании ресурсов. Взгляните на это: https://cloud.google.com/monitoring/api/ref_v3/rpc .

Вы можете перечислить все доступные ресурсы и соответствующие им показатели, а также создать ListTimeSeriesRequest с типом метрики в качестве фильтра для получения данных об использовании. Вот пример кода на Python для получения «cpu_utilization» для экземпляров виртуальных машин:

      from google.cloud import monitoring_v3

client = monitoring_v3.MetricServiceClient()
project_name = f"projects/{project_id}"

now = time.time()
seconds = int(now)
nanos = int((now - seconds) * 10 ** 9)
interval = monitoring_v3.TimeInterval(
    {
        "end_time": {"seconds": seconds, "nanos": nanos},
        "start_time": {"seconds": (seconds - 1200), "nanos": nanos},
    }
)

results = client.list_time_series(
    request={
        "name": project_name,
        "filter": 'metric.type = "compute.googleapis.com/instance/cpu/utilization"',
        "interval": interval,
        "view": monitoring_v3.ListTimeSeriesRequest.TimeSeriesView.FULL,
    }
)
for result in results:
    print(result)

API мониторинга доступен и на других языках программирования. Чтобы узнать больше, ознакомьтесь с документацией.

Другие вопросы по тегам