atop是一款用于监控Linux系统资源与进程的工具,能够报告所有进程的活动。它以一定频率记录系统和进程的活动。当ECS实例出现问题时,您可以获取相应的atop日志文件进行分析。本文将介绍如何在Linux实例中安装、使用及自定义atop配置。
atop工具介绍
atop采集的数据涵盖了CPU、内存、磁盘和网络的资源使用情况以及进程运行状态,并能够以日志文件的形式保存至磁盘。对于每个进程,系统将显示CPU使用率、内存增长、磁盘使用率、优先级、用户名、状态及退出码等信息。您可以通过atop配置文件自定义日志采集的频率、日志文件的存储路径以及轮转策略等参数。
安装atop工具
Alibaba Cloud Linux 3/2
本步骤以Alibaba Cloud Linux操作系统的ECS实例为例,为您介绍如何安装atop监控工具。
远程连接ECS实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
执行如下命令,安装atop。
sudo yum install -y atop
执行如下命令,启动atop服务。
sudo systemctl start atop
CentOS 7/8
本步骤以CentOS操作系统的ECS实例为例,为您介绍如何安装atop监控工具。
远程连接ECS实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
执行如下命令,安装atop。
sudo yum install -y atop
执行如下命令,启动atop服务。
sudo systemctl start atop
Fedora
本步骤以Fedora操作系统的ECS实例为例,为您介绍如何安装atop监控工具。
远程连接ECS实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
执行如下命令,安装atop。
sudo yum install -y atop
执行如下命令,启动atop服务。
sudo systemctl start atop
Ubuntu / Debian
本步骤以Ubuntu/Debian操作系统的ECS实例为例,为您介绍如何安装atop监控工具。
远程连接ECS实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
更新软件源中的所有软件列表。
sudo apt update
执行如下命令,安装atop。
sudo apt install -y atop
执行如下命令,启动atop服务。
sudo systemctl start atop
openSUSE
本步骤以openSUSE操作系统的ECS实例为例,为您介绍如何安装atop监控工具。
远程连接ECS实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
执行如下命令,安装atop。
sudo zypper install -y atop atop-daemon
执行如下命令,启动atop服务。
sudo systemctl start atop
使用atop工具
使用atop工具进行Linux系统指标监控时,您需要关注常用命令及资源监控字段的含义。有关详细内容,可点击下方进行了解。
当您在命令行界面运行atop命令时,默认会进入交互命令模式,在交互命令模式下,您可以通过在键盘输入支持的命令进行数据筛选,例如,按m
键切换为内存信息视图。按q
退出交互命令模式。有关支持的命令列表,请参见常用命令介绍。您也可以在交互命令模式下按?
获取更多信息。
查看实时系统指标
每 5 秒查看一次系统指标。
atop 5
查看当前时间之后5分钟内(共30次,间隔10秒)的系统指标。
atop -M 10 30
查看当前时间之后10分钟(10 次,间隔 60 秒)的系统指标,并将结果写入文件。
atop -M 60 10 > /log/atop.mem
查看历史指标日志
atop启动后,会默认将采集记录存放在/var/log/atop
目录下的日志文件中。您可以通过执行如下命令,查看相关历史指标日志。
使用atop查看历史指标日志时,请确保您所指定日期的历史指标日志已存在于atop日志文件路径中,若文件不存在会出现stat raw file: No such file or directory
报错。
查看当天历史指标日志。
atop -r
查看昨天历史指标日志。
atop -r y
查看指定日期内的历史指标日志。示例中,指定日期为2024年11月06日。
atop -r 20241106
查看指定日期内自指定时间起的历史指标日志。示例中,指定日期为2024年11月06日,开始时间为14:00。
atop -r 20241106 -b 14:00
查看指定日期内,指定时间段的历史指标日志。示例中,指定的日期为2024年11月5日,时间段为00:04至00:08。
atop -r 20241105 -b 00:04 -e 00:08
查看系统活动报告
查看当前系统在 1 分钟内(12 次,间隔 5 秒)的CPU利用率报告。
atopsar -c 5 12
查看当天指定时间段的内存指标报告。示例中,时间段为18:00至18:01。
atopsar -m -b 18:00 -e 18:01
查看指定日期内,指定时间段的内存指标报告。示例中,指定的日期为2024年11月5日,时间段为18:00至18:01。
atopsar -c -r 20241105 -b 18:00 -e 18:01
配置atop工具
自定义atop监控周期及日志保留时间
您可以参考以下步骤,以完成自定义 atop 监控周期、日志保留时间及日志存储路径的设置。有关配置文件的更多信息,可点击下方进行了解。
配置atop监控周期和日志保留时间。
执行如下命令,打开
atop
配置文件。Alibaba Cloud Linux 3/2 、CentOS 7/8、Fedora
sudo vim /etc/sysconfig/atop
Ubuntu、Debian、openSUSE
sudo vim /etc/default/atop
按
i
进入编辑模式。根据自身需求调整监控周期、日志保留时间及日志存储路径配置。示例中将监控周期修改为30秒,日志保留时间设定为10天,而日志路径则维持默认设置。
LOGOPTS="" LOGINTERVAL=30 LOGGENERATIONS=7 LOGPATH=/var/log/atop
重要设置较小的监控周期可以使监控时间的颗粒度更细,但同时会增加系统的I/O负担,并导致生成的日志文件变大。若您在生产环境中使用atop,请根据自身需求合理设置,避免日志文件过大或日志记录占用过多I/O资源,从而影响实际业务的正常运行。
日志保留时间越长,意味着您能够查看更早时间的历史日志。然而,这也将占用更多的磁盘空间,因此请根据自身需求进行合理设置。
按
Esc
键,输入:wq
,保存并退出编辑。
执行如下命令,重启atop服务。
sudo systemctl restart atop
其他操作
配置天级别日志轮转策略
您可以参考以下步骤,为atop配置按天轮转日志策略,从而实现每天生成一个atop指标日志文件。
(条件可选)根据自身需求调整监控周期、日志保留时间及日志存储路径配置,相关操作,请参见自定义atop监控周期及日志保留时间。
执行如下命令,将每日日志轮转相关服务设置为开机启动并启动服务。
sudo systemctl enable --now atop atopacct atop-rotate.timer
以上示例设置为每天生成一个日志文件,如果您的业务需要对日志进行更加复杂的处理,您可以结合logrotate
或自定义脚本等方式实现日志管理。
加载可选的netatop内核模块
如需监测网络使用率,可安装网络监控模块netatop。本示例以Alibaba Cloud Linux 3
系统为例,为您展示如何为atop
加载可选的netatop
内核模块。
netatop
能够监测每个进程或线程发送和接收的TCP及UDP数据包统计信息。在atop
,netatop
并未默认安装。如果您需要在其他Linux发行版加载可选的netatop内核模块,请参考atop官方手册进行安装。更多内容,请参见Module netatop。
执行如下命令,为当前内核安装内核开发包及编译所需软件环境。
sudo yum install -y kernel-devel dkms elfutils-libelf-devel
执行如下命令,下载最新版本netatop源码至指定目录。
cd /usr/src/ && sudo wget https://www.atoptool.nl/download/netatop-3.2.2.tar.gz --no-check-certificate
执行如下命令,解压源码并进入源码目录。
sudo tar -zxvf netatop-3.2.2.tar.gz && cd netatop-3.2.2
执行如下命令,基于源码构建并安装模块和守护程序。
sudo make && sudo make install
执行如下命令,启动netatop。
sudo systemctl start netatop