python运维实战pdf_python运维实例.pdf[通俗易懂]

2022-09-14 10:57:46 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

python运维实例

第一部分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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157973.html原文链接:https://javaforall.cn

0 人点赞