不确定此处是否有任何专业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个地方编辑主机名的痛苦过程。每当我对模板进行更改时,我都必须痛苦地将更改粘贴到每个主机图表中,并在适用的位置更改主机名。
我是否可以设置此模板(可能使用变量代替主机名)并让仪表板自动为此模板中的每个主机创建图表?如果做不到,有没有办法可以编写脚本?
谢谢。
答案 0 :(得分:2)
嗯,你可以使用Datadog API编写20个独特仪表板的脚本,这些仪表板共享相同的内容,但具有不同的主机。这是API文档的一部分,可以提供帮助(例子!)for Timeboards,以及这一个for Screenboards。
那就是说,我个人在我自己的Datadog帐户中发现20个仪表板有点杂乱/笨重。相反,如果是我,我会尝试(A)巧妙地使用仪表板模板变量(例如,群集标签,主机标签等),或者(B)按每个主机标签分组并应用{{以某种方式使我能够看到最极端值的主机。但这当然取决于你:)