gpt4 book ai didi

python - Stackdriver 警报策略 - 需要过滤 JSON 负载

转载 作者:行者123 更新时间:2023-12-01 06:34:11 25 4
gpt4 key购买 nike

我在 App Engine 下设置了一个 Python 脚本,该脚本运行在我们组织内收集以下数据的所有项目:

  • 未与快照策略关联的磁盘
  • 名称中不包含“每日”或“每周”的快照政策(因此不符合我们的命名约定)

以前者为例,Stackdriver 日志中的 JSON 负载如下:

jsonPayload: {
DiskWithoutPolicy: "True"
diskId: "1234567891234567891"
diskName: "server-disk3"
project: "projectID"
}

当我创建警报策略时,Metrics Explorer 仅允许我过滤日志的资源标签(此处列出:https://cloud.google.com/monitoring/api/resources):

resource: {
labels: {
module_id: "get_googlecloud_snapshotstatus"
project_id: "projectID"
version_id: ""
zone: "europe-west1-d"
}

Metrics Explorer 可以过滤 JSON 有效负载,以便我可以看到“diskId”、“diskName”和“project”吗?

如果没有,还有其他方法可以实现我的需求吗?

最佳答案

您可以创建自己的 user-defined metrics在 Stackdriver 日志记录中。这样,您就可以捕获与特定过滤器匹配的所有日志,并将所需的字段公开为指标标签。

例如,我导航到 Stackdriver Logging -> 基于日志的指标 -> 创建指标 并为 GAE 应用程序选择一个过滤器:

resource.type="gae_app" 
logName=("projects/REDACTED/logs/appengine.googleapis.com%2Fstdout"
OR "projects/REDACTED/logs/appengine.googleapis.com%2Fstderr"
OR "projects/REDACTED/logs/appengine.googleapis.com%2Fnginx.request"
OR "projects/REDACTED/logs/appengine.googleapis.com%2Frequest_log")
resource.labels.module_id="image-demo"
httpRequest.requestMethod="GET"

请求包含通用的jsonPayload,例如:

jsonPayload: {
appLatencySeconds: "0.000"
latencySeconds: "0.001"
trace: "4ff777572199f23f4fc97388e75c0acc"
}

在指标编辑器(右侧面板)的 Labels 下,有一个 Field name 下拉选择器,其中包含我们的 jsonPayload 字段:

enter image description here

在我们的示例中,我们选择 jsonPayload.trace,现在我们可以在 Metrics Explorer 中通过 trace 标签过滤自定义指标:

enter image description here

请注意,您可以直接从用户定义的指标列表中创建 Stackdriver Monitoring 警报(根据指标创建警报):

enter image description here

关于python - Stackdriver 警报策略 - 需要过滤 JSON 负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59755930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com