GCP 平台的监控工具是 Stackdriver。Stackdriver 有监控、日志、Trace、Debug、Error Reporting 等各种功能。当Stackdriver 自带 Metric 不能满足监控需求的时候,我们可以创建自定义的 metric 进行监控。创建自定义 Metric 的一种方法是基于 Log 中的属性进行定义。

本文以 HTTP 的访问 URL 为例,介绍如何创建并监控相关内容。

一 Global Load Balancer 相关配置

下图是相关配置:

可以看到,所有请求被转发到backend service。

二 在 Stackdriver 的 logging 中创建 log based metric

1 在 stackdriver 中查看日志:

查看 Cloud HTTP Load Balancer 的日志,展开可以看到有 requestUrl 的选项。点击选择 Add field to summary line。

这时看到日志中多了一列:

2 创建 logs-based metrics

点击左侧的 logs-based metrics:

点击,选择 show matching entries:

可以看到

resource.type="http_load_balancer"httpRequest.requestUrl="http://34.98.121.79/3.html"

对 logging 进行了过滤。

对这个规则,创建 Metric:在右边的 Metric Editor 中填写相关的内容,点击 Create Metric。

同样,创建 4.html 的 Metric:

3 带 label 的 metric

Monitor 中的 group 可以采用 log-based metric 的 label 来进行。所以创建有 label 的 Metric 是非常必要的。与前面创建 Metric 类似,但需要修改 filter 和 Lable 部分:

具体 filter 的修改规则,请参考

三 采用新定义的 metric 进行监控

1 无 Label 的 metric 监控

在 Stackdriver 的 monitor 界面里,选择:

选择负载均衡相关的 metric:

可以看到两个定义的 metric 的监控信息:

2 带 Label 的 metric 监控

和前面一样,创建一个 Metrics Explorer,在选择 Metric 时,可以选择刚刚创建好的 URL,并在 group 的配置处,选择刚刚创建好的 Label:URL

其中红色是没有创建 Label 是的统计结果,二橙色和蓝色是添加来 Label 后的统计结果。

四 结论

可以通过 GCP 中 logging 的信息定义新的监控 Metric,并可以对其进行监控。

文章版权归作者所有,未经许可不得转载。

相关推荐