龙空技术网

浅谈 Python 在运维中应用

上海天正信息科技 97

前言:

眼前姐妹们对“pythonparamiko下载”大概比较注意,我们都想要分析一些“pythonparamiko下载”的相关文章。那么小编在网上搜集了一些有关“pythonparamiko下载””的相关内容,希望兄弟们能喜欢,姐妹们一起来学习一下吧!

在运维早期, 服务器体量小, 部署步骤少、操作简单、对运维人员要求较低,而随着互联网行业飞速发展,服务器体量变大、部署步骤增多、操作变得繁琐、手工操作易发生操作风险且效率低,运维人力成本变高,体量大 (1000+) 的服务器难以人工管理,以前的手工运维就已经难以招架了,这时自动化运维就开始相应响应行业的需求,开始飞速发展!

直至今日,自动化运维体系已经成熟完善,例如:

● 支持混合云的配置管理数据库(CMDB)。CMDB 存储与管理企业 IT 架构中设备的各种配置信息,它与所有服务支持和服务交付流程都紧密相连,支持这些流程的运转、发挥配置信息的价值,同时依赖于相关流程保证数据的准确性。

● 完备的监控和应用性能分析系统。资源监控(如服务器、磁盘、网络)和性能监控(如中间件、数据库)都是较为基础的监控,开源工具有 Zabbix、Nagios、OpenFalcon(国产)。

● 批量运维工具。开源的批量运维工具有 Ansible、SaltStack、Puppet、Chef,其中 Ansible 和 SaltStack 纯由 Python 编写,代码质量和社区活跃程度都很高,推荐使用。

● 日志分析工具。如何快速地从成百上千台服务中采集日志并分析出问题所在呢?日志采集方面工具有 Sentry + 日志分析有 ELK,两者都是开源的。

● 持续集成和版本控制工具。持续集成是一种软件实践,团队成员经常集成他们的工作,每次集成都通过自动化的构建来验证,从而尽早发现集成错误。持续集成的工具 Jenkins+ 版本控制是软件 Git。

● 漏洞扫描工具。借助商业的漏洞扫描工具扫描漏洞,保护服务器资源不受外界的攻击。

python 与运维有啥关系呢?

● 大部分的开源运维工具都是由纯 Python 编写的,如 Celery、ansible、Paramiko、airflow 等,学 习 Python 后可以更加顺畅地使用这些开源工具提供的 API,可以阅读这些开源工具的源代码,甚至可以修改源代码以满足个性化的运维需求;

● Python 与其他语言相比,更加优雅、明确和简单。

示例:paramiko 使用

paramiko 模块是基于 python 实现了 SSH2 远程安全连接,支持认证和密钥方式,可以实现远程连接、命令执行、文件传输、中间 SSH 代理功能

安装 paramiko

需要下载 python3,安装方式可在网上查阅资料

pip3 install paramiko# -*- coding: UTF-8 -*-# This is a test about paramiko# 实例化一个transport对象import paramikoip = input("请输入需要远程的主机IP地址:")uname = input("请输入登录用户名:")pword = input("请输入登录密码:")# 建立一个sshclient对象ssh = paramiko.SSHClient()# 允许将信任的主机自动加入到host_allow 列表,此方法必须放在connect方法的前面ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 调用connect方法连接服务器ssh.connect(hostname=ip,port=22,username=uname,password=pword)# 手动输入待执行命令mycmd = input("请输入需要执行的命令:")stdin,stdout,stderr = ssh.exec_command(mycmd)# 直接执行指定命令ssh.exec_command('cd /tmp/ && touch paramiko.txt && echo "hello 少年" > paramiko.txt')# 结果放到stdout中,如果有错误将放到stderr中print(stdout.read().decode())print(stderr.read().decode())# 关闭连接ssh.close()

验证结果:

欢迎访问网站了解更多:TOPView 官网,欢迎免费试用!

欢迎关注天正信息公众号

标签: #pythonparamiko下载