модуль google.cloud.gcp_logging_metric – создание метрики GCP
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install google.cloud. Для работы с этим модулем необходимы дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: google.cloud.gcp_logging_metric.
Краткое описание
- Метрику на основе журналов также можно использовать для извлечения значений из журналов и создания распределения этих значений. В распределении сохраняется статистика извлечённых значений, а также необязательная гистограмма значений, заданная параметрами корзин.
Требования
На узле, где выполняется этот модуль, должны быть установлены следующие компоненты.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Описание |
|---|---|
access_token string | Токен доступа OAuth2, если тип учётных данных — accesstoken. |
auth_kind string / обязательный | Тип используемых учётных данных. Варианты:
|
bucket_options dictionary | Параметр bucketOptions обязателен, если в метрике на основе журналов используется тип значения DISTRIBUTION. Он описывает границы корзин, используемые для создания гистограммы извлечённых значений. |
|
explicit_buckets dictionary |
Задаёт набор корзин произвольной ширины. |
|
bounds list / элементы=string / обязательный |
Значения должны монотонно возрастать. |
|
exponential_buckets dictionary |
Задаёт экспоненциальную последовательность корзин, ширина которых пропорциональна значению нижней границы. Каждая корзина соответствует постоянной относительной неопределённости для конкретного значения в корзине. |
|
growth_factor string |
Значение должно быть больше 1. |
|
num_finite_buckets integer |
Значение должно быть больше 0. |
|
scale string |
Значение должно быть больше 0. |
|
linear_buckets dictionary |
Задаёт линейную последовательность корзин одинаковой ширины (за исключением переполнения и недополнения). Каждая корзина соответствует постоянной абсолютной неопределённости для конкретного значения в корзине. |
|
num_finite_buckets integer |
Значение должно быть больше 0. |
|
offset string |
Нижняя граница первой корзины. |
|
width integer |
Значение должно быть больше 0. |
description string | Описание этой метрики, используемое в документации. Максимальная длина описания — 8000 символов. |
env_type string | Указывает, в какой среде Ansible выполняется этот модуль. Не задавайте этот параметр, если не знаете, что делаете. Он изменяет только строку User Agent для любых запросов к API. |
filter string / обязательный | Расширенный фильтр журналов (https://cloud.google.com/logging/docs/view/advanced-filters), используемый для поиска записей журнала. |
label_extractors dictionary | Сопоставление строкового ключа метки с выражением извлечения, которое извлекает данные из поля записи журнала и присваивает их в качестве значения метки. Для каждого ключа метки, указанного в LabelDescriptor, в этой карте должно быть задано соответствующее выражение извлечения. Синтаксис выражения извлечения совпадает с синтаксисом поля valueExtractor. |
metric_descriptor dictionary / обязательный | Дескриптор метрики, связанный с метрикой на основе журналов. |
|
display_name string |
Краткое название метрики, отображаемое в пользовательских интерфейсах. Используйте регистр предложений, не ставьте точку в конце, например «Количество запросов». Это необязательное поле, однако рекомендуется задавать его для любых метрик, связанных с понятиями, видимыми пользователю, например с квотой. |
|
labels list / элементы=dictionary |
Набор меток, которые можно использовать для описания конкретного экземпляра этого типа метрики. Например, у типа метрики appengine.googleapis.com/http/server/response_latencies есть метка для кода HTTP-ответа — response_code. Это позволяет просматривать задержки для успешных ответов или только для ответов с ошибкой. |
|
description string |
Понятное человеку описание метки. |
|
key string / обязательный |
Ключ метки. |
|
value_type string |
Тип данных, которые можно присвоить метке. Допустимые варианты: “BOOL”, “INT64”, “STRING” По умолчанию: |
|
metric_kind string / обязательный |
Указывает, записывает ли метрика мгновенные значения, изменения значения и т. д. Некоторые сочетания metricKind и valueType могут не поддерживаться. Для метрик-счётчиков задайте значение DELTA. Допустимые варианты: “DELTA”, “GAUGE”, “CUMULATIVE” |
|
unit string |
Единица измерения, в которой указывается значение метрики. Применяется только в том случае, если valueType имеет значение `INT64`, `DOUBLE` или `DISTRIBUTION`. Поддерживается подмножество единиц измерения из стандарта [The Unified Code for Units of Measure](http://unitsofmeasure.org/ucum.html). По умолчанию: |
|
value_type string / обязательный |
Указывает, является ли измерение целым числом, числом с плавающей запятой и т. д. Некоторые сочетания metricKind и valueType могут не поддерживаться. Для метрик-счётчиков задайте значение INT64. Допустимые варианты: “BOOL”, “INT64”, “DOUBLE”, “STRING”, “DISTRIBUTION”, “MONEY” |
name string / обязательный | Идентификатор метрики, назначаемый клиентом. Примеры: “error_count”, “nginx/requests”. Длина идентификатора метрики не должна превышать 100 символов. Допускаются только следующие символы: A-Z, a-z, 0-9 и специальные символы _-.,+!*’,()%/. Символ косой черты (/) обозначает иерархию частей имени и не может быть первым символом имени. |
project string | Проект Google Cloud Platform, который нужно использовать. |
scopes list / элементы=string | Массив используемых областей доступа |
service_account_contents jsonarg | Содержимое JSON-файла сервисного аккаунта в виде словаря или JSON-строки, представляющей его. |
service_account_email string | Необязательный адрес электронной почты сервисного аккаунта. Используется, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию. |
service_account_file path | Путь к JSON-файлу сервисного аккаунта, если в качестве типа выбран serviceaccount. |
state string | Указывает, должен ли заданный объект существовать в GCP. Варианты:
|
value_extractor string | При использовании метрики на основе журналов с распределением параметр valueExtractor обязателен для извлечения из записи журнала значений, которые нужно сохранить. Поддерживаются две функции извлечения значений: EXTRACT(field) или REGEXP_EXTRACT(field, regex). Аргументы: 1. field — имя поля записи журнала, из которого нужно извлечь значение. 2. regex — регулярное выражение в синтаксисе Google RE2 (https://github.com/google/re2/wiki/Syntax) с одной группой захвата для извлечения данных из указанного поля записи журнала. Перед применением регулярного выражения значение поля преобразуется в строку. Если регулярное выражение содержит не ровно одну группу захвата, возникает ошибка. |
Примечания
Примечание
- Справочник API: https://cloud.google.com/logging/docs/reference/v2/rest/v2/projects.metrics/create
- Официальная документация: https://cloud.google.com/logging/docs/apis
- Для аутентификации можно задать service_account_file с помощью переменной среды
GCP_SERVICE_ACCOUNT_FILE. - Для аутентификации можно задать service_account_contents с помощью переменной среды
GCP_SERVICE_ACCOUNT_CONTENTS. - Для аутентификации можно задать service_account_email с помощью переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно задать access_token с помощью переменной среды
GCP_ACCESS_TOKEN. - Для аутентификации можно задать auth_kind с помощью переменной среды
GCP_AUTH_KIND. - Для аутентификации можно задать scopes с помощью переменной среды
GCP_SCOPES. - Значения переменных среды используются только в том случае, если значения не заданы в плейбуке.
- Параметры service_account_email и service_account_file являются взаимоисключающими.
Примеры
- name: create a metric
google.cloud.gcp_logging_metric:
name: test_object
filter: resource.type=gae_app AND severity>=ERROR
metric_descriptor:
metric_kind: DELTA
value_type: DISTRIBUTION
unit: '1'
labels:
- key: mass
value_type: STRING
description: amount of matter
value_extractor: EXTRACT(jsonPayload.request)
label_extractors:
mass: EXTRACT(jsonPayload.request)
bucket_options:
linear_buckets:
num_finite_buckets: 3
width: 1
offset: 1
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже приведены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
bucketOptions complex | Параметр bucketOptions обязателен, если метрика на основе журналов использует тип значения DISTRIBUTION. Он описывает границы интервалов, используемые для создания гистограммы извлечённых значений. Возвращается: success |
|
explicitBuckets complex |
Задаёт набор интервалов произвольной ширины. Возвращается: success |
|
bounds list / elements=string |
Значения должны монотонно возрастать. Возвращается: success |
|
exponentialBuckets complex |
Задаёт экспоненциальную последовательность интервалов, ширина которых пропорциональна значению нижней границы. Каждый интервал соответствует постоянной относительной погрешности для конкретного значения в этом интервале. Возвращается: success |
|
growthFactor string |
Должно быть больше 1. Возвращается: success |
|
numFiniteBuckets integer |
Должно быть больше 0. Возвращается: success |
|
scale string |
Должно быть больше 0. Возвращается: success |
|
linearBuckets complex |
Задаёт линейную последовательность интервалов одинаковой ширины (за исключением переполнения и недополнения). Каждый интервал соответствует постоянной абсолютной погрешности для конкретного значения в этом интервале. Возвращается: success |
|
numFiniteBuckets integer |
Должно быть больше 0. Возвращается: success |
|
offset string |
Нижняя граница первого интервала. Возвращается: success |
|
width integer |
Должно быть больше 0. Возвращается: success |
description string | Описание этой метрики, используемое в документации. Максимальная длина описания — 8000 символов. Возвращается: success |
filter string | Расширенный фильтр журналов (https://cloud.google.com/logging/docs/view/advanced-filters), используемый для отбора записей журнала. Возвращается: success |
labelExtractors dictionary | Сопоставление строкового ключа метки с выражением извлечения, которое используется для извлечения данных из поля записи журнала и присвоения их в качестве значения метки. Для каждого ключа метки, указанного в LabelDescriptor, в этой карте должно быть задано соответствующее выражение извлечения. Синтаксис выражения извлечения такой же, как у поля valueExtractor. Возвращается: success |
metricDescriptor complex | Дескриптор метрики, связанный с метрикой на основе журналов. Возвращается: success |
|
displayName string |
Краткое название метрики, которое можно показывать в пользовательских интерфейсах. Используйте регистр предложений и не ставьте точку в конце, например «Количество запросов». Это необязательное поле, но рекомендуется задавать его для любых метрик, связанных с понятиями, видимыми пользователям, например с квотой. Возвращается: success |
|
labels complex |
Набор меток, которые можно использовать для описания конкретного экземпляра этого типа метрики. Например, тип метрики appengine.googleapis.com/http/server/response_latencies содержит метку для кода ответа HTTP — response_code, поэтому можно просматривать задержки для успешных ответов или только для ответов с ошибками. Возвращается: success |
|
description string |
Понятное человеку описание метки. Возвращается: success |
|
key string |
Ключ метки. Возвращается: success |
|
valueType string |
Тип данных, которые можно присвоить метке. Возвращается: success |
|
metricKind string |
Указывает, записывает ли метрика мгновенные значения, изменения значения и т. д. Некоторые сочетания metricKind и valueType могут не поддерживаться. Для метрик-счётчиков задайте значение DELTA. Возвращается: success |
|
type string |
Тип метрики, включая префикс имени DNS. Тип не кодируется для URL. Все типы метрик, определённые пользователем, имеют имя DNS `custom.googleapis.com` или `external.googleapis.com`. Возвращается: success |
|
unit string |
Единица измерения, в которой указывается значение метрики. Применяется только в том случае, если valueType равен `INT64`, `DOUBLE` или `DISTRIBUTION`. Поддерживается подмножество стандарта [The Unified Code for Units of Measure](http://unitsofmeasure.org/ucum.html). Возвращается: success |
|
valueType string |
Указывает, является ли измерение целым числом, числом с плавающей точкой и т. д. Некоторые сочетания metricKind и valueType могут не поддерживаться. Для метрик-счётчиков задайте значение INT64. Возвращается: success |
name string | Идентификатор метрики, назначаемый клиентом. Примеры: «error_count», «nginx/requests». Длина идентификаторов метрик не должна превышать 100 символов; в них допускаются только следующие символы: A-Z, a-z, 0-9 и специальные символы _-.,+!*’,()%/. Символ косой черты (/) обозначает иерархию частей имени и не может быть первым символом имени. Возвращается: success |
valueExtractor string | Для извлечения из записи журнала значений, которые следует записать в метрику распределения на основе журналов, необходимо задать valueExtractor. Поддерживаются две функции извлечения значений: EXTRACT(field) или REGEXP_EXTRACT(field, regex). Аргументы: 1. field — имя поля записи журнала, из которого нужно извлечь значение. 2. regex — регулярное выражение в синтаксисе Google RE2 (https://github.com/google/re2/wiki/Syntax) с одной группой захвата для извлечения данных из указанного поля записи журнала. Перед применением регулярного выражения значение поля преобразуется в строку. Если указать регулярное выражение, которое содержит не ровно одну группу захвата, произойдёт ошибка. Возвращается: success |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_logging_metric_module.html