【问题标题】:Plotting the value of a user define metric's label in Stackdriver在 Stackdriver 中绘制用户定义指标标签的值
【发布时间】:2018-06-29 11:02:09
【问题描述】:

我正在输出以下日志语句:

[p~my-proect-name/dev.12345].<stdout>: 08:09:28.870 [RequestE671C95C] INFO  - Finished processing 27653 rows

我想要一个折线图来显示 Stackdriver 中每天处理的总行数。

我尝试在 GCP 界面中创建用户定义的指标,如下所示:

但这是我在 Stackdriver 中看到的:

如您所见,Stackdriver 并没有绘制标签的实际(已处理的行数),而是仅绘制标签出现的次数(即日志语句的数量) .

可以在 Stackdriver 中实现吗?

【问题讨论】:

    标签: google-app-engine stackdriver google-cloud-stackdriver


    【解决方案1】:

    您需要将值捕获为基于分发日志的指标,而不是将值捕获为用户定义的标签。您可以在https://cloud.google.com/logging/docs/logs-based-metrics/distribution-metrics 中了解有关分布指标的更多信息。

    从日志中捕获的值的统计信息被记录为分布。您可以聚合 1 天内的分布值来计算值的总和。今天的图表不直接支持这一点,但您可以使用 ListTimeSeries API 来获取您想要的值。例如,查询如下所示:

    export ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
    curl -H "Authorization: Bearer ${ACCESS_TOKEN}" 'https://monitoring.googleapis.com/v3/projects/[PROJECT_ID]/timeSeries?aggregation.alignmentPeriod=86400s&aggregation.crossSeriesReducer=REDUCE_SUM&aggregation.perSeriesAligner=ALIGN_SUM&filter=metric.type="logging.googleapis.com/user/ropo-metrics"&interval.endTime=2018-01-22T00:00:00Z'
    

    您也可以在https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list 中使用 Google API Explorer 试用 API

    在结果响应中,您将看到每天的单个分布值,平均 * 计数是当天的总和值。

    目前无法在 Stackdriver 图表中执行这些高级查询操作,但很快就会支持此类功能(免责声明:我是一名在 Stackdriver 工作的工程师)。

    【讨论】:

    • 现在直接支持这个功能了吗?
    猜你喜欢
    • 2018-07-26
    • 1970-01-01
    • 2018-05-14
    • 2017-12-02
    • 1970-01-01
    • 2020-05-14
    • 1970-01-01
    • 2019-11-18
    • 1970-01-01
    相关资源
    最近更新 更多