HPE Aruba Networking のデバイスは Central などクラウド管理できるものであっても現地の機器の状態を show コマンドなどで詳細に確認できるエキスパート向けの機能が強みのひとつです。
しかし AOS10 や New Central になると AirMatch のように Central 側で処理する機能も登場し、詳細な状態をデバッグするには Central 側の状況も把握する必要が出てくるので、API での情報収集を用いた Debugging も重要になります。
そういった背景から、指定のAPIを繰り返しコールする Python の出番が増えると思われますので、トークン管理 や リザルトの記録 などを実装した New Central 向けの簡易な汎用 Python スクリプトを作成しました。(Unofficial のツールですので、サポートは期待しないでください)
※ 突貫で作成したため、GET 以外のコールは追々試します。
New HPE Aruba Networking Central の API 詳細については、このサイトをご参照ください。
Base URLs もここに記載があります。
なお、New Central の API の種類は、まだまだ増えていく予定ですのでご期待ください。
コールに必要な CLIENT_ID, CLIENT_SECRET 等はこちらの手順で生成します。
■ Python Script はこちら
■ aruba_cnx_api_param.json の例
{
"CLIENT_ID": "★Client ID★",
"CLIENT_SECRET": "★Client secret★",
"BASE_URL": "jp1.api.central.arubanetworks.com",
"API_REQUEST": "/network-monitoring/v1alpha1/tenant-device-health",
"API_METHOD": "GET",
"API_PARAM": { // API に渡すパラメータ
"query-time": "1723614970015" // パラメータがなければこの行だけ空にする
},
"RESULT_FILENAME": "aruba_cnx_api_result.txt", // 結果を保存するファイル名
"SLEEP_SEC": 10 // APIをコールする間隔 (秒) 0 なら1回で終了。
}
■ 出力例
2025/10/06 13:37:27
{
"deviceTypes": [
{
"health": {
"groups": [
{
"name": "Poor",
"value": 1
},
{
"name": "Fair",
"value": 0
},
{
"name": "Good",
"value": 4
}
]
},
"name": "Access Points"
}
],
"id": "alpha2_sub_12345678",
"type": "network-monitoring/tenant-device-health"
}
2025/10/06 13:37:38
{
"deviceTypes": [
{
"health": {
"groups": [
{
"name": "Poor",
"value": 0
},
{
"name": "Fair",
"value": 0
},
{
"name": "Good",
"value": 5
}
]
},
"name": "Access Points"
}
],
"id": "alpha2_sub_12345678",
"type": "network-monitoring/tenant-device-health"
}
#blog #central #api