Решение Cloud Monitoring собирает показатели ваших API и сервисов, а также всех используемых вами ресурсов Google Cloud Platform. В этой статье описано, как настраивать Cloud Monitoring, отслеживать использование API, а также создавать сводки и оповещения.
Сервис Cloud Monitoring предлагает множество функций и настроек. Ниже вы найдете общее описание Cloud Monitoring и несколько простейших примеров использования. Подробные сведения обо всех возможностях сервиса приведены в документации по Cloud Monitoring.
Как настроить Cloud Monitoring
В Monitoring вы можете отслеживать показатели и управлять ими для:
- одного проекта;
- нескольких проектов в одной организации;
- нескольких проектов в нескольких организациях.
Чтобы показатели по проектам были доступны, выполните следующие действия:
- В Google Cloud Console выберите раздел Monitoring.
- Убедитесь, что выбран нужный проект.
- На панели навигации Monitoring нажмите на стрелку > справа от элемента Metrics Scope (Область действия показателей).
На скриншоте ниже показана страница, которая откроется, если выбран проект AllEnvironments:
В таблице с заголовком Metrics monitored by this project (Показатели, отслеживаемые в этом проекте) перечислены все проекты, в которых доступны показатели для текущей области действия. В каждой строке таблицы указан один проект и его роль:
- Scoping project (Целевой проект). В этом проекте хранятся настроенные параметры проверок работоспособности, правил оповещений, групп и сводок. Для каждой области действия показателей может быть только один целевой проект. В нашем примере целевым является проект AllEnvironments.
- Monitored project (Отслеживаемый проект). Показатели этого проекта отслеживаются в текущей области действия. В нашем примере отслеживаемыми проектами являются Staging и Production.
В таблице с заголовком The projects listed below can view this project's metrics (Перечисленные ниже проекты могут отслеживать показатели этого проекта) перечислены проекты, для которых текущий проект включен в область действия показателей. На скриншоте выше мы видим, что ни один другой проект не имеет доступа к показателям проекта AllEnvironments.
Более подробную информацию (в том числе о том, как добавлять и удалять проекты в Cloud Monitoring) можно найти в статье о настройке Cloud Monitoring.
Как посмотреть значения показателей
Чтобы изучить данные показателей, создайте диаграмму с помощью инструмента Metrics Explorer, который входит в состав Cloud Monitoring. Например, чтобы посмотреть использование квоты для определенного API, создайте в Metrics Explorer диаграмму с последними данными.
На скриншоте ниже показана диаграмма использования квоты для API Карт.
В этом примере показана линейчатая диаграмма с накоплением, где каждый API представлен одним сегментом столбца. Вы можете создавать графики, линейчатые диаграммы, тепловые карты и другие виды диаграмм. Также можно объединить на одной диаграмме до 10 разных показателей.
Что показано на скриншоте:
- Поля Resource Type (Тип ресурса) и Metric (Показатель) слева от диаграммы определяют, какие данные показателей представлены на ней.
- В раскрывающемся списке над диаграммой можно выбрать ее тип. В нашем примере выбран вариант Stacked bar chart (Линейчатая диаграмма с накоплением).
- Также над диаграммой выбран диапазон 1W (одна неделя).
- Под диаграммой приведен список параметров: service (сервис), quota_metrics (показатели квоты), method (метод API) и value (значение показателя). Они определяют данные, показанные на диаграмме. Нажмите Add Filter (Добавить фильтр), чтобы уточнить данные с помощью этих параметров.
Когда вы закрываете страницу Metrics Explorer, диаграмма удаляется и вам не нужно самостоятельно исключать лишние объекты. Вы также можете сохранить эту диаграмму в собственной сводке или поделиться ею с другими пользователями. Подробная информация приведена далее в разделе Как создать сводку.
Как создать диаграмму по одному показателю
Чтобы настроить диаграмму в Metrics Explorer, выполните следующие действия:
- В Cloud Console выберите раздел Monitoring.
- На панели навигации выберите Metrics Explorer.
- В раскрывающемся списке с типами диаграмм выберите Stacked bar chart (Линейчатая диаграмма с накоплением).
- Выберите интервал времени, например 1W (одна неделя).
- Укажите данные, которые нужно показать на диаграмме. Чтобы выбрать нужные показатели в меню или применить фильтр, перейдите на вкладку Configuration (Конфигурация). Чтобы использовать язык запросов мониторинга (MQL, Monitoring Query Language), перейдите на вкладку MQL.
- Чтобы создать диаграмму использования квоты, в поле Resource type (Тип ресурса) выберите значение Consumer Quota (Квота клиента). Если вы хотите сами создать диаграмму, выберите Используемый API или Google Maps API. Подробную информацию о том, какие показатели доступны для API платформы Google Карт, вы можете найти в разделе Показатели использования. Наведите указатель на любой тип ресурса, чтобы увидеть его описание.
- В поле Metric (Показатель) выберите Rate quota usage (Доля использования квоты). Диаграмма автоматически обновится, и на ней появятся данные показателя. Обратите внимание, что в качестве показателя можно выбрать и другие варианты квот. Наведите указатель на любой из показателей, чтобы увидеть его описание. Дополнительные сведения о полях Metrics Explorer приведены в разделах Как выбрать показатели и Как выбрать способ показа данных на диаграмме.
- (Необязательно.) Чтобы уточнить данные диаграммы, воспользуйтесь любым из следующих способов:
- Примените фильтры. Чтобы добавить фильтр, нажмите Add filter (Добавить фильтр) и введите параметры. Подробную информацию вы найдете в статье о том, как фильтровать данные на диаграмме. Например, чтобы посмотреть данные только одного API:
- В поле Label (Ярлык) выберите method.
- В поле Comparison (Сравнение) выберите = (equals).
- В поле Value (Значение) выберите название метода. Вам будет предложено выбрать название метода, для которого есть данные.
- Нажмите Done (Готово), чтобы обновить диаграмму.
- Чтобы сгруппировать временные ряды по ярлыкам, используйте поле Group by (Группировать по). При выборе значения в этом поле автоматически заполняется поле Aggregator (Агрегатор).
- Чтобы задать способ комбинирования временных рядов, выберите значение в поле Aggregator (Агрегатор). Например, если в поле Group by (Группировать по) ничего не выбрано, а в поле Aggregator (Агрегатор) задано значение mean (среднее), то на диаграмме будут показаны средние значения по временному ряду.
- Чтобы настроить обработку отдельных временных рядов, нажмите Show Advanced Options (Показать дополнительные настройки). Более подробную информацию можно найти в статье о выборе показателей в Metrics Explorer.
- Примените фильтры. Чтобы добавить фильтр, нажмите Add filter (Добавить фильтр) и введите параметры. Подробную информацию вы найдете в статье о том, как фильтровать данные на диаграмме. Например, чтобы посмотреть данные только одного API:
Вы также можете добавить диаграмму в сводку.
Когда вы закрываете страницу Metrics Explorer, диаграмма удаляется. Вы можете нажать кнопку Save Chart (Сохранить диаграмму), чтобы сохранить диаграмму в новой или существующей сводке. Подробная информация об этом приведена далее в разделе Как создать сводку.
Как создать диаграмму по нескольким показателям
Иногда бывает удобно отслеживать на одной диаграмме сразу несколько показателей. Например, вы можете показывать на диаграмме установленные лимиты квот и потребление квот одновременно. На одной диаграмме можно отобразить не более 10 показателей.
Чтобы добавить показатель на существующую диаграмму, выполните следующие действия:
- На диаграмме выберите действие Add another metric (Добавить показатель) в нижней части экрана.
- Выберите показатель и укажите, как нужно отображать для него временной ряд, аналогично тому, как вы ранее настраивали первый показатель.
Ресурсы по теме
Дополнительные сведения об анализе показателей можно найти в следующих статьях:
- Как создавать диаграммы с помощью Metrics Explorer
- Как выбирать показатели в Metrics Explorer
- Показатели для API Google Cloud
- Показатели только для API платформы Google Карт
- Как показать на диаграмме показатели распределения
- Как выбрать режим просмотра
Как создать сводку
Сводки позволяют просматривать и отслеживать данные временных рядов в виде набора диаграмм. В Cloud Monitoring можно использовать стандартные сводки и создавать собственные.
- Стандартные сводки создаются автоматически для каждого сервиса Google Cloud Platform, который вы используете. Вы не можете изменять их.
- Собственные сводки вы создаете самостоятельно и выбираете, какие данные показывать в них и каким способом. Например, вы можете добавить в сводку данные показателей, правила оповещений и журналы, сохраненные в проекте. Данные временных рядов можно показывать в виде диаграммы, шкалы или таблицы.
Вы можете создать собственные сводки с помощью Cloud Console или Cloud Monitoring API. На скриншоте ниже показана пользовательская сводка с двумя диаграммами:
- диаграмма квоты слева;
- диаграмма числа вызовов API справа.
Чтобы создать собственную сводку, сначала создайте диаграммы с показателями, а затем добавьте их в сводку. Вы можете создать диаграмму в Metrics Explorer и добавить ее в новую или существующую сводку. Вы также можете сначала создать сводку, а затем добавить в нее диаграмму.
Если вы хотите управлять собственными сводками через Cloud Monitoring API, то можете воспользоваться двумя полезными утилитами в Metrics Explorer:
- Чтобы создать представление в формате JSON для диаграммы, которую вы хотите добавить в сводку, настройте диаграмму с помощью Metrics Explorer. Представление JSON будет доступно в меню в виде трех точек на панели инструментов Metrics Explorer.
- Чтобы определить подходящий синтаксис фильтра для Monitoring, который можно использовать с Cloud Monitoring API, настройте диаграмму в интерфейсе меню Metrics Explorer. Выбрав все нужные показатели и фильтры, перейдите в режим прямого фильтра, чтобы открыть эквивалентный фильтр в Monitoring.
Как создать собственную сводку
Выполните следующие действия:
- В Cloud Console выберите раздел Monitoring.
- На панели навигации выберите Dashboards (Сводки).
- На обзорной странице нажмите Create dashboard (Создать сводку).
- Для каждой диаграммы, которую нужно добавить в сводку, выполните следующие действия:
Выберите тип диаграммы в меню Add chart (Добавить диаграмму) или перетащите нужный вариант из библиотеки в область диаграммы.
Отобразится заранее настроенная диаграмма выбранного типа. На скриншоте ниже показаны диаграмма типа "График" и панель конфигурации.
- Выберите значения в полях Resource type (Тип ресурса) и Metric (Показатель) и примените нужные фильтры, как и при создании диаграммы.
Дополнительные сведения о доступных вариантах можно найти в статье о добавлении виджетов в сводки.
- (Необязательно.) На панели инструментов сводки нажмите Add chart (Добавить диаграмму), чтобы добавить ещё одну диаграмму, а затем повторите все описанные выше шаги по ее настройке.
- Завершив редактирование, нажмите на стрелку влево, чтобы закрыть сводку, или выберите любой другой пункт меню в разделе Monitoring. Изменения сводки сохраняются автоматически.
Как посмотреть сводку
Выполните следующие действия:
- В Cloud Console выберите раздел Monitoring.
- На панели навигации выберите Dashboards (Сводки).
- Выберите из списка собственную или стандартную сводку.
Ресурсы по теме
Дополнительные сведения о создании сводок можно найти в следующих статьях:
- Сводки и диаграммы
- Как управлять собственными сводками Cloud Console
- Как управлять собственными сводками через API
Показатели использования
Отслеживать использование API платформы Google Карт можно с помощью двух групп показателей: Serviceruntime (тип ресурса consumed_api) для API платформы Google Карт и непосредственно показатели платформы Google Карт (тип ресурса maps.googleapis.com/Api).
Оба варианта поддерживают один и тот же набор ярлыков для сегментации трафика: project_id
, service
, method
, version
, location
и credential_id
. Описания ярлыков можно найти в документации по соответствующему ресурсу:
В каждой группе показателей есть два типа показателей для отслеживания использования: Request Count (Количество запросов) и Request Latencies (Задержка запросов).
При использовании показателя Request Count (Количество запросов) вы можете сегментировать трафик с помощью ярлыков protocol
, grpc_status_code
, response_code
и response_code_class
. Кроме того, вы можете использовать platform_type
для показателей платформы Google Карт.
При использовании показателя Request Latencies (Задержка запросов) вы можете сегментировать трафик с помощью ярлыков protocol
, platform_type
, response_code
и response_code_class
только для показателей платформы Google Карт.
Дополнительную информацию о ярлыках и типах показателей вы можете найти в документации:
Соответствия между статусом ответа и ярлыками кода ответа
В таблице ниже описаны соответствия между кодами статуса ответа и кодами статуса HTTP, которые возвращаются в ответ на запросы к API платформы Google Карт. Также там перечислены ярлыки кодов ответа, доступные в Cloud Monitoring: код ответа HTTP, класс кода ответа HTTP, код статуса gRPC. Код статуса gRPC – это числовой код для запросов gRPC или его эквивалент для HTTP-запросов.
Коды, которые возвращаются в ответах API | Коды ответов, которые передаются в Cloud Monitoring | |||
---|---|---|---|---|
Статус Maps API | Код ответа HTTP | Код ответа HTTP | Класс кода ответа HTTP | Код статуса gRPC |
OK | 200, 204, 302 |
200, 204, 302 |
2xx, 3xx |
0 (OK) |
DATA_NOT_AVAILABLE, NOT_FOUND, ZERO_RESULTS |
200 | 200/404(1) | 2xx/4xx(1) | 5 (NOT_FOUND)(1) |
NOT_FOUND (API Просмотра Улиц: Street View Static, Geolocation и Roads), ZERO_RESULTS (Street View Static API) |
404 | 404 | 4xx | 5 (NOT_FOUND) |
INVALID_REQUEST (недопустимое значение параметра), MAX_ROUTE_LENGTH_EXCEEDED, MAX_WAYPOINTS_EXCEEDED, и т. д. |
200/400 | 400 | 4xx | 3 (INVALID_ARGUMENT) |
INVALID_REQUEST (недопустимый или отсутствующий параметр, ошибка обработки запроса) | 200/400 | 400 | 4xx | 3 (INVALID_ARGUMENT) |
REQUEST_DENIED | 200/403, 200/400 |
403, 401(1) |
4xx(1) | 7 (PERMISSION_DENIED), 16 (UNAUTHENTICATED) |
OVER_DAILY_LIMIT, OVER_QUERY_LIMIT, RESOURCE_EXHAUSTED, dailyLimitExceeded, rateLimitExceeded, userRateLimitExceeded |
200/403, 429 |
429(1) | 4xx(1) | 8 (RESOURCE_EXHAUSTED) |
UNKNOWN_ERROR | 200/500, 503 |
500(1), 503 |
5xx(1) | 2 (UNKNOWN)/13 (INTERNAL)(1), 14 (UNAVAILABLE) |
1
Чтобы улучшить согласованность кодов ошибок в отчетах, мы переносим API платформы Google Карт: 1) С класса/кода ответа HTTP 200 /2xx на
404 /4xx (и код статуса GRPC с 0
(OK ) на 5 (NOT_FOUND )) для следующих статусов Maps API: DATA_NOT_AVAILABLE , NOT_FOUND ,
ZERO_RESULTS (статус).
2) С класса/кода ответа HTTP 200 /2xx , 400 /4xx на
403 /4xx (код статуса GRPC 7
(PERMISSION_DENIED )) для следующего статуса Maps API: REQUEST_DENIED .
3) С класса/кода ответа HTTP 200 /2xx , 403 /4xx на
401 /4xx (код статуса GRPC 16
(UNAUTHENTICATED )) для следующего статуса Maps API: REQUEST_DENIED .
4) С класса/кода ответа HTTP 200 /2xx , 403 /4xx на
429 /4xx для следующих статусов Maps API: OVER_QUERY_LIMIT ,
dailyLimitExceeded , rateLimitExceeded ,
и userRateLimitExceeded .
5) С класса/кода ответа HTTP 200 /2xx на
500 /5xx (и код статуса GRPC 2
(UNKNOWN ), 13 (INTERNAL )) для следующего статуса Maps API: UNKNOWN_ERROR .
В переходный период вы можете увидеть оба кода. Коды, возвращаемые в ответах Maps API, не меняются. Вы можете изучить разбивку кодов ответов в Metrics Explorer.
|
Как создать оповещения
Оповещения позволяют своевременно получать сведения о проблемах с приложениями и быстро устранять неполадки. В Cloud Monitoring используются правила, которые описывают условия, при выполнении которых вы хотите получать оповещения, и формат этих оповещений.
Правила оповещений могут быть простыми или сложными. Вы можете указать, должно ли условие выполняться для одного или для нескольких временных рядов, чтобы сработало оповещение. Примеры:
- Создавать оповещение, когда количество запросов для определенного API превышает 1000 за пятиминутный интервал.
- Оповещать команду быстрого реагирования, когда 90-й процентиль задержки по ответам HTTP 200 превышает значение 100 мс для трех и более API.
На скриншоте ниже показано определение, которое создает оповещение, когда количество запросов к API превышает 20 за пятиминутный интервал.
Что показано на скриншоте:
- Диаграмма с количеством вызовов разных API за определенный период времени.
- Красная линия обозначает пороговое значение оповещения. Если количество вызовов API превысит это пороговое значение за 5 минут, будет создано оповещение. В этом примере пороговое значение превышено для одного API.
Если выполняются условия, указанные в правиле оповещения, то Cloud Monitoring открывает инцидент и отправляет уведомления.
- Инцидентом называется постоянно хранимая запись с информацией о ресурсах для мониторинга по состоянию на момент выполнения условия. Когда условие перестает выполняться, инцидент автоматически закрывается. Вы можете просматривать все инциденты, как открытые, так и закрытые, в сводке оповещений.
- При настройке правила оповещения вы можете указать, кому нужно отправлять оповещение. Monitoring поддерживает многие стандартные каналы уведомлений, в том числе электронную почту, Cloud Mobile App и сторонние сервисы, например PagerDuty и Slack. Вы можете ознакомиться с полным списком доступных каналов.
Типы оповещений
Cloud Monitoring поддерживает множество типов оповещений. Например, вы можете задать следующие конфигурации:
- Оповещения о достижении пороговых значений. Срабатывают, если значение показателя находится выше или ниже заданного порога в течение определенного периода времени или если значение показателя уменьшается или увеличивается более чем на заданное количество процентов.
- Оповещения о бюджете. Вы можете задать правила пороговых значений, чтобы получать уведомления о том, что фактические или прогнозируемые расходы превысили определенный процент от выделенного бюджета. Такие оповещения не ограничивают использование API, а просто предупреждают вас о том, что затраты приближаются к определенному уровню.
- Оповещения о квотах. В Google Cloud Platform предусмотрены различные квоты, которые позволяют контролировать и ограничивать использование ресурсов для проекта или организации. Вы можете получать оповещения, когда объем потребления приближается к установленной квоте.
Подробнее о типах правил оповещений…
Управление правилами оповещений
Вы можете добавить в проект правило оповещений с помощью Cloud Console или Cloud Monitoring API. Подробная информация о том, как просматривать и изменять правила оповещений на основе показателей для проекта, приведена в следующих статьях:
- Как управлять правилами оповещений с помощью Cloud Console
- Как управлять правилами оповещений с помощью Cloud Monitoring API
Как создать оповещение
Чтобы создать оповещение, нужно определить:
- условия на основе данных показателей, при выполнении которых будут срабатывать оповещения;
- каналы уведомлений, по которым будет отправляться информация.
В примере ниже показано, как настроить оповещение, которое срабатывает, если уровень использования сервиса для любого API платформы Google Карт превышает 2 запроса за пятиминутный интервал.
Чтобы создать такое оповещение, выполните следующие действия:
- В Cloud Console выберите раздел Monitoring.
- Выберите Alerting (Оповещения).
- Выберите Edit Notifications Channel (Изменить канал уведомлений), чтобы определить метод отправки оповещений. В рамках этого примера предлагается использовать свой адрес электронной почты.
- В разделе Email channel (Канал электронной почты) нажмите Add New (Добавить).
- Введите значения в полях Email Address (Адрес электронной почты) и Display Name (Отображаемое название).
- Нажмите Save (Сохранить).
- Выберите Alerting (Оповещения).
- Нажмите Create Policy (Создать правило).
- Выберите временной интервал, например 7 days (7 дней).
- В области Alert Conditions (Условия оповещения) выберите New condition (Новое условие):
- Нажмите Select a Metric (Выбрать показатель), затем выберите ресурс Consumed API (Потребление API) и показатель Request Count (Число запросов). Нажмите Apply (Применить).
- (Необязательно.) Под диаграммой приведен список параметров: service (сервис), quota_metrics (показатели квоты), method (метод API) и value (значение показателя). Нажмите Add filter (Добавить фильтр), чтобы отфильтровать данные на основе этой информации. Например, в фильтре можно указать, что значение method должно равняться google.places.Autocomplete.http, чтобы сработало оповещение.
- В разделе Transform data (Преобразование данных) выберите значение 5 min (5 минут) для поля Rolling window (Скользящий интервал) и значение mean (среднее) для поля Rolling window function (Функция скользящего интервала).
- Нажмите Next (Далее).
- В разделе Configure alert trigger (Настройка триггера оповещения) задайте для поля Threshold value (Пороговое значение) значение 2. Так оповещение будет срабатывать при получении более 2 запросов в интервале 5 минут. Обратите внимание, что на диаграмме теперь появилась красная линия, соответствующая выбранному лимиту в указанном интервале. На диаграмме вы сможете увидеть, когда сработает оповещение, и откорректировать значение лимита по мере необходимости.
- Нажмите Далее.
- На странице Configure notifications and finalize alert (Настройка уведомлений и создание оповещения) выполните следующие действия:
- Выберите адрес электронной почты, который вы добавили в разделе Notification Channel Канал уведомлений.
- В разделе Name the alert (Название оповещения) введите Тестовое оповещение.
- Нажмите Create Policy (Создать правило).
- Выполните несколько запросов к API. Обязательно создайте не менее двух запросов к API в пределах пяти минут, чтобы запустить оповещение по электронной почте.
- Получив оповещение, перейдите на страницу Alerting (Оповещения).
- В таблице со списком оповещений нажмите на созданное оповещение, чтобы получить дополнительные сведения.
- Нажмите на название оповещения, чтобы посмотреть сведения о нем, в том числе диаграмму, на которой показано вызвавшее его событие.
Ресурсы по теме
Дополнительные сведения об оповещениях можно найти в следующих статьях: