无法使用基于日志的指标显示数据(指标类型:“计数器”)

Dat*_*rth 5 charts logging monitoring google-cloud-platform google-cloud-stackdriver

我\xe2\x80\x99m 正在努力创建一个带有基于日志指标的 stackdriver 监控的图表。我的指标是一个计数器,默认情况下没有单位。
\n日志可用于我的基于日志的指标,但当我使用我的指标创建图表时,它会显示no data is available for the...
\nHere\xe2\x80\x99s 我的指标确实有效(称为 isOperatorAllowed):

\n\n
resource.type="container"\nresource.labels.namespace_id="default"\njsonPayload.message="CaseForOperator flags"\nlogName="projects/PROJECT-ID/logs/app"\njsonPayload.caseForOperatorFlags.isOperatorAllowed=true\n
Run Code Online (Sandbox Code Playgroud)\n\n

这里\xe2\x80\x99s 我的图表的 JSON 配置

\n\n
{\n  "dataSets": [\n    {\n      "timeSeriesFilter": {\n        "filter": "metric.type=\\"logging.googleapis.com/user/IsOperatorAllowed\\" resource.type=\\"gke_container\\"",\n        "perSeriesAligner": "ALIGN_RATE",\n        "crossSeriesReducer": "REDUCE_NONE",\n        "secondaryCrossSeriesReducer": "REDUCE_NONE",\n        "minAlignmentPeriod": "60s",\n        "groupByFields": [],\n        "unitOverride": "1"\n      },\n      "targetAxis": "Y1",\n      "plotType": "LINE"\n    }\n  ],\n  "options": {\n    "mode": "COLOR"\n  },\n  "constantLines": [],\n  "timeshiftDuration": "0s",\n  "y1Axis": {\n    "label": "y1Axis",\n    "scale": "LINEAR"\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

有人知道我\xe2\x80\x99m 做错了什么吗?

\n

Dat*_*rth 5

经过讨论和帮助后,答案是:
基于日志的指标仅在创建后获取日志。因此,如果您的日志早于指标创建时间戳,它们将不会出现在指标计数/分布中

示例:

Metric: `03/06/2020 15:55:33`
log 1: `02/06/2020 12:00:00`
log 2: `07/06/2020 12:00:00`

Metric count result: 1 (it will be the log 2)
Run Code Online (Sandbox Code Playgroud)

这里的文档说的是:

新日志条目可能与您指标的日志查询不匹配。基于日志的指标从创建指标后收到的匹配日志条目中获取数据。日志记录不会回填先前日志条目中的指标。