지난 1강에서 우리는 Aruba Central API의 문을 여는 ‘액세스 토큰(Access Token)’을 받는 데 성공했습니다.
혹시 아직 안 보셨다면 1강을 먼저 보고 오시는 걸 추천해 드립니다!
오늘은 그 토큰을 이용해 진짜 ‘돈이 되고 시간이 되는’ 작업을 해보겠습니다.
바로 네트워크 관리자의 영원한 숙제, 자산 관리(Inventory)입니다.
“팀장님: 현재 운영 중인 AP 전체 리스트, 시리얼 번호, 라이선스 만료일 포함해서 엑셀로 정리해 주세요. 30분 내로요.”
Aruba Central 대시보드에서 일일이 확인하고 복사 붙여넣기 하실 건가요?
오늘 보여드릴 파이썬 스크립트만 있으면, 엔터 한 번 치고 커피 한 모금 마시기도 전에 엑셀 파일이 뚝딱 만들어집니다.
1. 오늘의 목표
- 목표: Aruba Central에 등록된 모든 장비(AP, 스위치, 게이트웨이) 정보를 가져와서
- 가공: 내가 필요한 정보(이름, 모델명, 시리얼, IP, 상태)만 골라낸 뒤
- 결과: 깔끔한
.xlsx엑셀 파일로 저장합니다.
이 과정에서 우리는 Pandas(판다스)라는 아주 강력한 파이썬 라이브러리를 사용할 겁니다.
엑셀을 다루는 데이터 분석가들이 쓰는 도구인데, 우리 같은 네트워크 엔지니어에게도 아주 유용합니다.
2. 준비 운동: 개발자 허브에서 API 찾기
코딩하기 전에 Aruba Developer Hub에서 어떤 API를 써야 할지 찾아봐야겠죠?
우리가 사용할 API는 Network Monitoring 카테고리에 있는 List Devices입니다.
- API Endpoint:
/network-monitoring/v1alpha1/devices
“왜 v1alpha1 인가요?”
Aruba Central이 New Central로 진화하면서 API 역시 더욱 표준화된 구조를 갖추기 시작했습니다.
v1alpha1은 최신 네트워크 모니터링 기능을 가장 빠르게 반영하는 엔드포인트입니다.기존
v2API보다 응답 속도가 빠르고, 향후 AOS 10 기반의 마이크로서비스 아키텍처와 완벽하게 통합됩니다.
- Method:
GET - 기능: 등록된 장비들의 상태와 세부 정보를 리스트로 반환합니다.
3. [실습] 파이썬으로 New Central 데이터 엑셀 저장하기
이번 실습에서는 엑셀 분석의 표준인 Pandas 라이브러리를 사용합니다.
[사전 준비]
pip install requests pandas openpyxl[New Central 전용 파이썬 스크립트]
import requests
import pandas as pd
from datetime import datetime
# 1. New Central 접속 정보
# 1강에서 발급받은 토큰과 본인의 리전 주소를 입력하세요.
ACCESS_TOKEN = "YOUR_ACCESS_TOKEN"
BASE_URL = "https://de1.api.central.arubanetworks.com"
API_PATH = "/network-monitoring/v1alpha1/devices"
print(f"🚀 New Central API 호출 시작: {BASE_URL}")
try:
# 2. 데이터 요청
response = requests.get(f"{BASE_URL}{API_PATH}", headers=headers)
if response.status_code == 200:
raw_data = response.json()
# New Central v1alpha1은 보통 'items' 키에 장비 목록이 담깁니다.
devices = raw_data.get('items', [])
print(f"✅ 총 {len(devices)}대의 장비 데이터를 수신했습니다.")
# 3. 데이터 가공 (원하는 컬럼 매핑)
device_list = []
for dev in devices:
device_list.append({
"장비이름": dev.get("deviceName"),
"시리얼": dev.get("serialNumber"),
"모델": dev.get("model"),
"IP주소": dev.get("ipv4"),
"상태": dev.get("status"),
"사이트": dev.get("siteName"),
"MAC주소": dev.get("macAddress")
})
# 4. 판다스를 이용한 엑셀 저장
df = pd.DataFrame(device_list)
filename = f"NewCentral_Inventory_{datetime.now().strftime('%Y%m%d')}.xlsx"
df.to_excel(filename, index=False)
print(f"🎉 파일 저장 완료: {filename}")
else:
print(f"❌ 실패 (코드 {response.status_code}): {response.text}")
except Exception as e:
print(f"❌ 오류 발생: {e}")스크립트가 정상적으로 실행되면, 아래와 같은 메시지와 함께 엑셀 파일이 추출됩니다.

4. 마치며
오늘은 New Central이라는 최신 환경에서 데이터를 추출해 보았습니다.
이제 여러분의 책상 위에는 수동으로 정리한 엑셀 대신, 코드가 생성한 완벽한 자산 리스트가 놓여 있을 것입니다.
다음 3강에서는 이렇게 모은 데이터를 바탕으로, Ansible을 이용해 실제 장비(CX 스위치)에 설정을 밀어 넣는 ‘진짜 자동화’의 세계로 떠나보겠습니다!




