在Centos中安装、配置与使用atop监控工具

目录

  • 前言
  • [1. atop工具的安装](#1. atop工具的安装)
    • [1.1 atop简介](#1.1 atop简介)
    • [1.2 atop的安装步骤](#1.2 atop的安装步骤)
  • [2. 安装并配置netatop模块](#2. 安装并配置netatop模块)
    • [2.1 安装内核开发包](#2.1 安装内核开发包)
    • [2.2 安装所需依赖](#2.2 安装所需依赖)
    • [2.3 下载netatop](#2.3 下载netatop)
    • [2.4 解压并安装netatop](#2.4 解压并安装netatop)
    • [2.5 启动netatop](#2.5 启动netatop)
  • [3. atop的配置与使用](#3. atop的配置与使用)
    • [3.1 配置监控周期与日志保留时间](#3.1 配置监控周期与日志保留时间)
    • [3.2 设置定时任务生成日志](#3.2 设置定时任务生成日志)
    • [3.3 启动与查看atop服务状态](#3.3 启动与查看atop服务状态)
  • [4. 分析atop日志](#4. 分析atop日志)
    • [4.1 atop日志分析命令](#4.1 atop日志分析命令)
    • [4.2 atop常用快捷键说明](#4.2 atop常用快捷键说明)
  • [5. atop输出的关键指标](#5. atop输出的关键指标)
  • 结语

前言

在日常运维中,系统性能监控是保持服务器稳定运行的关键。特别是在企业环境中,保障服务稳定、高效地运行对业务至关重要。atop作为一款功能强大的Linux系统监控工具,能够详细报告系统资源和各进程的使用情况,从而帮助管理员快速定位并解决问题。本文将介绍如何在Centos中安装、配置并使用atop监控工具,包括网络监控模块netatop的安装及使用,帮助您在Centos中实现系统性能的全面监控。

1. atop工具的安装

1.1 atop简介

atop是一款用于监控Linux系统资源的工具,能够详细报告所有进程的活动,并以日志文件的形式保存这些信息。其监控内容涵盖了CPU、内存、磁盘、网络的使用情况,甚至可以查看进程的详细资源使用情况,如CPU使用率、内存占用、磁盘读写等。atop的优势在于其能够长期记录系统的性能情况,即使系统或进程发生了崩溃,也可以通过atop日志进行问题分析。

1.2 atop的安装步骤

在Linux环境下,atop的安装非常简单,您可以通过如下命令进行安装:

shell 复制代码
sudo yum install atop

安装完成后,atop便可以立即用于监控系统的实时性能。对于监控网络使用情况,atop提供了额外的netatop模块,支持实时查看每个进程的网络流量信息。接下来,我们将详细介绍如何安装和配置netatop模块。

2. 安装并配置netatop模块

2.1 安装内核开发包

在安装netatop之前,首先需要安装内核开发包,这是为了确保系统具备编译所需的环境。执行以下命令安装内核开发包:

shell 复制代码
sudo yum install kernel-devel-$(uname -r)

该命令根据当前正在使用的内核版本,自动匹配对应的开发包进行安装。

2.2 安装所需依赖

netatop还依赖于elfutils-libelf-devel包,您可以通过以下命令安装该依赖:

shell 复制代码
sudo yum install elfutils-libelf-devel

2.3 下载netatop

接下来,下载netatop的安装包,具体操作如下:

shell 复制代码
sudo wget https://www.atoptool.nl/download/netatop-3.1.tar.gz --no-check-certificate

此命令将从官方源下载最新的netatop安装包。

2.4 解压并安装netatop

下载完成后,解压安装包:

shell 复制代码
tar -zxvf netatop-3.1.tar.gz

解压后,切换到解压的目录:

shell 复制代码
cd netatop-3.1

然后,编译并安装netatop:

shell 复制代码
sudo make && sudo make install

2.5 启动netatop

最后,启动netatop服务,确保其开始工作:

shell 复制代码
sudo systemctl start netatop

至此,您已成功安装并启动netatop模块,接下来可以配合atop工具实时监控网络使用情况。

3. atop的配置与使用

3.1 配置监控周期与日志保留时间

默认情况下,atop每600秒采集一次系统信息,日志保留时间为28天。这些配置可能并不适合您的实际需求,因此需要手动修改配置文件。

  • 执行以下命令打开atop配置文件:

    shell 复制代码
    sudo vim /etc/sysconfig/atop
  • 进入文件后,按下i进入编辑模式,并进行如下配置修改:

  • 将监控周期LOGINTERVAL修改为30秒。

  • 将日志保留时间LOGGENERATIONS设置为7天。

  • 确保日志文件的路径为/var/log/atop

最终配置如下:

shell 复制代码
LOGOPTS=""
LOGINTERVAL=30
LOGGENERATIONS=7
LOGPATH=/var/log/atop

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

3.2 设置定时任务生成日志

为保证日志每天生成一次,您可以通过cron任务设置自动重启atop服务。执行以下命令进入crontab配置:

shell 复制代码
crontab -e

在文件末尾添加以下任务:

shell 复制代码
0 0 * * * sudo systemctl restart atop

该配置将每天0点自动重启atop服务,确保日志生成。

3.3 启动与查看atop服务状态

配置完成后,您需要重启atop服务以应用配置:

shell 复制代码
sudo systemctl restart atop

随后,您可以通过以下命令检查服务状态是否正常运行:

shell 复制代码
sudo systemctl status atop

如果服务正常,输出中将显示active (running)状态。

4. 分析atop日志

4.1 atop日志分析命令

atop启动后,会在/var/log/atop目录中生成日志文件。要查看特定时间点的日志,您可以使用如下命令:

shell 复制代码
atop -r /var/log/atop/atop_2024XXXX

其中,2024XXXX代表日志文件的日期。打开日志后,可以通过不同的快捷键筛选和查看感兴趣的系统信息。

4.2 atop常用快捷键说明

  • g:切换回默认的综合输出视图。
  • c:显示进程的完整命令行信息。
  • m:按内存使用率对进程进行排序。
  • d:按磁盘使用率对进程进行排序。
  • n:按网络使用率对进程进行排序。

这些快捷键能帮助您快速过滤出关键信息,例如内存占用过多的进程或网络流量异常的服务,从而进行深入分析。

5. atop输出的关键指标

在atop日志中,有几行关键信息值得关注:

  • PRC行:显示进程运行情况,包括进程数、运行中进程数、睡眠进程数和僵尸进程数。
  • CPU行:展示CPU的整体使用情况,包括用户态、内核态以及空闲时间等。
  • MEM行:显示系统的内存占用情况,如空闲内存、缓存内存和已使用的内存。
  • DSK行:展示磁盘的使用情况,如读写操作的频率和磁盘的忙碌程度。
  • NET行:用于监控网络流量,包含每个网络接口的发送和接收数据量。

这些指标能帮助管理员快速了解系统资源的使用情况,从而定位瓶颈或异常点。

结语

通过本文,您学会了如何在Linux实例中安装、配置并使用atop工具进行系统监控。atop的强大功能使其成为处理系统性能问题的利器,特别是在面对ECS实例异常时,atop生成的日志可以为故障排查提供关键依据。通过合理的配置与使用,您可以充分利用atop和netatop的监控能力,确保系统资源的合理分配和使用。

相关推荐
真真-真真9 分钟前
WebXR
linux·运维·服务器
轩辰~31 分钟前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
雨中rain1 小时前
Linux -- 从抢票逻辑理解线程互斥
linux·运维·c++
Bessssss2 小时前
centos日志管理,xiao整理
linux·运维·centos
s_yellowfish2 小时前
Linux服务器pm2 运行chatgpt-on-wechat,搭建微信群ai机器人
linux·服务器·chatgpt
豆是浪个2 小时前
Linux(Centos 7.6)yum源配置
linux·运维·centos
vvw&2 小时前
如何在 Ubuntu 22.04 上安装 Ansible 教程
linux·运维·服务器·ubuntu·开源·ansible·devops
我一定会有钱2 小时前
【linux】NFS实验
linux·服务器
Ven%2 小时前
如何在防火墙上指定ip访问服务器上任何端口呢
linux·服务器·网络·深度学习·tcp/ip
是阿建吖!2 小时前
【Linux】基础IO(磁盘文件)
linux·服务器·数据库