本文以操作系统为 CentOS 8为例。
1. 安装
执行命令:yum install atop -y
页面提示信息为 Complete! 时说明已成功安装。
2. 配置
2.1 监控周期和日志保留时长
执行命令:vim /etc/sysconfig/atop,修改以下配置:
将 LOGINTERVAL=600 修改为 LOGINTERVAL=30,表示将默认的600s监控周期修改为30s。建议修改为30s,您可结合实际情况进行修改。
将 LOGGENERATIONS=28 修改为 LOGGENERATIONS=7,表示将默认的日志保留时间28天修改为7天。为避免 atop 长时间运行占用太多磁盘空间,建议修改为7天,您可结合实际情况进行修改。
修改完成后如下图所示:
2.3 日志切割
atop很神奇的,不会自动按日切割日志,只能搞点骚操作了。
通过在每日0点重启服务来切割日志。
执行命令:vi /etc/crontab,最下面加入一行:0 0 * * * root systemctl try-restart atop,然后执行命令让定时任务生效:service crond restart
2.4 安装网络监控模块netatop(默认不安装)
2.4.1 安装前置模块
执行命令:yum install elfutils-libelf-devel
2.4.2 下载netatop文件
执行命令:curl -LO https://www.atoptool.nl/download/netatop-3.1.tar.gz
2.4.3 解压缩netatop文件
执行命令:tar -zxf netatop-3.1.tar.gz
2.4.4 编译
执行命令:make
2.4.5 安装
执行命令:make install
2.4.6 可能的报错
/lib/modules/XXXXXXXXX/build/: No such file or directory
1
这个问题应该是系统没有安装内核开发包,可以看下/usr/src/kernels/
如果这个目录是空的,就说明没有安装 内核开发包,yum install kernel-devel
如果还是不行,估计内核版本不一致,运行下面命令,提示对应的开发包不存在
yum install kernel-devel-$(uname -r)
这个时候就需要找到对应的内核开发包来安装 kernel-devel-4.18.0-240.el8.x86_64
还可以通过 yum update kernel来升级内核,安装对应版本的开发包 — 内核升级需要重启服务器,慎重
2.4.7 netatop启动
使用systemctl体系来搞的,通用的status,start,stop等
启动,systemctl start netatop
状态,systemctl status netatop
停止,systemctl stop netatop
注意:如果atop先启动,然后再启动netatop,暂时是收集不到网络日志的,建议删了当天日志,然后重启atop重新收集
3. atop启动命令
使用systemctl体系来搞的,通用的status,start,stop等
启动,systemctl start atop
状态,systemctl status atop
停止,systemctl stop atop
重启,systemctl restart atop
4. 分析 atop
atop 启动后,会将采集的数据记录在 /var/log/atop 目录的日志文件中。请获取实际的日志文件名,执行以下命令,atop -r /var/log/atop/atop_2021xxxx
4.1 atop 常用命令
在打开日志文件后,使用以下命令筛选所需数据:
c:按照进程的 CPU 使用率降序筛选。
m:按照进程的内存使用率降序筛选。
d:按照进程的磁盘使用率降序筛选。
a:按照进程资源综合使用率进行降序筛选。
n:按照进程的网络使用率进行降序筛选(使用此命令需安装额外的内核模块,默认不支持)。
t:跳转到下一个监控采集点。
T:跳转到上一个监控采集点。
b:指定时间点,格式为 YYYYMMDDhhmm。
g:按 CPU 使用率排序,默认排序方式
y:查看线程信息
j:查看 container 聚合信息
over,enjoy!
最后,字节基于atop上加了新特性的atop,支持查看虚拟主机的数据,即一个物理机拆分4台,分别查看这4台的数据而不是混在一起。
https://blog.csdn.net/ByteDanceTech/article/details/122007542
原创文章,作者:1402239773,如若转载,请注明出处:https://blog.ytso.com/269460.html