23_python笔记-psutil、mail模块

本文详细介绍使用psutil模块监控Linux系统性能指标,包括CPU、内存、磁盘、网络及进程管理,并通过Python发送邮件实现报警与报表功能。


博客cPen_web

知识点1 psutil介绍

#应用于系统监控
psutil介绍
	·process and system utilities				# 注:utilities工具  进程和系统工具
	·能够轻松的实现获取系统运行的进程和系统利用率(CPU、内存、磁盘、网络等)信息,主要应用于系统监控。
	·实现了同等命令命令行实现的功能:ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等
	·跨平台:linux、windows、OS X、FreeBSD和Sun Solaris等
	·主要功能包含:CPU、磁盘、内存、网络、进程
# 注:ps		看进程
# 注:top	监控系统性能 (类似 任务管理器)
# 注:lsof	监控内存打开的文件数 list open file
# 注:netstat	网络连接状态
# 注:ifconfig	网卡信息
# 注:who	谁连接上来
# 注:df		看磁盘 (挂载/使用率)
# 注:磁盘文件 /dev
# 注:kill	进程 杀死或重新加载
# 注:free	看内存的
# 注:nice	看优先级
# 注:iostat	查看磁盘读写情况
# 注:iostat -x 1 查看其他
# 注:uptime		top的第1行输出
# 注:pidof	看进程pid号
# 注:taskset	看当前任务	对当前任务进行一些设置
# 注:pmap	看进程的内存

# 注:CPU的使用率超过50% 考虑扩容

示例1:top 监控系统性能 (类似 任务管理器)

[root@cPen_A ~]# top
#-------------------------------------------------------------------------------------------
top - 09:49:55 up  7:57,  8 users,  load average: 0.01, 0.02, 0.05	
# 平均负载	1分钟内的平均使用率	5分钟内	15分钟内
#-------------------------------------------------------------------------------------------
Tasks: 127 total,   1 running, 126 sleeping,   0 stopped,   0 zombie
# 注:任务	zombie僵尸进程状态
#-------------------------------------------------------------------------------------------
%Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
# 注:看当前cpu当前状态	us用户空间	sy系统空间
# 注:id空闲状态(1s内99.8%属于空闲状态)、ni使用率(越高表示系统相当繁忙)
# 注:ni高时 考虑扩容 或者代码问题陷入循环
# 注:按1显示每1个CPU的使用率 (说的是它的逻辑CPU)
#-------------------------------------------------------------------------------------------
KiB Mem :  3861308 total,  3283352 free,   223188 used,   354768 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  3398432 avail Mem 
# 注:Mem 内存
# 注:它的内存 swap 交换分区 在磁盘上面开辟1片空间出来供内存使用
# 注:buff/cache 缓存
#-------------------------------------------------------------------------------------------
   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                               
  5258 root      20   0       0      0      0 S   0.3  0.0   0:00.12 kworker/1:0                                                           
     1 root      20   0  125524   4040   2600 S   0.0  0.1   0:02.30 systemd          
# 注:按占用多少CPU去排
#-------------------------------------------------------------------------------------------
# 注:物理CPU是实实在在镶嵌在主板上的
# 注:逻辑CPU 真正做事情的 (类似1个CPU上面有2个核/1个CPU上面有2组芯片)
#-------------------------------------------------------------------------------------------

示例2:运维做什么?保证服务7*24小时正常运行

1、监控到位
2、根据监控做处理/扩容
3、自动化 脚本

示例3:fdisk -l 查看磁盘分区

[root@cPen_A dev]# fdisk -l						# 注:查看磁盘分区
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes

[root@cPen_A ~]# cd /dev
[root@cPen_A dev]# ls sda
sda   sda1  sda2  
[root@cPen_A dev]# ls -al sda
brw-rw---- 1 root disk 8, 0 1124 19:32 sda		# 注:块设备文件
# 注:不能直接写入,需要把它挂到某个目录下,去目录的操作就是对磁盘分区的操作
[root@cPen_A dev]# df 
文件系统                   1K-块    已用     可用 已用% 挂载点
/dev/sda1                1038336  153512   884824   15% /boot	# 注:sda1盘 挂到/boot目录下
# 注:磁盘满了怎么解决?答:盘可以加 就扩容盘 ,盘不可以加 就扩容机器

示例4:iostat查看磁盘读写情况

#iostat -x 1	展示它的其他信息		重点关注util (读写状态)
[root@cPen_C yum.repos.d]# yum install sysstat
[root@cPen_A ~]# iostat -x 1		# 注:-x 展示他的其他信息 ,1 1s钟
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
scd0          
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mycpen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值