使用Python脚本监控华为设备(ncclient、paramiko)
导入必要的库
from ncclient import manager import paramiko import time import datetime
定义设备信息
device_info = { 'address': '192.168.1.1', 'port': 22, 'username': 'admin', 'password': 'password' }
定义监控命令
monitor_commands = [ 'display memory', 'display ospf peer br' ]
定义连接设备函数
def connect_device(device_info): # 创建SSH连接 ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接设备
ssh.connect(
hostname=device_info['address'],
port=device_info['port'],
username=device_info['username'],
password=device_info['password']
)
# 返回SSH连接对象
return ssh
定义执行命令函数
def execute_command(ssh, command): # 执行命令 stdin, stdout, stderr = ssh.exec_command(command)
# 返回执行结果
return stdout.read().decode()
定义获取当前时间函数
def get_current_time(): return datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
连接设备
ssh = connect_device(device_info)
循环执行监控命令
for command in monitor_commands: # 执行命令 result = execute_command(ssh, command)
# 输出执行结果和时间戳
print('Command: ' + command)
print('Result: ' + result)
print('Timestamp: ' + get_current_time())
关闭SSH连接
ssh.close()
原文地址: https://www.cveoy.top/t/topic/n39L 著作权归作者所有。请勿转载和采集!