Spec-Zone.ru › Chef 18

Ресурс google_project_metric

[Редактировать на GitHub]

Синтаксис

Для проверки ресурса Google Metric используется google_project_metric

Примеры

describe google_project_metric(project: 'chef-gcp-inspec', name: 'some/metric') do
  it { should exist }
  its('filter') { should cmp 'resource.type=gae_app AND severity>=ERROR' }
  its('metric_descriptor.metric_kind') { should cmp 'DELTA' }
  its('metric_descriptor.value_type') { should cmp 'INT64' }
end

describe google_project_metric(project: 'chef-gcp-inspec', name: 'nonexistent') do
  it { should_not exist }
end

Проверка существования метрики GCP проекта

describe google_project_metric(project: 'chef-inspec-gcp',  metric: 'metric_name') do
  it { should exist }
end

Проверка, что у зоны GCP compute есть ожидаемая платформа CPU

describe google_project_metric(project: 'chef-inspec-gcp',  metric: 'metric_name') do
  its('filter') { should eq "(protoPayload.serviceName=\"cloudresourcemanager.googleapis.com\")" }
end

Свойства

Свойства, доступные для ресурса google_project_metric:

name
Идентификатор метрики, назначенный клиентом. Примеры: “error*count”, “nginx/requests”. Идентификаторы метрик ограничены 100 символами и могут содержать только символы A-Z, a-z, 0-9 и специальные символы *-.,+!*',()%/. Дробная черта (/) обозначает иерархию имен и не может быть первым символом имени.
description
Описание этой метрики, используемое в документации. Максимальная длина описания составляет 8000 символов.
filter
Расширенный фильтр журналов (https://cloud.google.com/logging/docs/view/advanced-filters), используемый для сопоставления записей журнала.
metric_descriptor
Описание метрики, связанной с метрикой на основе журналов.
unit
Единица измерения значения метрики. Применимо только если значение valueType равно INT64, DOUBLE, или DISTRIBUTION. Поддерживаются единицы измерения из стандарта The Unified Code for Units of Measure.
value_type
Тип измерения (целое число, число с плавающей точкой и т.д.). Некоторые комбинации metricKind и valueType могут быть не поддерживаемыми. Для счетчиков установите значение INT64.

Возможные значения:

  • BOOL
  • INT64
  • DOUBLE
  • STRING
  • DISTRIBUTION
  • MONEY
metric_kind
Тип метрики (мгновенные значения, изменения значения и т.д.). Некоторые комбинации metricKind и valueType могут быть не поддерживаемыми. Для счетчиков установите значение DELTA.

Возможные значения:

  • DELTA
  • GAUGE
  • CUMULATIVE
labels
Набор меток, которые могут быть использованы для описания конкретного экземпляра этого типа метрики. Например, метрика appengine.googleapis.com/http/server/response_latencies имеет метку для HTTP-кода ответа, response_code, поэтому вы можете просмотреть задержки для успешных ответов или только для ответов, которые завершились ошибкой.
key
Ключ метки.
description
Читабельное описание метки.
value_type
Тип данных, который может быть назначен метке.

Возможные значения:

  • BOOL
  • INT64
  • STRING
display_name
Краткие имя метрики, которое может быть отображено в пользовательских интерфейсах. Используйте строчные буквы с заглавной первой буквой без точки в конце, например «Количество запросов». Это поле необязательно, но рекомендуется устанавливать для любых метрик, связанных с понятными пользователю концепциями, такими как квота.
type
Тип метрики, включая префикс имени DNS. Тип не закодирован в URL. Все пользовательские типы метрик имеют имя DNS custom.googleapis.com или external.googleapis.com.
label_extractors
Массив, сопоставляющий строковый ключ метки с выражением извлекателя, используемым для извлечения данных из поля записи журнала и назначения в качестве значения метки. Каждому указанному в LabelDescriptor ключу метки должен соответствовать связанное выражение извлекателя в этом массиве. Синтаксис выражения извлекателя аналогичен синтаксису поля valueExtractor.
value_extractor
valueExtractor требуется при использовании метрики на основе распределения журналов, чтобы извлечь значения для записи из записи журнала. Поддерживаются две функции для извлечения значения — EXTRACT(field) или REGEXP_EXTRACT(field, regex). Аргументы: 1. field — имя поля записи журнала, из которого нужно извлечь значение. 2. regex — регулярное выражение, использующее синтаксис Google RE2 (https://github.com/google/re2/wiki/Syntax) с одной группой захвата для извлечения данных из указанного поля записи журнала. Значение поля преобразуется в строку перед применением регулярного выражения. Ошибка возникает, если задано регулярное выражение, не включающее ровно одну группу захвата.
bucket_options
bucketOptions требуются, когда метрика на основе журналов использует тип значения DISTRIBUTION, и она описывает границы ведер, используемые для создания гистограммы извлеченных значений.
linear_buckets
Определяет линейную последовательность ведер, у которых все имеют одинаковую ширину (кроме ведер для переполнения и недолива). Каждое ведро представляет постоянную абсолютную неопределенность для конкретного значения в ведре.
num_finite_buckets
Должно быть больше 0.
width
Должно быть больше 0.
offset
Нижняя граница первого ведра.
exponential_buckets
Определяет экспоненциальную последовательность ведер, у которых ширина пропорциональна значению нижней границы. Каждое ведро представляет постоянную относительную неопределенность для конкретного значения в ведре.
num_finite_buckets
Должно быть больше 0.
growth_factor
Должно быть больше 1.
scale
Должно быть больше 0.
explicit_buckets
Определяет набор ведер с произвольной шириной.
bounds
Значения должны быть монотонно возрастающими.

Разрешения GCP

Убедитесь, что для текущего проекта включен API Stackdriver Logging (https://console.cloud.google.com/apis/library/logging.googleapis.com/).

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/google_project_metric/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API