Quantcast
Channel: CodeSection,代码区,Python开发技术文章_教程 - CodeSec
Viewing all articles
Browse latest Browse all 9596

python 自动化运维模块收集

$
0
0

一、汇总了《python 自动化运维技术与最佳实践》常见模块,分别为:

psutil : 系统性能、资源、进程类的管理

实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。

IPy :IP地址处理模块

dnspython :DNS处理模块

difflib,filecmp : 文件内容差异对比,difflib 提供的类和方法用来进行差异化比较,它能够生成文本或者html格式的差异化比较结果,如果需要比较目录的不同,可以使用filecmp模块。

smtplib : 发送邮件

pyurl : WEB应用运行质量情况分析

附一段代码:

c = pycurl.Curl() #创建一个curl对象

c.setopt(pycurl.CONNECTTIMEOUT, 5) #连接的等待时间,设置为0则不等待

c.setopt(pycurl.TIMEOUT, 5) #请求超时时间

c.setopt(pycurl.NOPROGRESS, 0) #是否屏蔽下载进度条,非0则屏蔽

c.setopt(pycurl.MAXREDIRS, 5) #指定HTTP重定向的最大数

c.setopt(pycurl.FORBID_REUSE, 1) #完成交互后强制断开连接,不重用

c.setopt(pycurl.FRESH_CONNECT,1) #强制获取新的连接,即替代缓存中的连接

c.setopt(pycurl.DNS_CACHE_TIMEOUT,60) #设置保存DNS信息的时间,默认为120秒

c.setopt(pycurl.URL,"

http://www.baidu.com

") #指定请求的URL

c.setopt(pycurl.USERAGENT,"Mozilla/5.2 (compatible; MSIE 6.0; windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50324)") #配置请求HTTP头的User-Agent

c.setopt(pycurl.HEADERFUNCTION, getheader) #将返回的HTTP HEADER定向到回调函数getheader

c.setopt(pycurl.WRITEFUNCTION, getbody) #将返回的内容定向到回调函数getbody

c.setopt(pycurl.WRITEHEADER, fileobj) #将返回的HTTP HEADER定向到fileobj文件对象

c.setopt(pycurl.WRITEDATA, fileobj) #将返回的HTML内容定向到fileobj文件对象

c = pycurl.Curl() #创建一个curl对象
c.getinfo(pycurl.HTTP_CODE) #返回的HTTP状态码
c.getinfo(pycurl.TOTAL_TIME) #传输结束所消耗的总时间
c.getinfo(pycurl.NAMELOOKUP_TIME) #DNS解析所消耗的时间
c.getinfo(pycurl.CONNECT_TIME) #建立连接所消耗的时间
c.getinfo(pycurl.PRETRANSFER_TIME) #从建立连接到准备传输所消耗的时间
c.getinfo(pycurl.STARTTRANSFER_TIME) #从建立连接到传输开始消耗的时间
c.getinfo(pycurl.REDIRECT_TIME) #重定向所消耗的时间
c.getinfo(pycurl.SIZE_UPLOAD) #上传数据包大小
c.getinfo(pycurl.SIZE_DOWNLOAD) #下载数据包大小
c.getinfo(pycurl.SPEED_DOWNLOAD) #平均下载速度
c.getinfo(pycurl.SPEED_UPLOAD) #平均上传速度
c.getinfo(pycurl.HEADER_SIZE) #HTTP头部大小

XlsxWriter : 数据报表

pexpect 、paramiko、Fabric: 用来进行远程操作,比如ssh\ftp\passwd\telnet等命令. Fabric 和 Salt/Ansible 并非一个级别。它适合用来做较少的服务器管理。如果超过 10 台服务器,用它就不太合适了。且,Fabric 可以很容易和其他系统整合在一起使用。

ansible,salt : 配置管理工具

二、推荐一个用来管理python包的工具:Anaconda


python 自动化运维模块收集

三、几个收藏的python网站

官方文档的翻译:http://python.usyiyi.cn/python_278/library/subprocess.html

入门的教程:http://www.runoob.com/python/python-files-io.html, http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000


Viewing all articles
Browse latest Browse all 9596

Trending Articles