文档详情

python运维实例.pdf

发布:2017-09-20约7.46万字共59页下载文档
文本预览下载声明
第一部分Part 1 基础篇 ■ 第1 章 系统基础信息模块详解 ■ 第2 章 业务服务监控详解 ■ 第3 章 定制业务质量报表详解 ■ 第4 章 Python 与系统安全 Chapter 1 第1 章 系统基础信息模块详解 系统基础信息采集模块作为监控模块的重要组成部分,能够帮助运维人员了解当前系统 的健康程度,同时也是衡量业务的服务质量的依据,比如系统资源吃紧,会直接影响业务的 服务质量及用户体验,另外获取设备的流量信息,也可以让运维人员更好地评估带宽、设备 资源是否应该扩容。本章通过运用Python 第三方系统基础模块,可以轻松获取服务关键运营 指标数据,包括Linux 基本性能、块设备、网卡接口、系统信息、网络地址库等信息。在采 集到这些数据后,我们就可以全方位了解系统服务的状态,再结合告警机制,可以在第一时 间响应,将异常出现在苗头时就得以处理。 本章通过具体的示例来帮助读者学习、理解并掌握。在本章接下来的内容当中,我们的 示例将在一个连续的Python 交互环境中进行。 进入Python 终端,执行python 命令进入交互式的Python 环境,像这样: # python Python 2.6.6 (r266:84292, Nov 22 2013, 12:16:22) [GCC 4.4.7(Red Hat 4.4.7-4)] on linux2 Type help, copyright, credits or license for more information. 1.1 系统性能信息模块psutil psutil 是一个跨平台库(/p/psutil/ ),能够轻松实现获取系统运行的 第1章 系统基础信息模块详解   3 进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分 析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,如ps 、top 、lsof 、 netstat 、ifconfig 、who 、df 、kill 、free 、nice 、ionice 、iostat 、iotop 、uptime 、pidof 、tty 、 taskset 、pmap 等。目前支持32 位和64 位的Linux 、Windows 、OS X 、FreeBSD 和Sun Solaris 等操作系统,支持从2.4 到3.4 的Python 版本,目前最新版本为2.0.0 。通常我们获取 操作系统信息往往采用编写shell 来实现,如获取当前物理内存总大小及已使用大小,shell 命令如下: 物理内存total 值 : free -m | grepMem | awk {print $2} 物理内存used 值 : free -m | grepMem | awk {print $3} 相比较而言,使用psutil 库实现则更加简单明了。psutil 大小单位一般都采用字节,如下: import psutil mem = psutil.virtual_memory() mem.total,mem.used (506277888L, 500367360L) psutil 的源码安装步骤如下: #wget /packages/source/p/psutil/psutil-2.0.0.tar.gz --no-check-certificate # tar -xzvf psutil-2.0.0.tar.gz # cd psutil-2.0.0 # python setup.py install 1.1.1 获取系统性能信息 采集系统的基本性能信息包括CPU、内存、磁盘、网络等,可以完整描述当前系统的运 行状态及质量。psutil 模块已经封装了这些方法,用户可以根据自身的应用场景,调用相应 的方法来满足需求,非常简单实用。 (1 )CPU 信息 Linux 操作系统的CPU 利用率有以下几个部分: User Time ,执行用户进程的时间百分比; ‰‰ System Time ,执行内核进程和中断的时间百分比; ‰‰ Wait IO ,由于IO 等待而使CPU 处于idle (空
显示全部
相似文档