日本語フォーラム

 View Only
  • 1.  [New Central][API] New HPE Aruba Networking Central の API と、簡易な汎用スクリプト

    Posted Jul 01, 2025 02:37 PM
    Edited by Shoji Oct 06, 2025 12:55 AM
    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


  • 2.  RE: [New Central][API] New HPE Aruba Networking Central の API と、簡易な汎用スクリプト

    Posted Jul 02, 2025 03:53 AM

    いつもお世話になっております。
    非常に有用なスクリプトありがとうございます、ありがたく使わせていただきます!


    1点気になったのですが、以下の %D のところは、日付を示すのは%dかと存じます。。

    def write_result(result_json):
        cur_time = datetime.now()
        strCurTime = cur_time.strftime('%Y/%m/%D %H:%M:%S')



  • 3.  RE: [New Central][API] New HPE Aruba Networking Central の API と、簡易な汎用スクリプト

    Posted Oct 06, 2025 12:59 AM

    コメント頂いたことに気づかず、返信が遅くなってしまいました。

    すぐにご確認頂いたようで、嬉しいです。

    日時の Typo はご指摘の通りです。

    コードと出力例を更新しました!

    -------------------------------------------