获取服务端日志并解析耗时

python获取远程服务端日志,并解析出关键字后耗时

import paramiko
import re

# 远程主机的IP地址、用户名和密码
host = 'remote_host_ip'
username = 'username'
password = 'password'

# 创建SSH客户端
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

try:
    # 连接远程主机
    ssh.connect(host, username=username, password=password)

    # 远程执行命令获取日志文件内容
    command = 'type log_file.txt'  # 假设日志文件名为log_file.txt
    stdin, stdout, stderr = ssh.exec_command(command)

    # 读取命令输出
    logs = stdout.read().decode('utf-8')

    # 关闭SSH连接
    ssh.close()

    # 筛选关键字并提取耗时
    keyword = '关键字'
    pattern = r'{} (\d+)'.format(keyword)
    matches = re.findall(pattern, logs)

    if matches:
        # 输出耗时
        print('日志中关键字 "{}" 后的耗时:'.format(keyword))
        for match in matches:
            print(match)
    else:
        print('未找到日志中的关键字 "{}"'.format(keyword))

except paramiko.AuthenticationException:
    print('认证失败,请检查用户名和密码。')
except paramiko.SSHException as ssh_ex:
    print('SSH连接错误:', str(ssh_ex))
except paramiko.SFTPException as sftp_ex:
    print('SFTP操作错误:', str(sftp_ex))
except Exception as ex:
    print('错误:', str(ex))

以下变量的值需根据实际情况做出改变:

remote_host_ip: 远程Windows主机的IP地址。
username: 用于SSH连接的用户名。
password: 用于SSH连接的密码。
log_file.txt: 远程Windows主机上的日志文件名。
关键字: 要筛选的关键字。

请注意,此脚本使用了paramiko库来建立SSH连接并执行命令。在运行脚本之前,需要确保已安装paramiko库。可以使用以下命令安装该库:

pip install paramiko

此外,脚本还使用了正则表达式模块re来进行关键字的筛选和提取。根据实际需求,可能需要调整正则表达式模式以匹配日志文件中的正确格式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值