当前位置: 首页 > backend >正文

[运维]Linux安装、配置并使用atop监控工具

atop是一款用于监控Linux系统资源与进程的工具,能够报告所有进程的活动。它以一定频率记录系统和进程的活动。当ECS实例出现问题时,您可以获取相应的atop日志文件进行分析。本文将介绍如何在Linux实例中安装、使用及自定义atop配置。

atop采集的数据涵盖了CPU、内存、磁盘和网络的资源使用情况以及进程运行状态,并能够以日志文件的形式保存至磁盘。对于每个进程,系统将显示CPU使用率、内存增长、磁盘使用率、优先级、用户名、状态及退出码等信息。您可以通过atop配置文件自定义日志采集的频率、日志文件的存储路径以及轮转策略等参数。

CentOS 7/8

  1. 执行如下命令,安装atop。

    sudo yum install -y atop
  2. 执行如下命令,启动atop服务。

    sudo systemctl start atop

Ubuntu / Debian

  1. 更新软件源中的所有软件列表。

    sudo apt update 
  2. 执行如下命令,安装atop。

    sudo apt install -y atop
  3. 执行如下命令,启动atop服务。

    sudo systemctl start atop

(可选)配置监控周期及日志保留时间

CentOS 7/8

sudo vim /etc/sysconfig/atop

Ubuntu / Debian

  1. sudo vim /etc/default/atop

    1. 执行如下命令,打开atop配置文件。

    2. i进入编辑模式。

    3. 根据自身需求调整监控周期、日志保留时间及日志存储路径配置。示例中将监控周期修改为30秒,日志保留时间设定为10天,而日志路径则维持默认设置。

      LOGOPTS=""
      LOGINTERVAL=30
      LOGGENERATIONS=10
      LOGPATH=/var/log/atop

      重要

      • 设置较小的监控周期可以使监控时间的颗粒度更细,但同时会增加系统的I/O负担,并导致生成的日志文件变大。若您在生产环境中使用atop,请根据自身需求合理设置,避免日志文件过大或日志记录占用过多I/O资源,从而影响实际业务的正常运行。

      • 日志保留时间越长,意味着您能够查看更早时间的历史日志。然而,这也将占用更多的磁盘空间,因此请根据自身需求进行合理设置。

    4. Esc键,输入:wq,保存并退出编辑。

  1. 执行如下命令,重启atop服务。

    sudo systemctl restart atop

查看实时系统指标

  • 每 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 -r相关命令查看指标日志,请勿使用文本编辑器打开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 -m -r 20241105 -b 18:00 -e 18:01

其他操作

配置天级别日志轮转策略

您可以参考以下步骤,为atop配置按天轮转日志策略,从而实现每天生成一个atop指标日志文件。

  1. (条件可选)根据自身需求调整监控周期、日志保留时间及日志存储路径配置,相关操作,请参见(可选)配置监控周期及日志保留时间。

  2. 执行如下命令,将每日日志轮转相关服务设置为开机启动并启动服务。

    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。

  1. 执行如下命令,为当前内核安装内核开发包及编译所需软件环境。

    sudo yum install -y kernel-devel dkms elfutils-libelf-devel
  2. 执行如下命令,下载最新版本netatop源码至指定目录。

    cd /usr/src/ && sudo wget https://www.atoptool.nl/download/netatop-3.2.2.tar.gz --no-check-certificate
  3. 执行如下命令,解压源码并进入源码目录。

    sudo tar -zxvf netatop-3.2.2.tar.gz && cd netatop-3.2.2
  4. 执行如下命令,基于源码构建并安装模块和守护程序。

    sudo make && sudo make install
  5. 执行如下命令,启动netatop服务。

    sudo systemctl start netatop

http://www.xdnf.cn/news/3928.html

相关文章:

  • Spring MVC常见注解详解
  • 力扣1128题解
  • sql错题(1)
  • ssh连接云服务器记录
  • 一种实波束扫描雷达角超分辨方法——论文阅读
  • Delphi创建IIS虚拟目录的方法
  • StampLock的源码详细剖析
  • SSE技术的基本理解以及在项目中的使用
  • 商场防损部绩效考核制度与管理方法
  • 【操作系统】读者-写者问题
  • Git_.gitignore文件简介及使用
  • C与指针——输入输出
  • 什么是constexpr?
  • 解决:前后端跨域请求
  • 【Redis】Java操作Redis之SpringDataRedis
  • 洛谷 P1495:【模板】中国剩余定理(CRT)/ 曹冲养猪
  • 数字化转型-4A架构之业务架构
  • 深度优先搜索(DFS)与广度优先搜索(BFS):图与树遍历的两大利器
  • 74HC123的电路应用场景
  • 一键获取当前项目的所有文件结构并保存到文本文件
  • 【数据结构与算法】常见排序算法详解(C++实现)
  • Java大师成长计划之第12天:性能调优与GC原理
  • word页眉去掉线
  • LLama-v2 权重下载
  • Linux 进程基础(二):操作系统
  • TensorFlow深度学习实战——基于循环神经网络的词性标注模型
  • 接口自动化测试项目框架详解
  • USB Type-C是不是全方位优于其他USB接口?
  • 在有限的内存中计算超限数据的重复值
  • c++ 之 cout