google.cloud.gcp_logging_metric – Создаёт метрику GCP
Примечание
Этот плагин входит в коллекцию google.cloud (версия 1.0.2).
Для его установки используйте: ansible-galaxy collection install google.cloud.
Для использования в плейбуке укажите: google.cloud.gcp_logging_metric.
Обзор
- Метрики, основанные на логах, также могут использоваться для извлечения значений из логов и создания распределения этих значений. Распределение записывает статистику извлечённых значений вместе с необязательной гистограммой значений, как задано параметрами корзинок.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | ||
| bucket_options словарь | Параметры bucketOptions необходимы, когда метрика на основе журналов использует тип значения DISTRIBUTION, и они описывают границы ведер, используемые для создания гистограммы извлеченных значений. | |||
| explicit_buckets словарь | Определяет набор ведер с произвольными ширинами. | |||
| bounds список / элементы=строка / обязательно | Значения должны быть монотонно возрастающими. | |||
| exponential_buckets словарь | Определяет экспоненциальную последовательность ведер, имеющих ширину, пропорциональную значению нижней границы. Каждое ведро представляет собой постоянную относительную неопределенность для конкретного значения в ведре. | |||
| growth_factor строка | Должно быть больше 1. | |||
| num_finite_buckets целое число | Должно быть больше 0. | |||
| scale строка | Должно быть больше 0. | |||
| linear_buckets словарь | Определяет линейную последовательность ведер, у которых все имеют одинаковую ширину (кроме переполнения и недолива). Каждое ведро представляет собой постоянную абсолютную неопределенность для конкретного значения в ведре. | |||
| num_finite_buckets целое число | Должно быть больше 0. | |||
| offset строка | Нижняя граница первого ведра. | |||
| width целое число | Должно быть больше 0. | |||
| description строка | Описание этой метрики, используемое в документации. Максимальная длина описания — 8000 символов. | |||
| env_type строка | Указывает, в какой среде Ansible выполняется этот модуль. Это не следует устанавливать, если вы не знаете, что делаете. Это только изменяет строку User Agent для всех запросов к API. | |||
| filter строка / обязательно | Расширенный фильтр журналов (https://cloud.google.com/logging/docs/view/advanced-filters), используемый для сопоставления записей журналов. | |||
| label_extractors словарь | Карта из строки ключа метки к выражению извлекателя, используемому для извлечения данных из поля записи журнала и назначения в качестве значения метки. Каждый ключ метки, указанный в LabelDescriptor, должен иметь соответствующее выражение извлекателя в этой карте. Синтаксис выражения извлекателя такой же, как для поля valueExtractor. | |||
| metric_descriptor словарь / обязательно | Описание метрики, связанной с метрикой на основе журналов. | |||
| display_name строка | Краткое имя метрики, которое может отображаться в пользовательских интерфейсах. Используйте строчный регистр без точки в конце, например, «Количество запросов». Это поле необязательно, но рекомендуется устанавливать для всех метрик, связанных с концепциями, видимыми пользователю, такими как квота. | |||
| labels список / элементы=словарь | Набор меток, которые можно использовать для описания конкретного экземпляра этого типа метрики. Например, тип метрики appengine.googleapis.com/http/server/response_latencies имеет метку для кода HTTP-ответа, response_code, так что вы можете просматривать задержки для успешных ответов или только для ответов, которые завершились ошибкой. | |||
| description строка | Читаемое человеком описание метки. | |||
| key строка / обязательно | Ключ метки. | |||
| value_type строка | По умолчанию: "STRING" | Тип данных, которые могут быть назначены метке. Некоторые допустимые варианты включают: «BOOL», «INT64», «STRING» | ||
| metric_kind строка / обязательно | Указывает, записывает ли метрика мгновенные значения, изменения значения и т. д. Некоторые комбинации metricKind и valueType могут не поддерживаться. Для счетчиков метрик установите это значение в DELTA. Некоторые допустимые варианты включают: «DELTA», «GAUGE», «CUMULATIVE» | |||
| unit строка | По умолчанию: "1" | Единица измерения, в которой сообщается значение метрики. Применимо только в том случае, если valueType равно «INT64», «DOUBLE» или «DISTRIBUTION». Поддерживаемые единицы измерения — это подмножество стандарта [Единицы измерения Unified Code](http://unitsofmeasure.org/ucum.html). | ||
| value_type строка / обязательно | Указывает, является ли измерение целым числом, числом с плавающей точкой и т. д. Некоторые комбинации metricKind и valueType могут не поддерживаться. Для счетчиков метрик установите это значение в INT64. Некоторые допустимые варианты включают: «BOOL», «INT64», «DOUBLE», «STRING», «DISTRIBUTION», «MONEY» | |||
| name строка / обязательно | Присвоенный клиентом идентификатор метрики. Примеры: «error_count», «nginx/requests». Идентификаторы метрик ограничены 100 символами и могут содержать только следующие символы: A-Z, a-z, 0-9 и специальные символы _-.,+!*',()%/. Символ косой черты (/) обозначает иерархию частей имени, и он не может быть первой частью имени. | |||
| project строка | Используемый проект Google Cloud Platform. | |||
| scopes список / элементы=строка | Массив используемых областей. | |||
| service_account_contents jsonarg | Содержимое файла JSON учетной записи сервиса, либо в словаре, либо как строка JSON, его представляющая. | |||
| service_account_email строка | Необязательный адрес электронной почты учетной записи сервиса, если выбран machineaccount, и пользователь не хочет использовать адрес электронной почты по умолчанию. | |||
| service_account_file путь | Путь к файлу JSON учетной записи сервиса, если в качестве типа выбран serviceaccount. | |||
| state строка |
| Нужно ли наличие данного объекта в GCP | ||
| value_extractor строка | 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. - для аутентификации можно установить 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 | success | Параметры bucketOptions необходимы, когда метрика на основе журналов использует тип значения DISTRIBUTION, и она описывает границы ведер, используемые для создания гистограммы извлеченных значений. | ||
| explicitBuckets complex | success | Определяет набор ведер с произвольными ширинами. | ||
| bounds list / elements=string | success | Значения должны быть монотонно возрастающими. | ||
| exponentialBuckets complex | success | Определяет экспоненциальную последовательность ведер, имеющих ширину, пропорциональную значению нижней границы. Каждое ведро представляет собой постоянную относительную неопределенность конкретного значения в ведре. | ||
| growthFactor string | success | Должно быть больше 1. | ||
| numFiniteBuckets integer | success | Должно быть больше 0. | ||
| scale string | success | Должно быть больше 0. | ||
| linearBuckets complex | success | Определяет линейную последовательность ведер, которые все имеют одинаковую ширину (за исключением переполнения и недолива). Каждое ведро представляет собой постоянную абсолютную неопределенность конкретного значения в ведре. | ||
| numFiniteBuckets integer | success | Должно быть больше 0. | ||
| offset string | success | Нижняя граница первого ведра. | ||
| width integer | success | Должно быть больше 0. | ||
| description string | success | Описание этой метрики, используемой в документации. Максимальная длина описания составляет 8000 символов. | ||
| filter string | success | Расширенный фильтр журналов (https://cloud.google.com/logging/docs/view/advanced-filters), используемый для сопоставления записей журналов. | ||
| labelExtractors dictionary | success | Словарь, сопоставляющий строку ключа метки с выражением извлечение, используемого для извлечения данных из поля записи журнала и назначения в качестве значения метки. Каждый ключ метки, указанный в LabelDescriptor, должен иметь связанное с ним выражение извлечения в этом словаре. Синтаксис выражения извлечения такой же, как и для поля valueExtractor. | ||
| metricDescriptor complex | success | Описание метрики, связанной с метрикой на основе журналов. | ||
| displayName string | success | Краткое имя метрики, которое может отображаться в пользовательских интерфейсах. Используйте регистр предложений без точки в конце, например, "Количество запросов". Это поле необязательное, но рекомендуется устанавливать его для всех метрик, связанных с понятными пользователю концепциями, такими как квоты. | ||
| labels complex | success | Набор меток, которые могут быть использованы для описания конкретного экземпляра данного типа метрики. Например, тип метрики appengine.googleapis.com/http/server/response_latencies имеет метку для кода HTTP ответа, response_code, поэтому вы можете просмотреть задержки для успешных ответов или только для ответов, которые завершились ошибкой. | ||
| description string | success | Человекочитаемое описание метки. | ||
| key string | success | Ключ метки. | ||
| valueType string | success | Тип данных, которые могут быть назначены метке. | ||
| metricKind string | success | Указывает, записывает ли метрика мгновенные значения, изменения значения и т. д. Некоторые сочетания metricKind и valueType могут не поддерживаться. Для счетчиков метрик установите это значение в DELTA. | ||
| type string | success | Тип метрики, включая её префикс DNS-имени. Тип не закодирован в URL. Все пользовательские типы метрик имеют DNS-имя `custom.googleapis.com` или `external.googleapis.com`. | ||
| unit string | success | Единица измерения значения метрики. Применимо только в случае, если valueType имеет значение `INT64`, `DOUBLE` или `DISTRIBUTION`. Поддерживаемые единицы являются подмножеством стандарта [Единая система измерения](http://unitsofmeasure.org/ucum.html). | ||
| valueType string | success | Указывает, является ли измерение целым числом, числом с плавающей точкой и т. д. Некоторые сочетания metricKind и valueType могут не поддерживаться. Для счетчиков метрик установите это значение в INT64. | ||
| name string | success | Идентификатор метрики, назначенный клиентом. Примеры: "error_count", "nginx/requests". Идентификаторы метрик ограничены 100 символами и могут включать только следующие символы A-Z, a-z, 0-9 и специальные символы _-.,+!*',()%/. Символ дробной черты (/) обозначает иерархию частей имени, и он не может быть первой буквой имени. | ||
| valueExtractor string | success | valueExtractor необходим при использовании метрики на основе журналов типа распределения для извлечения значений для записи из записи журнала. Поддерживаются две функции для извлечения значений: EXTRACT(field) или REGEXP_EXTRACT(field, regex). Аргументы: 1. field - имя поля записи журнала, из которого нужно извлечь значение. 2. regex - регулярное выражение, использующее синтаксис Google RE2 (https://github.com/google/re2/wiki/Syntax) с одной группой захвата для извлечения данных из указанного поля записи журнала. Значение поля преобразуется в строку перед применением регулярного выражения. Ошибка возникает при указании регулярного выражения, не содержащего ровно одной группы захвата. | ||
Авторы
- Google Inc. (@googlecloudplatform)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/google/cloud/gcp_logging_metric_module.html