Spec-Zone.ru › Chef 16

Ресурс google_project_metric

Синтаксис

Используется google_project_metric, чтобы протестировать ресурс Google 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 имеет ожидаемую платформу процессора

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