安装、配置并使用atop监控工具
安装、配置并使用atop监控工具
atop是一款用于监控Linux系统资源与进程的工具,能够报告所有进程的活动。其以一定的频率记录系统和进程活动,采集的数据包含CPU、内存、磁盘、网络的资源使用情况和进程运行情况,并能以日志文件的方式保存在磁盘中。对于每个进程,会显示CPU使用率、内存增长、磁盘使用率、优先级、用户名、状态和退出码等。当ECS实例出现问题后,您可以获取相应的atop日志文件进行分析。本文介绍如何在Linux实例中安装、配置并使用atop监控工具。
安装atop
介绍如何安装atop监控工具。
执行如下命令,安装atop。
sudo yum install atop
(可选)如需监测网络使用率,可安装网络监控模块netatop。
说明
netatop是atop中的网络监控模块,可以监测每个进程或线程发送或接收的TCP和UDP数据包统计信息。atop中默认未安装netatop,本文以安装netatop 3.1为例。更多信息,请参见Module netatop。
执行如下命令,安装内核开发包。
sudo yum install kernel-devel-$(uname -r)
执行如下命令,安装netatop所需的模块。
sudo yum install elfutils-libelf-devel
执行如下命令,下载netatop安装包。
sudo wget https://www.atoptool.nl/download/netatop-3.1.tar.gz --no-check-certificate
执行如下命令,解压netatop安装包。
tar -zxvf netatop-3.1.tar.gz
切换到netatop-3.1目录。
cd netatop-3.1
执行如下命令,编译并安装netatop。
sudo make && sudo make install
执行如下命令,启动netatop。
sudo systemctl start netatop
配置并启动atop
您可以参考以下步骤,配置atop监控周期和日志保留时间,然后启动atop。
配置atop监控周期和日志保留时间。
LOGOPTS:用于控制日志文件记录选项的一个重要参数,允许您自定义日志文件的保存路径、命名规则、滚动周期以及其他与日志记录相关的选项。为空""表示不使用任何额外选项。
说明
如果您想每天生成一个atop日志,请设置LOGOPTS="-w /var/log/atop/atop_$(date +\%Y\%m\%d)"。
LOGINTERVAL:监控周期,建议将默认的监控周期600s修改为30s。
LOGGENERATIONS:日志保留时间,为避免atop长时间运行占用太多磁盘空间,建议将默认的日志保留时间28天修改为7天。
LOGPATH:指定atop日志文件的路径。默认值为/var/log/atop。
LOGOPTS="" LOGINTERVAL=30 LOGGENERATIONS=7 LOGPATH=/var/log/atop
Alibaba Cloud Linux
sudo vim /etc/sysconfig/atop
Ubuntu
sudo vim /etc/default/atop
执行如下命令,打开atop配置文件。
按i进入编辑模式。
修改以下配置。
按Esc键,输入:wq,保存并退出编辑。
执行如下命令,重启atop服务。
sudo systemctl restart atop
分析atop日志
atop启动后,会将采集记录存放在/var/log/atop目录下的日志文件中。执行如下命令,查看日志文件。
说明
2023XXXX指具体的时间。
atop -r /var/log/atop/atop_2023XXXX
atop常用命令
打开日志文件后,您可以使用以下命令筛选数据。
g:切换回默认的综合输出视图。
c:显示进程列完整命令行。
m:按照进程内存使用率进行降序筛选。
d:按照进程磁盘使用率进行降序筛选。
a:按照进程资源综合使用率进行降序筛选。
n:按照进程网络使用率进行降序筛选。
t:跳转到下一个监控采集点。
T:跳转到上一个监控采集点。
b:指定时间点,格式为YYYYMMDDhhmm。
系统资源监控字段含义
下图为部分监控字段以及数值,具体数值根据采样周期有所不同。下图仅供参考,具体数据以您实际数据为准。
主要参数说明如下:
参数 | 说明 |
ATOP行 | 主机名、信息采样日期和时间点。 |
PRC行 | 进程整体运行情况。
|
CPU行 | CPU整体的使用情况,即多核CPU作为一个整体CPU资源的使用情况。CPU行各个字段数字相加结果为N*100%,其中N为CPU的核数。
|
CPL行 | CPU负载情况。
|
MEM行 | 内存的使用情况。
|
SWP行 | 交换空间的使用情况。
|
PAG行 | 虚拟内存分页情况。 swin、swout:分别代表换入和换出内存页数。 |
DSK行 | 磁盘使用情况,每一个磁盘设备对应一列,如果有vdb设备,那么将会增加一行DSK信息。
|
NET行 | 多列NET展示了网络状况,包括传输层TCP和UDP、IP层以及各活动的网口信息。
|