네트워크 장비 모니터링 자동화

보안하기·2023년 9월 21일

python-netmiko

목록 보기
1/1

aruba AP에 스토리지가 없어서 로그를 저장하지 못하는 이슈가 발생했다.
python PyAutoGUI 라이브러리를 활용하여 임시조치를 하였으나, 로깅 작업과 업무를 병행할 수 없는 애로사항이 발생하였다.
다른 것들을 알아보던 중 paramiko, netmiko를 접하였고 결국 내가 원하는 코드를 만들 수 있었다.

※ netmiko 패키지를 먼저 설치가 필요하다

from netmiko import ConnectHandler
import time

aruba = {
    'device_type': 'aruba_os',
    'ip': '장비 IP',
    'username': '계정',
    'password': '패스워드'
}

net_connect = ConnectHandler(**aruba) #Netmiko 세션 설정
print("*connect success*") #접속 성공 alert

#변수 정의
execComm = "show log debug 100" #aruba 명령어를 execComm 변수에 저장
nowDate = time.strftime('%Y%m%d.%H%M%S')
filename = 'C:\\Users\\test\\Desktop\\putty log\\test\\' + 'aruba-sh_log_debug' + nowDate + '.txt'


> #결과를 저장할 파일 열기
with open(filename, "w") as file:
    # 1분 간격으로 100번 명령어 반복
    for i in range(100):
        output = net_connect.send_command(execComm)
        file.write(output + "\n\n") # 결과를 파일에 추가
        time.sleep(60)

print("*logging success*") #로깅 성공 alert
net_connect.disconnect()
profile
현재 위치에서 최선을 다하자

0개의 댓글