google.cloud.gcp_logging_metric 模块 – 创建 GCP 指标

注意

此模块是 google.cloud 集合(版本 1.4.1)的一部分。

如果您使用的是 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install google.cloud。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。

要在 playbook 中使用它,请指定:google.cloud.gcp_logging_metric

注意

由于违反了 Ansible 包含要求,google.cloud 集合将从 Ansible 12 中删除。该集合有 未解决的健全性测试失败。有关更多信息,请参阅 讨论主题

概要

  • 基于日志的指标也可用于从日志中提取值并创建值的分布。该分布记录提取值的统计信息以及由存储桶选项指定的(可选)值直方图。

要求

执行此模块的主机需要以下要求。

  • python >= 2.6

  • requests >= 2.18.4

  • google-auth >= 1.3.0

参数

参数

注释

access_token

string

如果凭据类型为 accesstoken,则为 OAuth2 访问令牌。

auth_kind

string / 必需

使用的凭据类型。

选项

  • "application"

  • "machineaccount"

  • "serviceaccount"

  • "accesstoken"

bucket_options

dictionary

当基于日志的指标使用 DISTRIBUTION 值类型时,需要 bucketOptions,它描述了用于创建提取值直方图的存储桶边界。

explicit_buckets

dictionary

指定一组具有任意宽度的存储桶。

bounds

list / elements=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 环境。

除非您知道自己在做什么,否则不应设置此项。

这只会更改任何 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 / elements=dictionary

可用于描述此指标类型特定实例的标签集。例如,appengine.googleapis.com/http/server/response_latencies 指标类型具有 HTTP 响应代码 response_code 的标签,因此您可以查看成功响应或仅查看失败响应的延迟。

description

string

标签的人工可读描述。

key

string / 必需

标签键。

value_type

string

可以分配给标签的数据类型。

一些有效选项包括:“BOOL”、“INT64”、“STRING”

默认值: "STRING"

metric_kind

string / 必需

指标是否记录瞬时值、值的更改等。

metricKind 和 valueType 的某些组合可能不受支持。

对于计数器指标,请将其设置为 DELTA。

一些有效选项包括:“DELTA”、“GAUGE”、“CUMULATIVE”

unit

string

