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

在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系统版本呢&#xff…...

Google Play服务端获取订单和核销订单

官方文档地址&#xff1a;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应用中&#xff0c;安全性是一个不可忽视的因素。OAuth 2.0作为一种流行的授权框架&#xff0c;提供…...

02 django管理系统 - base.html模板的搭建

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

ES6语法有哪些

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

每天一个数据分析题(五百零四)- 抽取样本

下列哪种方法&#xff0c;会重复抽取训练数据集中的数据&#xff0c;且每笔被抽中的概率始终保持一样&#xff1f; A. 袋装法&#xff08;Bagging&#xff09; B. 提升法&#xff08;Boosting&#xff09; C. 支持向量机&#xff08;SVM&#xff09; D. 以上皆是 数据分析…...

SAP动态安全库存(Dynamic Safety stock)配置及计算逻辑说明测试

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

什么是TDZ?在JavaScript当中怎么避免?

简介 TDZ 是 Temporal Dead Zone&#xff08;暂时性死区&#xff09;的缩写&#xff0c;是 JavaScript 中 let 和 const 变量的一个概念。在 ES6 中&#xff0c;let 和 const 引入了块级作用域&#xff08;block scope&#xff09;&#xff0c;而它们声明的变量在声明之前的作…...

电阻分压电路:【图文讲解】

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

【AI论文精读14】RAG论文综述2(微软亚研院 2409)P6(完)-隐含推理查询L4

AI知识点总结&#xff1a;【AI知识点】 AI论文精读、项目、思考&#xff1a;【AI修炼之路】 P1&#xff0c;P2&#xff0c;P3&#xff0c;P4&#xff0c;P5 六、隐藏推理查询&#xff08;L4&#xff09; ps&#xff1a;P2有四种查询&#xff08;L1&#xff0c;L2&#xff0c;L3…...

FFmpeg的简单使用【Windows】--- 视频倒叙播放

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

5分钟了解docker的Swarm机制

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

python实现ppt转pdf

要实现将PPT文件转换为PDF文件&#xff0c;可以使用Python中的python-pptx库来读取PPT文件&#xff0c;并使用reportlab库来生成PDF。又或者&#xff0c;你也可以使用其他库如pypdf和pypptx等进行处理。 以下是一个使用unoconv工具以及Python的示例&#xff0c;可以将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.给文件 添加属…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

Vue 模板语句的数据来源

&#x1f9e9; Vue 模板语句的数据来源&#xff1a;全方位解析 Vue 模板&#xff08;<template> 部分&#xff09;中的表达式、指令绑定&#xff08;如 v-bind, v-on&#xff09;和插值&#xff08;{{ }}&#xff09;都在一个特定的作用域内求值。这个作用域由当前 组件…...