#google-cloud-platform
#google-облачная платформа
Вопрос:
у меня есть приложение SpringBoot, которое сегодня показывает местоположение всех серверов в диаграммах react. у нас есть несколько приложений (серверов), развернутых в GCP с использованием Kubernetes. я хотел бы извлечь и показать работоспособность серверов, количество модулей, загрузку процессора и т.д. в моем приложении spring boot. я искал все связанные с GKE REST API в документации, однако я нашел REST URL на https://container.googleapis.com . но, похоже, ни один из них мне не помогает. пожалуйста, помогите мне найти набор REST api для получения вышеупомянутой статистики здоровья.
Комментарии:
1. У Google есть продукт и API для мониторинга. cloud.google.com/monitoring
Ответ №1:
Вы можете ознакомиться с документацией
Вы найдете всю необходимую информацию, такую как загрузка процессора и другие полезные показатели
Строки «метрического типа» в этой таблице должны иметь префикс
actions.googleapis.com/
- Метрический тип:
instance/cpu/utilization
:
Частичное использование выделенного процессора в этом экземпляре. Значения обычно представляют собой числа от 0.0 до 1.0 (но некоторые типы машин допускают разрыв выше 1.0). Диаграммы отображают значения в процентах от 0% до 100% (или более). Эта метрика сообщается гипервизором для виртуальной машины и может отличаться от
agent.googleapis.com/cpu/utilization
той, которая сообщается изнутри виртуальной машины. Отбор проб производится каждые 60 секунд. После выборки данные не отображаются в течение 240 секунд. instance_name: имя экземпляра виртуальной машины.
Создание запроса GET
@Raj: Это не URL-адрес для запроса get, проверьте это руководство, вы хотите отформатировать свой запрос get следующим образом (измените параметры в зависимости от ваших собственных значений):
curl -X GET -H "Authorization: Bearer $TOKEN"
"https://monitoring.googleapis.com/v3/projects/{{YOUR_PROJECT}}/timeSeries/?filter=metric.type = "compute.googleapis.com/instance/cpu/utilization"amp;
interval.endTime=2017-01-30T21:45:00.000000Z
amp;interval.startTime=2017-01-30T21:43:00.000000Z"
{
"timeSeries": [
{
"metric": {
"labels": {
"instance_name": "evan-test"
},
"type": "compute.googleapis.com/instance/cpu/utilization"
},
"resource": {
"type": "gce_instance",
"labels": {
"instance_id": "743374153023006726",
"zone": "us-east1-d",
"project_id": "evan-testing"
}
},
"metricKind": "GAUGE",
"valueType": "DOUBLE",
"points": [
{
"interval": {
"startTime": "2017-01-30T21:44:01.763Z",
"endTime": "2017-01-30T21:44:01.763Z"
},
"value": {
"doubleValue": 0.00097060417263416339
}
},
{
"interval": {
"startTime": "2017-01-30T21:43:01.763Z",
"endTime": "2017-01-30T21:43:01.763Z"
},
"value": {
"doubleValue": 0.00085122420706227329
}
}
]
},
...
]
Комментарии:
1. я попытался вызвать agent.googleapis.com/cpu/utilization REST api от Google Developers Rest tool. он возвращает 404 — сообщение о том, что запрошенный URL-адрес не найден.
2. да, я пробовал использовать протокол «https». вот полный URL-адрес, который я пробовал, ‘uri: agent.googleapis.com/cpu/utilization Метод: ПОЛУЧИТЬ’
3. смотрите мое редактирование, этот URL-адрес не там, где вы делаете запрос GET, 404 означает «не найден», что отличается от 403 «Запрещено», например, то, что вы, вероятно, получите, если попытаетесь отправить этот запрос с неправильным ТОКЕНОМ и укажете на неправильные instance_id, zone и project_id
4. Большое вам спасибо за предложение. предлагаемый URL-адрес REST работает и возвращает двойное значение как «единица измерения»: «xx.xx». ниже я упомянул об этом решении, 1. этот URL-адрес REST обеспечивает загрузку процессора для конкретного экземпляра. существует ли какой-либо API для получения списка экземпляров для данного проекта, местоположения или зоны? 2. существует ли API для выполнения вызова REST для извлечения токена на предъявителя? 3. когда я пытаюсь передать аналогичную полезную нагрузку в службу ‘/ cpu / utilization’, он жалуется, что ожидаемое значение для запроса является строковым значением, но объект найден.