728x90
● Netmiko 복수 장비 접근 방법 - Dictionary를 이용한 접근
- 장비에 접근하기 위한 정보들을 Dictionary 형태의 데이터로 정의하고 순차적으로 불러와서 개별 장비에 접근 할 수 있습니다. 다만, 접속 할 장비의 수량이 증가하게 되면 Dictionary 데이터가 너무 길어져 코드가 길어지는 단점이 있습니다.
- 복수의 Dictionary 데이터를 저장하기 위해 List Type안에 Dictionary 데이터를 삽입하는 구조를 가져 갑니다.
from netmiko import SSHDetect, ConnectHandler
devices = [
{
"device_type": "extreme_exos",
"host": "IP 주소",
"username": "계정",
"password": "비밀번호",
"secret": "Enable 비밀번호",
"verbose" : "True"
},
{
"device_type": "extreme_exos",
"host": "IP 주소",
"username": "계정",
"password": "비밀번호",
"secret": "Enable 비밀번호",
"verbose" : "True"
}
]
for device in devices:
with ConnectHandler(**device) as net_connect:
print(net_connect.find_prompt())
● Netmiko 복수 장비 접근 방법 - JSON을 이용한 접근
- 장비에 접근하기 위한 정보들을 JSON 형태의 데이터로 정의하고 순차적으로 불러와서 개별 장비에 접근 할 수 있습니다. 접속 할 장비의 수량이 증가하여도 외부 JSON 파일만 수정하면 되기 때문에 Dictionary를 메인 코드에 기록하는 것 보다 편리 합니다.
# Python Code
import json
from netmiko import extreme
def Connect_Device(device):
with extreme.ExtremeExosSSH(**device) as net_connect:
hostname = net_connect.find_prompt()
print(hostname)
if __name__ == "__main__":
with open("JSON 파일 위치"), mode='r') as json_file:
Switchs = json.load(json_file)
for _, devices in Switchs.items():
for device in devices:
Connect_Device(device)
- JSON 파일은 기본적으로 Dictionary 형태의 데이터와 형태가 동일 합니다. 그래서 Python의 Dictionary Data Type을 JSON으로 변환할 수 있고, JSON Data Type을 Python Dictionary Data Type으로 변환 할 수 있습니다.
# JSON 파일
{
"DEVICES" : [
{
"device_type": "extreme_exos",
"ip": "IP 주소",
"username": "계정",
"password": "비밀번호",
"secret": "Enable 비밀번호",
"verbose" : "True"
},
{
"device_type": "extreme_exos",
"ip": "IP 주소",
"username": "계정",
"password": "비밀번호",
"secret": "Enable 비밀번호",
"verbose" : "True"
},
{
"device_type": "extreme_exos",
"ip": "IP 주소",
"username": "계정",
"password": "비밀번호",
"secret": "Enable 비밀번호",
"verbose" : "True"
}
]
}
728x90
'네트워크 > 네트워크 자동화' 카테고리의 다른 글
[네트워크 자동화] - Netmiko 지원 장비 확인 및 자동 탐지 방법 (0) | 2023.04.12 |
---|---|
[네트워크 자동화] - Netmiko 소개 및 활용 (0) | 2022.11.29 |
[네트워크 자동화] - 환경 구축 (윈도우 기반) (0) | 2022.11.29 |
[네트워크 자동화] - 소개 (0) | 2022.11.28 |