Google Cloud Monitoring - Получите время безотказной работы, проверьте текущий статус - PullRequest
1 голос
/ 16 июня 2020

Я создал проверку работоспособности своего веб-сайта. Затем я нашел эту страницу документации , на которой показано, как извлечь информацию о проверке работоспособности с помощью C#.

После запуска кода:

public static object GetUptimeCheckConfig(string configName)
{
    var client = UptimeCheckServiceClient.Create();
    UptimeCheckConfig config = client.GetUptimeCheckConfig(configName);
    if (config == null)
    {
        Console.Error.WriteLine(
            "No configuration found with the name {0}", configName);
        return -1;
    }
    Console.WriteLine("Name: {0}", config.Name);
    Console.WriteLine("Display Name: {0}", config.DisplayName);
    Console.WriteLine("Http Path: {0}", config.HttpCheck.Path);
    return 0;
}

Я обнаружил что этот метод предоставляет информацию только о конфигурации проверки. Я хочу получить информацию о его текущем состоянии (исправно \ сломано). Похоже, эта информация отсутствует.

Я также пробовал этот помощник вызова REST - запрошенная информация там тоже отсутствует.

Можно ли извлечь текущее состояние здоровья ресурса? Или мне нужно выбрать более сложный способ извлечения данных (например, через Webhooks)?

1 Ответ

0 голосов
/ 27 июня 2020

От Документы по показателям GCP :

Чтобы отслеживать доступность сервиса, создайте проверку работоспособности. Эти проверки контролируют тип monitoring.googleapis.com/uptime_check/check_passed metri c. Не настраивайте политику предупреждений для отслеживания типа метри c, такого как compute.googleapis.com/instance/uptime, если ваша цель - отслеживать доступность службы.

И затем в документы проверки работоспособности :

Чтобы определить статус ваших проверок работоспособности с помощью API, отслеживайте метрику c monitoring.googleapis.com/uptime_check/check_passed. См. Подробности в списке показателей Google Cloud.

Исходный ответ:

Вместо GetUptimeCheckConfig вы хотите использовать timeSeries API.

Вы можете попробовать его в проводнике API по адресу https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/query

Аргументы запроса:

projects/YOUR_PROJECT_ID

Тело запроса:

{
  "query": "fetch uptime_url::monitoring.googleapis.com/uptime_check/request_latency | filter check_id = 'YOUR_CHECK_ID' | group_by [checker_location]"
}
  • * просто убедитесь, что вы заменили YOUR_PROJECT_ID и YOUR_CHECK_ID с фактическими идентификаторами
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...