Редактор запросов Google Cloud Monitoring
В этой теме описаны особенности запросов, специфичные для источника данных Google Cloud Monitoring. Общая документация по запросам к источникам данных в Grafana приведена в разделе Запросы и преобразование данных.
Типы запросов
Редактор запросов Google Cloud Monitoring поддерживает следующие типы запросов:
Запрос метрик
Редактор запросов к метрикам помогает выбирать метрики, группировать и агрегировать их по меткам и времени, а также использовать фильтры, чтобы указать, какие временные ряды нужно запросить.
Создание запроса к метрикам
- Выберите Builder в раскрывающемся списке Query type.
- Выберите проект в раскрывающемся списке Project.
- Выберите сервис Google Cloud Platform в раскрывающемся списке Service.
- Выберите метрику в раскрывающемся списке Metric.
- (Необязательно) Используйте значки плюса и минуса в разделах фильтров и группировки, чтобы добавлять и удалять фильтры или условия группировки.
Google Cloud Monitoring поддерживает несколько типов метрик, таких как GAUGE, DELTA, и CUMULATIVE.
Каждый из них поддерживает свои параметры агрегации, например reducers и aligners. Кроме того, метрики имеют определённые типы значений — скалярные или распределения.
Редактор запросов к метрикам перечисляет доступные методы агрегации для выбранной метрики и задаёт агрегацию, reducer и aligner по умолчанию при выборе метрики.
Если тип значения метрики — распределение, агрегация по умолчанию устанавливается в среднее значение. Для скалярных типов значений агрегация по умолчанию отсутствует.
Полный список метрик см. в списке метрик Google Cloud. Подробнее о видах метрик и типах значений см. в разделе Metric kinds and value types.
Note
Метрики-распределения обычно лучше всего визуализировать в виде тепловой карты или гистограммы. При такой визуализации агрегация не нужна. Однако для других типов визуализации при попытке запросить метрики-распределения без агрегации может наблюдаться снижение производительности из-за возможного количества возвращаемых корзин. Дополнительные сведения о визуализации метрик-распределений см. на этой странице.
Применение фильтра
Чтобы добавить и применить фильтр:
- Нажмите значок плюса в разделе фильтров.
- Выберите поле для фильтрации.
- Введите значение фильтра, например
instance_name = grafana-1.
Чтобы удалить фильтр, нажмите значок корзины.
Использование простых подстановочных знаков
Когда вы устанавливаете оператор = или !=, вы можете добавлять подстановочные знаки в поле значения фильтра.
Например, значение us-* захватывает все значения, начинающиеся с “us-”, а значение *central-a захватывает все значения, заканчивающиеся на “central-a”.
*-central-* захватывает все значения, содержащие подстроку “-central-”.
Простые подстановочные знаки работают быстрее, чем регулярные выражения.
Использование регулярных выражений
Когда вы устанавливаете оператор =~ или !=~, вы можете добавлять регулярные выражения в поле значения фильтра.
Например, значение us-central[1-3]-[af] соответствует всем значениям, которые начинаются с “us-central”, затем идёт число в диапазоне от 1 до 3, дефис, а после — “a” или “f”.
При создании таких регулярных выражений начальные и конечные слэши не нужны.
Настройка параметров предобработки
Редактор запросов отображает параметры предобработки, когда у выбранной метрики тип метрики — DELTA или CUMULATIVE.
- Параметр Rate выравнивает точки данных и преобразует их в скорость (rate) для каждого временного ряда.
- Параметр Delta выравнивает точки данных по их дельте (разнице) для каждого временного ряда.
Группировка временных рядов
Чтобы объединить несколько временных рядов и уменьшить объём возвращаемых данных для метрики, задайте группировку и функцию.
Группировка по
Используйте сегмент Group By для группировки меток ресурса или метрики, что уменьшает число временных рядов и агрегирует результаты по группам.
Например, если вы группируете по instance_name, Grafana отображает агрегированную метрику для указанного экземпляра Compute.
Метки метаданных
Метки метаданных ресурса содержат информацию, которая может однозначно идентифицировать ресурс в Google Cloud. Ответ с временным рядом возвращает метки метаданных, только если они входят в сегмент Group By в запросе временного ряда.
API для получения меток метаданных не существует, поэтому вы не можете заполнить список Group By метками метаданных, доступными для выбранного сервиса и метрики. Однако список поля Group By содержит предопределённый набор распространённых системных меток.
Вы не можете предопределить пользовательские метки, но можете ввести их вручную в поле Group By. Если вы включите метку метаданных, пользовательскую метку или системную метку в сегмент Group By, вы сможете создавать на её основе фильтры и раскрывать её значение в поле Alias.
Функция группировки
Чтобы объединить временные ряды в группе в один временной ряд, выберите функцию группировки.
Выравнивание данных
Вы можете выровнять все точки данных, полученные за фиксированный отрезок времени, применив функцию выравнивания для объединения этих точек данных и назначив результату отметку времени.
Выбор функции выравнивания
В ходе выравнивания все точки данных поступают через фиксированный интервал. Внутри каждого интервала, определяемого периодом выравнивания, и для каждого временного ряда данные агрегируются в одну точку. Значение этой точки определяется типом используемой функции выравнивания.
Дополнительные сведения о функциях выравнивания см. в разделе alignment metric selector.
Определение периода выравнивания
Вы можете задать поле Alignment Period, чтобы группировать метрику по времени, если вы выбрали агрегацию.
Значение по умолчанию, называемое “cloud monitoring auto”, использует стандартные группировки Google Cloud Monitoring. Они позволяют сравнивать графики в Grafana с графиками в интерфейсе Google Cloud Monitoring.
Значения по умолчанию для “cloud monitoring auto”:
- 1m для диапазонов времени < 23 часов
- 5m для диапазонов времени >= 23 часов и < 6 дней
- 1h для диапазонов времени >= 6 дней
Другой автоматический вариант — “grafana auto”, который автоматически задаёт время Group By в зависимости от выбранного диапазона времени и ширины панели временных рядов.
Дополнительные сведения о “grafana auto” см. в разделе Переменная Interval.
Вы также можете выбирать фиксированные интервалы группировки, например 1h или 1d.
Настройка шаблонов псевдонимов
Поле Alias By помогает управлять форматом ключей легенды. По умолчанию Grafana показывает имя метрики и метки, которые могут быть длинными и трудночитаемыми.
Вы можете использовать шаблоны в поле псевдонима, чтобы настроить формат ключа легенды:
Примеры шаблонов псевдонимов
Использование меток метрик:
Вы можете выбрать метрику и метки ресурсов для метрики из списка в раскрывающемся меню Group By. Затем их можно включить в ключ легенды с помощью шаблонов псевдонимов.
Например, при таком значении Alias By: {{metric.type}} - {{metric.label.instance_name}}
Ожидаемый результат будет выглядеть так: compute.googleapis.com/instance/cpu/usage_time - server1-prod
Использование типа отслеживаемого ресурса:
Вы также можете получить имя типа отслеживаемого ресурса с помощью псевдонима resource.type.
Например, при таком значении Alias By: {{resource.type}} - {{metric.type}}
Ожидаемый результат будет выглядеть так: gce_instance - compute.googleapis.com/instance/cpu/usage_time
Переход по ссылке из панелей Grafana в Metrics Explorer консоли Google Cloud
Вы можете нажать на временной ряд на панели, чтобы открыть контекстное меню со ссылкой View in Metrics Explorer in Google Cloud Console. Ссылка ведёт в Metrics Explorer консоли Google Cloud и выполняет там запрос панели Grafana.
При выборе ссылки сначала потребуется выбрать аккаунт в Google Account Chooser. Затем Google перенаправит вас в Metrics Explorer.
Предоставленная ссылка действительна для любого аккаунта, но отображает запрос только в том случае, если у вашего аккаунта есть доступ к указанному в запросе проекту GCP.
Понимание автоматического определения единиц измерения
Grafana отправляет один запрос к Cloud Monitoring API на каждую строку редактора запросов, и каждый ответ API содержит единицу измерения. Grafana пытается преобразовать возвращённую единицу измерения в единицу, совместимую с её панелью временных рядов.
В случае успеха Grafana отображает единицу измерения на оси Y панели. Если строки редактора запросов возвращают разные единицы измерения, Grafana использует единицу из последней строки редактора запросов на панели временных рядов.
Использование Monitoring Query Language
Конструктор запросов Monitoring Query Language (MQL) помогает запрашивать результаты MQL и отображать их в формате временных рядов. Чтобы понять базовые концепции MQL, см. Introduction to Monitoring Query Language.
Создание запроса MQL
Чтобы создать запрос MQL:
- Выберите MQL в раскрывающемся списке Query type.
- Выберите проект в раскрывающемся списке Project.
- Введите свой запрос MQL в текстовом поле.
- (Необязательно) Настройте параметр Graph period.
Нажмите Shift+Enter, чтобы выполнить запрос.
Настройка параметров MQL
Для запросов MQL доступны следующие параметры:
Настройка шаблонов псевдонимов для запросов MQL
Запросы MQL используют те же шаблоны псевдонимов, что и запросы к метрикам.
Однако {{metric.service}} не поддерживается, а {{metric.type}} и {{metric.name}} показывают ключ временного ряда из ответа.
Запрос Service Level Objectives
Конструктор запросов SLO помогает визуализировать данные SLO в формате временных рядов. Чтобы понять базовые концепции мониторинга сервисов, см. документацию Google Cloud Monitoring.
Создание запроса SLO
Чтобы создать запрос SLO:
- Выберите Service Level Objectives (SLO) в раскрывающемся списке Query type.
- Выберите проект в раскрывающемся списке Project.
- Выберите сервис SLO в раскрывающемся списке Service.
- Выберите SLO в раскрывающемся списке SLO.
- Выберите селектор временных рядов в раскрывающемся списке Selector.
Селекторы временных рядов в Grafana используют описательные имена, которые сопоставляются с системными именами, применяемыми Google в документации по Service Monitoring:
Шаблоны псевдонимов для запросов SLO
Поле Alias By помогает управлять форматом ключей легенды для запросов SLO.
Период выравнивания и время группировки для запросов SLO
Запросы SLO используют ту же функциональность периода выравнивания, что и запросы к метрикам.
Запросы с PromQL
Тип запроса PromQL позволяет запрашивать метрики Google Cloud Monitoring с использованием синтаксиса Prometheus Query Language (PromQL). Это удобно, если вы знакомы с PromQL по Prometheus или Grafana Mimir и хотите использовать тот же синтаксис запросов с данными Google Cloud Monitoring.
Дополнительные сведения о поддержке PromQL в Google Cloud Monitoring см. в документации Google Cloud по PromQL.
Создание запроса PromQL
Чтобы создать запрос PromQL:
- Выберите PromQL в раскрывающемся списке Query type.
- Выберите проект в раскрывающемся списке Project.
- Введите свой запрос PromQL в текстовом поле.
Настройка параметров PromQL
Для запросов PromQL доступны следующие параметры:
Примеры запросов PromQL
Следующие примеры показывают распространённые шаблоны запросов PromQL для Google Cloud Monitoring:
Запрос использования CPU для экземпляров Compute Engine:
compute_googleapis_com:instance_cpu_utilization
Фильтрация по метке:
compute_googleapis_com:instance_cpu_utilization{instance_name="my-instance"}
Расчёт скорости для метрики-счётчика:
rate(logging_googleapis_com:log_entry_count[5m])