华为设备CPU利用率监控脚本:使用Python、ncclient和paramiko

本脚本使用Python语言,并结合ncclient和paramiko库,实现对华为设备的SSH连接,获取设备的CPU利用率和执行命令'display cpu'。

脚本代码

# 导入所需模块
import paramiko
from ncclient import manager
import time
import datetime

# 定义设备信息
device = {
    'ip': '10.1.1.1',
    'port': 22,
    'username': 'admin',
    'password': 'password',
}

# 定义命令
command = 'display cpu'

# 定义SSH连接函数
def ssh_connect(device):
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    ssh.connect(hostname=device['ip'], port=device['port'], username=device['username'], password=device['password'])
    return ssh

# 定义获取命令输出函数
def get_output(command):
    ssh = ssh_connect(device)
    stdin, stdout, stderr = ssh.exec_command(command)
    output = stdout.read().decode()
    ssh.close()
    return output

# 定义获取设备CPU利用率函数
def get_cpu():
    with manager.connect(host=device['ip'], port=device['port'], username=device['username'], password=device['password'], timeout=10, device_params={'name': 'huawei'}) as m:
        cpu_xml = '''
            <rpc>
                <exec command="display cpu"/>
            </rpc>
        '''
        result = m.dispatch(xml=cpu_xml).xml
        cpu = result.split('>')[2].split()[0]
        return cpu

# 获取当前时间
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

# 获取CPU利用率和命令输出
cpu = get_cpu()
output = get_output(command)

# 输出结果
print('当前时间:', now)
print('CPU利用率:', cpu)
print('命令输出:\n', output)

代码说明

  1. 导入必要的模块:paramiko, ncclient, time, datetime
  2. 定义设备信息,包括IP地址、端口号、用户名和密码
  3. 定义要执行的命令:'display cpu'
  4. 定义SSH连接函数:ssh_connect(device),使用paramiko库实现SSH连接
  5. 定义获取命令输出函数:get_output(command),使用paramiko库执行命令并获取输出结果
  6. 定义获取CPU利用率函数:get_cpu(),使用ncclient库发送Netconf请求获取CPU利用率信息
  7. 获取当前时间
  8. 调用函数获取CPU利用率和命令输出
  9. 输出结果,包括当前时间、CPU利用率和命令输出

使用方法

  1. 修改代码中的设备信息,包括IP地址、端口号、用户名和密码
  2. 运行脚本
  3. 脚本将输出当前时间、CPU利用率和'display cpu'命令的输出结果

注意事项

  1. 确保已安装必要的库:paramiko, ncclient
  2. 确保设备已经配置了SSH服务
  3. 确保用户具有执行'display cpu'命令的权限
  4. 可以根据需要修改脚本中的命令和输出格式

总结

本脚本提供了一个使用Python、ncclient和paramiko库连接华为设备,获取CPU利用率和执行命令的示例。您可以根据需要对脚本进行修改和扩展,以满足您的实际需求。

华为设备CPU利用率监控脚本:使用Python、ncclient和paramiko

原文地址: https://www.cveoy.top/t/topic/n36Y 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录