当前位置:首页>python>配置python巡检h3c交换机

配置python巡检h3c交换机

  • 2026-10-11 19:47:35
配置python巡检h3c交换机
   各位兄弟,以前写过一个用python连接h3c交换机,并执行h3c交换机命令的程序,今天来分享一个连接多个h3c交换机,并用多线程同步执行的例子,这也是我们做IT运维需要学习的,咱也不多说了,接下来就可以实际操作下,首先我们来配置交换机:
首先我们创建一个可以通过SSH连接的账户,如下图:
第二步:定义SSH的登录方式为AAA认证:
第三步:开启ssh服务,并定义ssh登录的用户
多个h3c交换机是类似的配置,这样我们交换机就配置完毕了。
python程序如下图:
import netmiko
from netmiko import ConnectHandler
from concurrent.futures import ThreadPoolExecutor

# -------------------------- 在这里修改你的交换机列表 --------------------------
switch_list = [
    {
'device_type': 'hp_comware',
'host': '10.0.0.21',
'port': 22,
'username': 'admin',
'password': 'shunfaxinxi@123',
    },
    {
'device_type': 'hp_comware',
'host': '10.0.0.9',
'port': 22,
'username': 'admin',
'password': 'shunfaxinxi@123',
    },
    {
'device_type': 'hp_comware',
'host': '10.0.0.20',
'port': 22,
'username': 'admin',
'password': 'shunfaxinxi@123',
    },
    {
'device_type': 'hp_comware',
'host': '10.0.0.27',
'port': 22,
'username': 'admin',
'password': 'shunfaxinxi@123',
    },
]

# 要批量执行的命令
commands = ['dis cpu', 'dis memory']


# -------------------------- 批量执行函数 --------------------------
def run_command_on_switch(switch):
    ip = switch['host']
print(f"\n==== 正在连接交换机:{ip} ====")

try:
# 连接
net_connect = ConnectHandler(**switch)
        result = f"\n{'=' * 50}\n交换机 {ip} 执行结果\n{'=' * 50}\n"
# 逐条执行命令
for cmd in commands:
            output = net_connect.send_command(cmd)
            result += f"\n【命令】: {cmd}\n{output}\n"
net_connect.disconnect()
return result

except Exception as e:
return f"\n==== 交换机 {ip} 连接失败:{str(e)} ===="
# -------------------------- 多线程同时执行 --------------------------
if __name__ == "__main__":
print("==== 开始批量执行交换机命令 ====")

# 同时连接5台(可改)
with ThreadPoolExecutor(max_workers=5) as executor:
        all_results = executor.map(run_command_on_switch, switch_list)

# 打印所有结果
for res in all_results:
print(res)
接下来我们执行程序,看输出:

:\python\pythonProject3\.venv\Scripts\python.exe D:\python\pythonProject3\巡检多交换机.py 

==== 开始批量执行交换机命令 ====

==== 正在连接交换机:10.0.0.21 ====

==== 正在连接交换机:10.0.0.9 ====

==== 正在连接交换机:10.0.0.20 ====

==== 正在连接交换机:10.0.0.27 ====

==================================================

交换机 10.0.0.21 执行结果

==================================================

【命令】: dis cpu

Slot 1 CPU 0 CPU usage:

      40% in last 5 seconds

       5% in last 1 minute

       5% in last 5 minutes

【命令】: dis memory

Memory statistics are measured in KB:

Slot 1: 

             Total      Used      Free    Shared   Buffers    Cached   FreeRatio

Mem:        506440    301704    204736         0      2372    112844       43.4%

-/+ Buffers/Cache:    186488    319952

Swap:            0         0         0

==================================================

交换机 10.0.0.9 执行结果

==================================================

【命令】: dis cpu

Slot 1 CPU 0 CPU usage:

      27% in last 5 seconds

       7% in last 1 minute

       8% in last 5 minutes

【命令】: dis memory

Memory statistics are measured in KB:

Slot 1: 

             Total      Used      Free    Shared   Buffers    Cached   FreeRatio

Mem:        506408    340692    165716         0      3564    129296       36.3%

-/+ Buffers/Cache:    207832    298576

Swap:            0         0         0

==================================================

交换机 10.0.0.20 执行结果

==================================================

【命令】: dis cpu

Slot 1 CPU 0 CPU usage:

      12% in last 5 seconds

       7% in last 1 minute

       7% in last 5 minutes

【命令】: dis memory

Memory statistics are measured in KB:

Slot 1: 

             Total      Used      Free    Shared   Buffers    Cached   FreeRatio

Mem:        506440    298904    207536         0      2832    114468       44.3%

-/+ Buffers/Cache:    181604    324836

Swap:            0         0         0

==================================================

交换机 10.0.0.27 执行结果

==================================================

【命令】: dis cpu

Slot 1 CPU 0 CPU usage:

      16% in last 5 seconds

       7% in last 1 minute

       8% in last 5 minutes

【命令】: dis memory

Memory statistics are measured in KB:

Slot 1: 

             Total      Used      Free    Shared   Buffers    Cached   FreeRatio

Mem:        506408    340676    165732         0      2512    127884       35.8%

-/+ Buffers/Cache:    210280    296128

Swap:            0         0         0

ok,执行成功,这样巡检是不是很方便呢,程序先搞出来,以后慢慢优化吧!今天就先分享到这里了。

最新文章

随机文章