在Centos中安装、配置与使用atop监控工具
目录
- 前言
- 1. atop工具的安装
- 1.1 atop简介
- 1.2 atop的安装步骤
- 2. 安装并配置netatop模块
- 2.1 安装内核开发包
- 2.2 安装所需依赖
- 2.3 下载netatop
- 2.4 解压并安装netatop
- 2.5 启动netatop
- 3. atop的配置与使用
- 3.1 配置监控周期与日志保留时间
- 3.2 设置定时任务生成日志
- 3.3 启动与查看atop服务状态
- 4. 分析atop日志
- 4.1 atop日志分析命令
- 4.2 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的安装非常简单,您可以通过如下命令进行安装:
sudo yum install atop
安装完成后,atop便可以立即用于监控系统的实时性能。对于监控网络使用情况,atop提供了额外的netatop模块,支持实时查看每个进程的网络流量信息。接下来,我们将详细介绍如何安装和配置netatop模块。
2. 安装并配置netatop模块
2.1 安装内核开发包
在安装netatop之前,首先需要安装内核开发包,这是为了确保系统具备编译所需的环境。执行以下命令安装内核开发包:
sudo yum install kernel-devel-$(uname -r)
该命令根据当前正在使用的内核版本,自动匹配对应的开发包进行安装。
2.2 安装所需依赖
netatop还依赖于elfutils-libelf-devel
包,您可以通过以下命令安装该依赖:
sudo yum install elfutils-libelf-devel
2.3 下载netatop
接下来,下载netatop的安装包,具体操作如下:
sudo wget https://www.atoptool.nl/download/netatop-3.1.tar.gz --no-check-certificate
此命令将从官方源下载最新的netatop安装包。
2.4 解压并安装netatop
下载完成后,解压安装包:
tar -zxvf netatop-3.1.tar.gz
解压后,切换到解压的目录:
cd netatop-3.1
然后,编译并安装netatop:
sudo make && sudo make install
2.5 启动netatop
最后,启动netatop服务,确保其开始工作:
sudo systemctl start netatop
至此,您已成功安装并启动netatop模块,接下来可以配合atop工具实时监控网络使用情况。
3. atop的配置与使用
3.1 配置监控周期与日志保留时间
默认情况下,atop每600秒采集一次系统信息,日志保留时间为28天。这些配置可能并不适合您的实际需求,因此需要手动修改配置文件。
-
执行以下命令打开atop配置文件:
sudo vim /etc/sysconfig/atop
-
进入文件后,按下
i
进入编辑模式,并进行如下配置修改: -
将监控周期
LOGINTERVAL
修改为30秒。 -
将日志保留时间
LOGGENERATIONS
设置为7天。 -
确保日志文件的路径为
/var/log/atop
。
最终配置如下:
LOGOPTS=""
LOGINTERVAL=30
LOGGENERATIONS=7
LOGPATH=/var/log/atop
按Esc
键,输入:wq
保存并退出编辑。
3.2 设置定时任务生成日志
为保证日志每天生成一次,您可以通过cron任务设置自动重启atop服务。执行以下命令进入crontab配置:
crontab -e
在文件末尾添加以下任务:
0 0 * * * sudo systemctl restart atop
该配置将每天0点自动重启atop服务,确保日志生成。
3.3 启动与查看atop服务状态
配置完成后,您需要重启atop服务以应用配置:
sudo systemctl restart atop
随后,您可以通过以下命令检查服务状态是否正常运行:
sudo systemctl status atop
如果服务正常,输出中将显示active (running)
状态。
4. 分析atop日志
4.1 atop日志分析命令
atop启动后,会在/var/log/atop
目录中生成日志文件。要查看特定时间点的日志,您可以使用如下命令:
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的监控能力,确保系统资源的合理分配和使用。
相关文章:

在Centos中安装、配置与使用atop监控工具
目录 前言1. atop工具的安装1.1 atop简介1.2 atop的安装步骤 2. 安装并配置netatop模块2.1 安装内核开发包2.2 安装所需依赖2.3 下载netatop2.4 解压并安装netatop2.5 启动netatop 3. atop的配置与使用3.1 配置监控周期与日志保留时间3.2 设置定时任务生成日志3.3 启动与查看at…...

前端框架对比与选择:详尽分析
1. 引言 随着互联网技术的飞速发展,前端开发技术也得到了迅猛提升。无论是大型企业还是中小型开发团队,使用前端框架来简化开发过程、提升开发效率已成为一种普遍现象。如今,市场上有众多的前端框架可供选择,如React、Vue.js、Angular等,如何在这些框架中进行选择成为了开…...