报告指标值的单位。仅当 valueType 为 `INT64`、`DOUBLE` 或 `DISTRIBUTION` 时才适用。支持的单位是 [度量单位的统一代码](http://unitsofmeasure.org/ucum.html) 标准的子集。

默认值: "1"

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 / elements=string

要使用的作用域数组

service_account_contents

jsonarg

服务帐户 JSON 文件的内容,可以是字典形式,也可以是表示它的 JSON 字符串。

service_account_email

string

如果选择了 machineaccount 并且用户不希望使用默认电子邮件,则可选的服务帐户电子邮件地址。

service_account_file

path

如果选择 serviceaccount 作为类型,则服务帐户 JSON 文件的路径。

state

string

给定的对象是否应该存在于 GCP 中

选项

  • "present" ← (默认)

  • "absent"

value_extractor

string

当使用基于分布日志的指标从日志条目中提取要记录的值时,需要 valueExtractor。值提取支持两个函数 - EXTRACT(字段) 或 REGEXP_EXTRACT(字段, 正则表达式)。参数是:1. 字段 - 要从中提取值的日志条目字段的名称。 2. 正则表达式 - 使用 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

  • 对于身份验证,您可以使用 GCP_SERVICE_ACCOUNT_FILE 环境变量设置 service_account_file。

  • 对于身份验证,您可以使用 GCP_SERVICE_ACCOUNT_CONTENTS 环境变量设置 service_account_contents。

  • 对于身份验证,您可以使用 GCP_SERVICE_ACCOUNT_EMAIL 环境变量设置 service_account_email。

  • 对于身份验证,您可以使用 GCP_ACCESS_TOKEN 环境变量设置 access_token。

  • 对于身份验证,您可以使用 GCP_AUTH_KIND 环境变量设置 auth_kind。

  • 对于身份验证,您可以使用 GCP_SCOPES 环境变量设置 scopes。

  • 只有在 playbook 值未设置时,才会使用环境变量值。

  • service_account_emailservice_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

当基于日志的指标使用 DISTRIBUTION 值类型时,需要 bucketOptions,它描述了用于创建提取值直方图的存储桶边界。

返回: 成功

explicitBuckets

complex

指定一组具有任意宽度的存储桶。

返回: 成功

bounds

list / elements=string

这些值必须单调递增。

返回: 成功

exponentialBuckets

complex

指定存储桶的指数序列,该序列的宽度与下限值成比例。每个存储桶代表存储桶中特定值的恒定相对不确定性。

返回: 成功

growthFactor

string

必须大于 1。

返回: 成功

numFiniteBuckets

integer

必须大于 0。

返回: 成功

scale

string

必须大于 0。

返回: 成功

linearBuckets

complex

指定所有宽度相同的存储桶的线性序列(溢出和下溢除外)。

每个存储桶代表存储桶中特定值的恒定绝对不确定性。

返回: 成功

numFiniteBuckets

integer

必须大于 0。

返回: 成功

offset

string

第一个存储桶的下限。

返回: 成功

width

integer

必须大于 0。

返回: 成功

description

string

此指标的描述,用于文档中。描述的最大长度为 8000 个字符。

返回: 成功

filter

string

用于匹配日志条目的高级日志过滤器(https://cloud.google.com/logging/docs/view/advanced-filters)。

返回: 成功

labelExtractors

dictionary

从标签键字符串到提取器表达式的映射,该表达式用于从日志条目字段中提取数据并赋值为标签值。LabelDescriptor 中指定的每个标签键都必须在此映射中具有关联的提取器表达式。提取器表达式的语法与 valueExtractor 字段的语法相同。

返回: 成功

metricDescriptor

complex

与基于日志的指标关联的指标描述符。

返回: 成功

displayName

string

指标的简洁名称,可以在用户界面中显示。使用句子大小写,结尾不加句点,例如“请求计数”。此字段是可选的,但建议为与用户可见概念(例如,配额)关联的任何指标进行设置。

返回: 成功

labels

complex

可用于描述此指标类型特定实例的标签集。例如,appengine.googleapis.com/http/server/response_latencies 指标类型具有 HTTP 响应代码 response_code 的标签,因此您可以查看成功响应或仅查看失败响应的延迟。

返回: 成功

description

string

标签的人工可读描述。

返回: 成功

key

string

标签键。

返回: 成功

valueType

string

可以分配给标签的数据类型。

返回: 成功

metricKind

string

指标是否记录瞬时值、值的更改等。

metricKind 和 valueType 的某些组合可能不受支持。

对于计数器指标,请将其设置为 DELTA。

返回: 成功

type

string

指标类型,包括其 DNS 名称前缀。该类型不是 URL 编码的。

所有用户定义的指标类型都具有 DNS 名称 `custom.googleapis.com` 或 `external.googleapis.com`。

返回: 成功

unit

string

报告指标值的单位。仅当 valueType 为 `INT64`、`DOUBLE` 或 `DISTRIBUTION` 时才适用。支持的单位是 [度量单位的统一代码](http://unitsofmeasure.org/ucum.html) 标准的子集。

返回: 成功

valueType

string

测量值是整数、浮点数等。

metricKind 和 valueType 的某些组合可能不受支持。

对于计数器指标,请将其设置为 INT64。

返回: 成功

name

string

客户端分配的指标标识符。示例 - “error_count”、“nginx/requests”。

指标标识符限制为 100 个字符,并且只能包含以下字符 A-Z、a-z、0-9 以及特殊字符 _-.,+!*’,()%/。正斜杠字符 (/) 表示名称片段的层级结构,并且不能作为名称的第一个字符。

返回: 成功

valueExtractor

string

当使用基于分布日志的指标从日志条目中提取要记录的值时,需要 valueExtractor。值提取支持两个函数 - EXTRACT(字段) 或 REGEXP_EXTRACT(字段, 正则表达式)。参数是:1. 字段 - 要从中提取值的日志条目字段的名称。 2. 正则表达式 - 使用 Google RE2 语法 (https://github.com/google/re2/wiki/Syntax) 的正则表达式,其中包含单个捕获组,用于从指定的日志条目字段中提取数据。在应用正则表达式之前,字段的值将转换为字符串。指定不包含正好一个捕获组的正则表达式是错误的。

返回: 成功

作者

  • Google Inc. (@googlecloudplatform)