Ищете REST API (ы) в Google Cloud для получения информации о работоспособности, загрузке процессора и т. Д. Серверов, развернутых в kubernetes

#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’, он жалуется, что ожидаемое значение для запроса является строковым значением, но объект найден.