【发布时间】:2018-08-08 21:45:57
【问题描述】:
我正在将此脚本用于 Zabbix 的 Azure 监控:https://b-blog.info/en/monitoring-azure-resources-with-zabbix.html
如果输出中只有一个 SQL 数据库:
{"data":{
"{#SERVERNAME}": "mojsql",
"{#ID}": "/subscriptions/11111-222222/resourceGroups/rg/providers/Microsoft.Sql/servers/mojsql/databases/mojabaza",
"{#DATABASENAME}": "mojabaza",
"{#RGNAME}": "rg"
}
}
如果有多个数据库,则输出为:
{"data":[
{
"{#DATABASENAME}": "mojabaza",
"{#SERVERNAME}": "mojsql",
"{#RGNAME}": "rg",
"{#ID}": "/subscriptions1111-22222/resourceGroups/rg/providers/Microsoft.Sql/servers/mojsql/databases/mojabaza"
},
{
"{#DATABASENAME}": "mojabaza1",
"{#SERVERNAME}": "mojsql",
"{#RGNAME}": "rg",
"{#ID}": "/subscriptions/11111-22222/resourceGroups/rg/providers/Microsoft.Sql/servers/mojsql/databases/mojabaza1"
}
]
}
注意方括号是自动添加的。
问题是如果资源组中只有一个数据库,那么我必须添加方括号才能在 zabbix 中查看数据库
'{"data":' + '[' + $($result | ConvertTo-Json) + ']' + "`n}";
如果有多个数据库,则添加双方括号,Zabbix 显示错误。
如果一个输出然后添加方括号,是否可以写一个条件
如果 $($results)=1 那么
'{"data":' + '[' + $($result | ConvertTo-Json) + ']' + "`n}";
其他
'{"data":' + $($result | ConvertTo-Json) + "`n}";
【问题讨论】:
-
If ($result.length -eq 1){...} else {...} -
@LotPings,它有效,谢谢!!
标签: powershell