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

python运维实战pdf_python运维实例.pdf[通俗易懂]python运维实例第一部分Part1基础篇■第1章系统基础信息模块详解■第2章业务服务监控详解■第3章定制业务质量报表详解■第4章Python与系统安全Chapter1第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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Ubuntu安装GCC8.2.0[通俗易懂]

    Ubuntu安装GCC8.2.0[通俗易懂]自动安装sudoapt-getinstallbuild-essential手动安装0x01下载   在官网下载最新的gcc-8.2.0版本,地址http://http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-8.2.0/0x02解压拷贝到ubuntu下目录,使用tar-x-fgcc-8…

  • Java 高并发解决方案(电商的秒杀和抢购)

    Java 高并发解决方案(电商的秒杀和抢购)电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因? 一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整…

  • JS数组定义及详解

    JS数组定义及详解JS数组定义及详解一、总结一句话总结:在js中,文本下标的数组元素,不计入数组长度,以文本下标形式添加到数组,实际是以属性形式添加到数组对象中的。二、JS数组定义及详解1、什么是数组数组就是

  • python表白代码大全简单-程序员python表白代码「建议收藏」

    python表白代码大全简单-程序员python表白代码「建议收藏」python表白代码源代码如下:#-*-coding:utf-8-*-importturtleimporttime#画爱心的顶部defLittleHeart():foriinrange(200):turtle.right(1)turtle.forward(2)#输入表白的语句,默认ILoveyoulove=input(‘请输入表白语句,默认为输入为"ILo…

  • 级联下拉菜单的实现「建议收藏」

    级联下拉菜单的实现「建议收藏」级联下拉菜单的实现

  • 计算机网络常用端口号大全「建议收藏」

    计算机网络常用端口号大全「建议收藏」一、概述:计算机端口号总数:65535,一般用到的是1~65535,0一般不使用0-1023:系统端口,也叫公认端口,这些端口只有系统特许的进程才能使用; 1024~65535为用户端口:1024-5000:临时端口,一般的应用程序使用1024到4999来进行通讯; 5001-65535:服务器(非特权)端口,用来给用户自定义端口。二、常用端口号:以下均为默认端口号,即未…

    2022年10月21日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号