系统性能信息模块、获取系统性能信息、cpu核信息、内存信息、磁盘信息获取网络信息、进程信息、popen 类、基础信息之网络IP信息模块、基本操作--IPy、网段的转换、多网络实践

本文介绍了如何使用Python的psutil模块获取系统性能信息,包括CPU核信息、内存使用、磁盘使用、网络状态等。通过示例展示了如何在Python环境中使用psutil获取并分析系统基础信息,例如进程信息、网络IP、域名解析等,以监控和优化系统服务。
摘要由CSDN通过智能技术生成

整体简介

系统基础信息模块

系统信息的收集、网络IP的信息、网站域名的解析

业务服务监控模块

文件级别的对比、文件目录级别对比、电子邮件发送、探测web服务

定制业务质量模块

excel报表操作、rrdtools图形绘制、动态路由访问轨迹

系统安全模块解析

病毒关键字扫描、系统端口扫描

  • 系统性能信息模块

通过运用python第三方系统基础模块,可以轻松获取服务关键运营指标数据,包括Linux基本性能、块设备、网卡接口、系统信息、网络地址库等信息。采集到这些数据之后,我们就可以全方位了解系统服务的状态,再结合告警机制,可以在第一时间响应,将异常出现在苗头的时候就得以处理。

示例将在一个连续的python交互环境中进行:

定位:

1、系统信息的收集,对于服务质量的把控、服务的监控等来说都是非常重要的组成部分,甚至是核心的基础

支撑部分。

2、我们可以通过大量的核心指标数据,结合对应的检测体系,快速的发现异常现象苗头,进行可控的措施。

内容:

系统性能信息模块

网络IP信息模块

网站域名dns模块

学习环境

Windows :python、PyCharm

Ubuntu: python 虚拟环境

模块的安装方式:

pip install 模块

基础信息之 psutil 模块

作用:

psutil是一个跨平台库,主要获取两部分信息:

进程信息

系统利用率信息 - 包括 cpu、内存、磁盘、网络等

常见命令

进程相关:

ps、top、lsof、kill、nice、pidof、taskset

ps # Linux ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows

的任务管理器。

ps aux

# 显示其他用户启动的进程(a)

# 启动这个进程的用户和它启动的时间(u)

# 查看系统中属于自己的进程(x)

lsof # lsof(list open files)是一个列出当前系统打开文件的工具

kill # Linux kill 命令用于删除执行中的程序或工作。

nice # nice命令用于改变进程的优先级。niceness值为负时,表示高优先级,能提前执行和获得更

多的资源,对应低友善度;反之,则表示低优先级,高友善度。

pidof # pidof是一个命令行实用程序,可让您找到正在运行的程序的进程ID。

taskset # taskset命令用于设置进程(或 线程)的处理器亲和性(Processor Affinity),

# 可以将进程(或 线程)绑定到特定的一个 或 多个CPU上去执行,而不允许将进程(或

线程)调度到其他的CPU上。

网络相关:

netstat、ifconfig            

netstat # Linux netstat 命令用于显示网络状态。

ifconfg # Linux ifconfig命令用于显示或设置网络设备。 ifconfig可设置网络设备的状

态,或是显示目前的设置。      

用户相关:

who

who # Linux who命令用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用

的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等。

##使用权限:所有使

用者都可使用。

磁盘相关:

df

df # Linux df(英文全拼:disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使

用情况统计。

内存相关:

free

free # Linux free命令用于显示内存状态。

# free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及

系统核心使用的缓冲区等。

io相关: # iostat属于sysstat软件包。可以直接安装:apt install sysstat -y 安装iostat

ionice、iostat、iotop

ionice # ionice 获取或设置程序的IO调度与优先级。

iostat # iostat是I/O statistics(输入/输出统计)的缩写 显示所有设备的负载情况

iotop # apt install iotop -y 安装iotop

### iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括

PID、用户、I/O、进程等相关信息。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备

的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。

### 与iostat工具比较,iostat是系统级别的IO监控,而iotop是进程级别IO监控

运行时相关:

uptime

uptime # 查看当前的允许状态 当前运行了几个账户

man uptime #

终端相关:

tty

tty # Linux tty命令用于显示终端机连接标准输入设备的文件名称。

# 在Linux操作系统中,所有外围设备都有其名称与代号,这些名称代号以特殊文件的类型存放

于/dev目录下。

# 你可以执行tty(teletypewriter)指令查询目前使用的终端机的文件名称。

将服务器调整为英文格式输出

使用 locale 查看系统支持的语言

命令实践:

获取网卡的IP地址

Ifconfig

ip address

获取所有网卡的IP地址(只获取网卡名称)

ifconfig | grep flags | cut -d ':' -f1

获取所有IP地址 # 仅限于 ifconfig命令,ip address 不能用

ip address | grep scope | grep -v inet6 | awk '{print $2}' | cut -d ':' -f1

获取所有运行端口的信息

Netstat

netstat -nupl:UDP类型的端口

netstat -ntpl:TCP类型的端口

netstat -tnulp

netstat -tnulp | grep tcp | grep -v tcp6

sudo netstat -tnulp | grep tcp | grep -v tcp6 | awk '{print $4}'

模块安装

进入普通用户的 虚拟环境,并查看已经安装的模块

workon python_auto

pip list

pip install psutil

模块使用 - 在python解释器环境中

# 1 导入包

import psutil

# 2 使用包功能

psutil.virtual_memory()

# ipython 需要提前安装

sudo apt install ipython3 -y

#ipython 需要提前安装

sudo apt install ipython3

ipython3

使用包功能

import psutil

psutil.virtual_memory()

PyCharm的方式

每次使用PyCharm时,要注意远程连接和对应的文件路径是否相匹配。

import psutil
info = psutil.virtual_memory()
print(info)

获取系统性能信息

CPU 信息

Linux操作系统的CPU利用率有以下几个部分࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值