【问题标题】:Can someone provide definition of keys in Google Stackdriver JSON alert message (sent via webhook to alerta)?有人可以在 Google Stackdriver JSON 警报消息(通过 webhook 发送到警报)中提供键的定义吗?
【发布时间】:2019-08-30 07:20:33
【问题描述】:

我们需要一种可靠的方法来从 stackdriver 警报消息(发送到 alerta webhook)中获取受监控资源的 gcp 项目 id(不是 stackdriver 项目 id)。

我发现的一个可能的关键是:

"rawData": {
    "incident": {
      "resource_name": "squad-spielwiese test-ezander",
}   }

我希望 100% 安全地了解 key resource_name 的语法(似乎像 resource's project name <blanc> resource name),或者如果我的情况有更好的选择,所以我试图找到有关 stackdriver 警报消息键的任何文档 - 没有成功。

我不敢相信没有人记录堆栈驱动程序 webhook 警报消息中单个键的确切定义。有人可以帮我找到更详细的信息吗?

下面是 alerta 中的完整示例:

{
  "attributes": {
    "incidentId": "0.lbon2fb3ylfn",
    "ip": "66.249.87.155",
    "isOutOfHours": false,
    "moreInfo": "<a href=\"https://app.google.stackdriver.com/incidents/0.lbon2fb3ylfn?project=squad-spielwiese\" target=\"_blank\">Stackdriver Console</a>",
    "resourceId": "",
    "runBookUrl": "http://www.example.com/wiki/RunBook/GCE-VM-Instance---CPU-utilization-for-4427379606643423981"
  },
  "correlate": [],
  "createTime": "2019-08-29T12:25:54.000Z",
  "customer": null,
  "duplicateCount": 0,
  "environment": "Production",
  "event": "GCE VM Instance - CPU utilization for 4427379606643423981",
  "group": "Cloud",
  "history": [
    {
      "event": "GCE VM Instance - CPU utilization for 4427379606643423981",
      "href": "https://127.0.0.1:9090/alerta-dev/api/alert/c5ae3e1c-53ad-42a3-b053-3321b3e96123",
      "id": "c5ae3e1c-53ad-42a3-b053-3321b3e96123",
      "severity": "ok",
      "status": null,
      "text": "OK: CPU utilization for squad-spielwiese test-ezander with metric labels {instance_name=test-ezander} returned to normal with a value of 0.001.",
      "type": "severity",
      "updateTime": "2019-08-29T12:25:50.000Z",
      "value": "--"
    },
    {
      "event": "GCE VM Instance - CPU utilization for 4427379606643423981",
      "href": "https://127.0.0.1:9090/alerta-dev/api/alert/c5ae3e1c-53ad-42a3-b053-3321b3e96123",
      "id": "c5ae3e1c-53ad-42a3-b053-3321b3e96123",
      "severity": null,
      "status": "closed",
      "text": "new alert status change",
      "type": "status",
      "updateTime": "2019-08-29T12:25:50.000Z",
      "value": null
    },
    {
      "event": "GCE VM Instance - CPU utilization for 4427379606643423981",
      "href": "https://127.0.0.1:9090/alerta-dev/api/alert/312fa29e-7c76-4e24-85f7-f3ecd09cc2f6",
      "id": "312fa29e-7c76-4e24-85f7-f3ecd09cc2f6",
      "severity": "critical",
      "status": null,
      "text": "CRITICAL: CPU utilization for squad-spielwiese test-ezander with metric labels {instance_name=test-ezander} is above the threshold of 0.2 with a value of 1.000.",
      "type": "severity",
      "updateTime": "2019-08-29T12:25:54.000Z",
      "value": "--"
    },
    {
      "event": "GCE VM Instance - CPU utilization for 4427379606643423981",
      "href": "https://127.0.0.1:9090/alerta-dev/api/alert/312fa29e-7c76-4e24-85f7-f3ecd09cc2f6",
      "id": "312fa29e-7c76-4e24-85f7-f3ecd09cc2f6",
      "severity": null,
      "status": "open",
      "text": "correlated alert status change",
      "type": "status",
      "updateTime": "2019-08-29T12:25:54.000Z",
      "value": null
    }
  ],
  "href": "https://127.0.0.1:9090/alerta-dev/api/alert/c5ae3e1c-53ad-42a3-b053-3321b3e96123",
  "id": "c5ae3e1c-53ad-42a3-b053-3321b3e96123",
  "lastReceiveId": "312fa29e-7c76-4e24-85f7-f3ecd09cc2f6",
  "lastReceiveTime": "2019-08-29T12:29:50.947Z",
  "origin": "Stackdriver",
  "previousSeverity": "ok",
  "rawData": {
    "incident": {
      "condition_name": "GCE VM Instance - CPU utilization for 4427379606643423981",
      "documentation": {
        "content": "BLA ",
        "mime_type": "text/markdown"
      },
      "ended_at": null,
      "incident_id": "0.lbon2fb3ylfn",
      "policy_name": "ez-policy",
      "resource": {
        "labels": {
          "instance_id": "3269982608675192580",
          "zone": "europe-west3-c"
        },
        "type": "gce_instance"
      },
      "resource_id": "",
      "resource_name": "squad-spielwiese test-ezander",
      "started_at": 1567081554,
      "state": "open",
      "summary": "CPU utilization for squad-spielwiese test-ezander with metric labels {instance_name=test-ezander} is above the threshold of 0.2 with a value of 1.000.",
      "url": "https://app.google.stackdriver.com/incidents/0.lbon2fb3ylfn?project=squad-spielwiese"
    },
    "version": "1.2"
  },
  "receiveTime": "2019-08-29T12:29:50.947Z",
  "repeat": false,
  "resource": "squad-spielwiese test-ezander",
  "service": [
    "ez-policy"
  ],
  "severity": "critical",
  "status": "open",
  "tags": [],
  "text": "CRITICAL: CPU utilization for squad-spielwiese test-ezander with metric labels {instance_name=test-ezander} is above the threshold of 0.2 with a value of 1.000.",
  "timeout": 86400,
  "trendIndication": "moreSevere",
  "type": "stackdriverAlert",
  "value": "--"
}

【问题讨论】:

    标签: google-cloud-platform alert message stackdriver google-cloud-stackdriver


    【解决方案1】:

    没有关于每个堆栈驱动程序响应键是什么的官方文档,但在您的示例中,您可以通过仔细阅读响应字符串来识别 VM 实例和项目 ID。

    例如("resource": "squad-spielwiese test-ezander") 其中“squad-spielwiese”代表您的项目 ID,“test-ezander”代表您的 VM 实例名称。 您还可以查看 URL 键,它始终会显示您的项目 ID:“url”:“https://app.google.stackdriver.com/incidents/0.lbon2fb3ylfn?project=squad-spielwiese

    在 stackdriver 中,由于“安全”原因,没有自然的方法可以仅使用项目 id 来检索键值,但是..您可以使用this API 方法解决调用并将其实现到您的代码中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-27
      • 2019-11-06
      • 1970-01-01
      • 2021-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多