FLINK SQL时区问题
SQL时区问题 在Flink SQL中,时区问题是一个需要特别关注的点,因为时区的不一致可能会导致数据的不一致性。以下是对Flink SQL时区问题的详细解释和解决方案: 一、时区问题背景 时间类型与时区: 在Flink SQL中,时间类…...

LibreOffice SDK是LibreOffice软件的开发工具包
LibreOffice SDK是LibreOffice软件的开发工具包,它提供了一系列工具和库,使得开发者可以基于LibreOffice进行扩展或开发新的应用程序。以下是对LibreOffice SDK的详细介绍: 一、下载与安装 下载地址: 可以在LibreOffice的官方网站…...

第十五届蓝桥杯C/C++学B组(解)
1.握手问题 解题思路一 数学方法 50个人互相握手 (491)*49/2 ,减去7个人没有互相握手(61)*6/2 答案:1024 解题思路二 package 十五届;public class Min {public static void main(String[] args) {i…...

在docker的容器内如何查看Ubuntu系统版本
文章目录 写在前面一、问题描述二、解决方法参考链接 写在前面 自己的测试环境: docker 一、问题描述 由于 lsb_release -a 只能查看自己电脑(宿主机)的系统版本,如果在docker的容器内又应该如何查看Ubuntu系统版本呢ÿ…...

Google Play服务端获取订单和核销订单
官方文档地址:https://developers.google.cn/android-publisher/api-ref/rest/v3/purchases.products?hlzh-cn java依赖 <!-- google play --><dependency><groupId>com.google.apis</groupId><artifactId>google-api-services-and…...

Spring Security 与 OAuth 2.0 登录实现指南
文章目录 一、项目概述二、环境准备三、创建GitHub OAuth应用四、项目依赖配置五、配置OAuth 2.0六、创建控制器七、创建视图八、运行应用九、用户界面展示十、总结 在现代的Web应用中,安全性是一个不可忽视的因素。OAuth 2.0作为一种流行的授权框架,提供…...

02 django管理系统 - base.html模板的搭建
下面,我们正式开始XX市第X医院员工信息管理系统的开发 首先,我们项目的目录结构如下: 然后,先把模板【base.html】界面的框架搭起来 {% load static %}<!DOCTYPE html> <html lang"en"><head><m…...

ES6语法有哪些
ES6语法包括let和const声明、箭头函数、模板字符串、解构赋值、扩展运算符、类和模块化等。以下是这些特性的具体介绍: let和const声明 let声明:let允许程序员在块级作用域内声明变量,这意味着变量只在其定义的代码块(由大括号包围…...

每天一个数据分析题(五百零四)- 抽取样本
下列哪种方法,会重复抽取训练数据集中的数据,且每笔被抽中的概率始终保持一样? A. 袋装法(Bagging) B. 提升法(Boosting) C. 支持向量机(SVM) D. 以上皆是 数据分析…...

SAP动态安全库存(Dynamic Safety stock)配置及计算逻辑说明测试
SAP动态安全库存(Dynamic Safety stock)配置及计算逻辑说明测试 概念及计算逻辑: 动态安全库存(Dynamic Safety stock): 它根据平均的日需求(Average daily requirements)数量&am…...

什么是TDZ?在JavaScript当中怎么避免?
简介 TDZ 是 Temporal Dead Zone(暂时性死区)的缩写,是 JavaScript 中 let 和 const 变量的一个概念。在 ES6 中,let 和 const 引入了块级作用域(block scope),而它们声明的变量在声明之前的作…...

电阻分压电路:【图文讲解】
在电子电路中,电阻同样发挥着重要作用,同时也是一个最基本的元器件,电阻在电路中可以起到限流、分流、分压、发热的作用。 本节,我们重点来聊聊电阻的分压电路。如下图,是一个经典的电阻分压电路。 1:电路…...

【AI论文精读14】RAG论文综述2(微软亚研院 2409)P6(完)-隐含推理查询L4
AI知识点总结:【AI知识点】 AI论文精读、项目、思考:【AI修炼之路】 P1,P2,P3,P4,P5 六、隐藏推理查询(L4) ps:P2有四种查询(L1,L2,L3…...

FFmpeg的简单使用【Windows】--- 视频倒叙播放
实现功能 点击【选择文件】按钮可以选择视频,当点击【开始处理】按钮之后,会先将视频上传到服务器,然后开始进行视频倒叙播放的处理,当视频处理完毕之后会将输出的文件路径返回,同时在页面中将处理好的视频展示出来。…...

5分钟了解docker的Swarm机制
Swarm框架概述 1.1 Swarm的基本概念 在容器化技术的浪潮中,Docker无疑是最为耀眼的明星之一。而作为Docker生态系统中的重要组成部分,Swarm框架则扮演着至关重要的角色。Swarm,顾名思义,就是“群”的意思,它是一个开…...

python实现ppt转pdf
要实现将PPT文件转换为PDF文件,可以使用Python中的python-pptx库来读取PPT文件,并使用reportlab库来生成PDF。又或者,你也可以使用其他库如pypdf和pypptx等进行处理。 以下是一个使用unoconv工具以及Python的示例,可以将PPT转换为…...

VS2017 编译 SQLite3 动态库
首先官方下载源码: Tags sqlite/sqlite (github.com) 1.安装 VS2017 community edition 2.打开VS2017命令行工具 3.安装TCL 开发库,推荐 TCL 9.0 先下载源码: Tcl/Tk 9.0 使用vs2017编译tcl&...

Linux运维_Apache更改默认网站目录
1.首先创建目录 并且在目录下新建测试文件 index.html mkdir -p /home/test/ap_web 直接wget 百度官网 wget www.baidu.com 2.编辑配置文件 /etc/apache2/sites-available/000-default.conf(找到 DocumentRoot)更改为刚刚创建的目录 接着在添加 最终文件: 3.给文件 添加属…...

QT QString学习笔记
1.操作字符串 1.提供双元运算符 “” QString str1"cccc"; str1 str1 "ddddd"; qDebug()<<str1; qDebug()<<qPrintable(str1); 2.提供操作符 append() QString str1 "Good"; QString str2 "bye"; str1.append(str2); …...

4.stm32 GPIO输入
按键简介 按键:常见的输入设备,按下导通,松手断开 按键抖动:由于按键内部使用的是机械式弹簧片来进行通断的,所以在按下和松手的瞬间会伴随有一连串的抖动 传感器模块简介 传感器模块:传感器元件&#…...

GPT系列
GPT(Generative Pre-Training): 训练过程分两步:无监督预训练有监督微调 模型结构是decoder-only的12层transformer 1、预训练过程,窗口为k,根据前k-1个token预测第k个token,训练样本包括700…...

Chromium 前端window对象c++实现定义
前端中window.document window.alert()等一些列方法和对象在c对应定义如下: 1、window对象接口定义文件window.idl third_party\blink\renderer\core\frame\window.idl // https://html.spec.whatwg.org/C/#the-window-object// FIXME: explain all uses of [Cros…...

【力扣算法题】每天一道,健康生活
2024年10月8日 参考github网站:代码随想录 1.二分查找 leetcode 视频 class Solution { public:int search(vector<int>& nums, int target) {int left 0;int right nums.size()-1;while(left<right){int middle (leftright)/2;if(nums[middle] …...

Android Camera系列(四):TextureView+OpenGL ES+Camera
别人贪婪时我恐惧,别人恐惧时我贪婪 Android Camera系列(一):SurfaceViewCamera Android Camera系列(二):TextureViewCamera Android Camera系列(三):GLSur…...

03 django管理系统 - 部门管理 - 部门列表
部门管理 首先我们需要在models里定义Dept类 # 创建部门表 class Dept(models.Model):name models.CharField(max_length100)head models.CharField(max_length100)phone models.CharField(max_length15)email models.EmailField()address models.CharField(max_length2…...

L1 Sklearn 衍生概念辨析 - 回归/分类/聚类/降维
背景 前文中我们提到: Scikit-Learn 库的算法主要有四类:分类、回归、聚类、降维: 回归:线性回归、决策树回归、SVM回归、KNN 回归;集成回归:随机森林、Adaboost、GradientBoosting、Bagging、ExtraTrees。…...

【畅捷通-注册安全分析报告】
前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…...

TCP IP网络编程
文章目录 TCP IP网络编程一、基础知识(TCP)1)Linux1. socket()2.bind()2.1前提2.2字节序与网络字节序2.3 字节序转换2.4 字符串信息转化成网络字节序的整数型2.5 INADDR_ANY 3.listen()4.accept()5.connect()6.案例小结6.1服务器端6.2 客户端…...