从单个主机

时间:2017-09-27 13:36:03

标签: datadog

不确定此处是否有任何专业DataDog用户,但我希望。

我已经创建了一个模板DataDog仪表板模板,该模板通过docker容器捕获主机的内存使用情况。

"主机名"出现在5个左右的地方:

{
  "viz": "timeseries",
  "status": "done",
  "requests": [
    {
      "q": "max:docker.mem.rss{host:are-P-swarmB-swarm-node-1} by {container_name}",
      "aggregator": "avg",
      "conditional_formats": [],
      "type": "area",
      "style": {
        "palette": "dog_classic"
      }
    },
    {
      "q": "max:system.mem.total{host:are-P-swarmB-swarm-node-1}",
      "conditional_formats": [],
      "type": "line",
      "style": {
        "palette": "warm",
        "type": "dashed",
        "width": "normal"
      }
    },
    {
      "q": "max:system.mem.total{host:are-P-swarmB-swarm-node-1} * 0.8",
      "conditional_formats": [],
      "type": "line",
      "style": {
        "palette": "orange",
        "type": "dashed",
        "width": "normal"
      }
    },
    {
      "q": "max:system.mem.total{host:are-P-swarmB-swarm-node-1} - max:system.mem.usable{host:are-P-swarmB-swarm-node-1}",
      "conditional_formats": [],
      "type": "line",
      "style": {
        "palette": "orange",
        "type": "dotted",
        "width": "thin"
      }
    }
  ],
  "autoscale": true,
  "yaxis": {
    "includeZero": false
  }
}

我现在正试图设置一个仪表板,为我20个左右的主机显示这个模板,但这是一个克隆图表并在所有5个地方编辑主机名的痛苦过程。每当我对模板进行更改时,我都必须痛苦地将更改粘贴到每个主机图表中,并在适用的位置更改主机名。

我是否可以设置此模板(可能使用变量代替主机名)并让仪表板自动为此模板中的每个主机创建图表?如果做不到,有没有办法可以编写脚本?

谢谢。

1 个答案:

答案 0 :(得分:2)

嗯,你可以使用Datadog API编写20个独特仪表板的脚本,这些仪表板共享相同的内容,但具有不同的主机。这是API文档的一部分,可以提供帮助(例子!)for Timeboards,以及这一个for Screenboards

那就是说,我个人在我自己的Datadog帐户中发现20个仪表板有点杂乱/笨重。相反,如果是我,我会尝试(A)巧妙地使用仪表板模板变量(例如,群集标签,主机标签等),或者(B)按每个主机标签分组并应用{{以某种方式使我能够看到最极端值的主机。但这当然取决于你:)