Есть ли в 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 мониторинга доступен и на других языках программирования. Чтобы узнать больше, ознакомьтесь с документацией.