我一直在寻找一个 curl 命令,它实际上可以为我提供虚拟服务器的详细信息,例如池名称、IP、HTTP 代码等。我查看了 f5devcentral 页面但没有成功。
问问题
1040 次
2 回答
1
将iControl Rest API与以下内容一起使用:
curl -k -u admin:pw -H "Content-Type: application/json" https://bigip.example.com/mgmt/tm/ltm/virtual/
对于特定的虚拟服务器https://bigip.example.com/mgmt/tm/ltm/virtual/{VS_NAME}
,用作 API 端点
输出(截断):
{
"kind": "tm:ltm:virtual:virtualstate",
"name": "vs.example.com",
"fullPath": "vs.example.com",
"generation": 111111,
"selfLink": "https://localhost/mgmt/tm/ltm/virtual/vs.example.com?ver=13.1.1.2",
"addressStatus": "yes",
"autoLasthop": "default",
"cmpEnabled": "yes",
"connectionLimit": 0,
"destination": "/Common/10.1.1.1:80",
"enabled": true,
"gtmScore": 0,
"ipProtocol": "tcp",
"mask": "255.255.255.255",
"mirror": "disabled",
"mobileAppTunnel": "disabled",
"nat64": "disabled",
"pool": "/Common/test",
"poolReference": {
"link": "https://localhost/mgmt/tm/ltm/pool/~Common~test?ver=13.1.1.2"
},
...
}
于 2019-04-12T05:45:57.073 回答
0
您可以使用 curl 和 jq 进行 JSON 过滤。获取所有虚拟服务器详细信息:
curl -sk -u user:pass GET https://www.example.com/mgmt/tm/ltm/virtual/ | jq -r
使用 jq 通过嵌套的 JSONkey:value
字段进一步选择您想要的信息。列出下的所有嵌套值.items
:
curl -sk -u user:pass GET https://www.example.com/mgmt/tm/ltm/virtual/ | jq -r '.items'
并进一步深入研究。如果您想要 VIP 名称和 IP 地址:
curl -sk -u user:pass GET https://www.example.com/mgmt/tm/ltm/virtual/ | jq -r '.items[] .name, .items[] .destination'
于 2019-07-05T12:41:23.507 回答