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

CentOS 系统监控项

在维护和优化 CentOS 系统时,实时监控硬件和资源的使用情况非常重要。为了满足工作需要,可以定时采集 CentOS 系统相关的监控数据,并将其推送到 Prometheus 进行集中监控和管理。以下是日常采集项及对应的 shell 命令,并附上每项命令的输出解释。

1. CPU 使用情况

监控 CPU 使用情况可以帮助我们了解系统的负载和性能瓶颈。

  • 采集命令:
    top -b -n1 | grep "Cpu(s)"
    
    输出:
    %Cpu(s):  1.6 us,  1.6 sy,  0.0 ni, 96.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    
    解释:
    • us: 用户空间占用 CPU 百分比(1.6%)
    • sy: 内核空间占用 CPU 百分比(1.6%)
    • ni: 改变过优先级的进程占用 CPU 百分比(0.0%)
    • id: 空闲时间占用 CPU 百分比(96.8%)
    • wa: 等待 I/O 操作占用 CPU 百分比(0.0%)
    • hi: 硬中断占用 CPU 百分比(0.0%)
    • si: 软中断占用 CPU 百分比(0.0%)
    • st: 被虚拟化系统“偷走”的时间占用 CPU 百分比(0.0%)
2. 内存使用情况

监控内存使用情况可以避免系统因为内存不足而崩溃。

  • 采集命令:
    free -m
    
    输出:
                 total        used        free      shared  buff/cache   available
    Mem:          15866        2833        4773         844        8259       11857
    Swap:          2047           0        2047
    
    解释:
    • total: 总内存(15866 MB)
    • used: 已使用内存(2833 MB)
    • free: 可用内存(4773 MB)
    • shared: 共享内存(844 MB)
    • buff/cache: 缓存内存(8259 MB)
    • available: 可用内存(11857 MB)
    • Swap: 交换分区信息(总量 2047 MB,已使用 0 MB,可用 2047 MB)
3. 磁盘使用情况

监控磁盘使用情况可以预防磁盘空间耗尽的问题。

  • 采集命令:
    df -h
    
    输出:
    文件系统                 容量  已用  可用 已用% 挂载点
    devtmpfs                 7.8G     0  7.8G    0% /dev
    tmpfs                    7.8G   28K  7.8G    1% /dev/shm
    tmpfs                    7.8G  747M  7.1G   10% /run
    tmpfs                    7.8G     0  7.8G    0% /sys/fs/cgroup
    /dev/mapper/centos-root  197G   32G  166G   17% /
    /dev/sda1               1014M  239M  776M   24% /boot
    tmpfs                    1.6G     0  1.6G    0% /run/user/0
    
    解释:
    • 容量: 总磁盘空间
    • 已用: 已使用磁盘空间
    • 可用: 可用磁盘空间
    • 已用%: 已使用百分比
    • 挂载点: 磁盘分区挂载点
4. 磁盘 I/O

监控磁盘 I/O 性能,可以了解系统的读写速度和 I/O 瓶颈。

  • 采集命令:
    yum -y install sysstat
    sudo systemctl enable sysstat
    sudo systemctl start sysstat
    iostat
    
    输出:
    Linux 3.10.0-1160.118.1.el7.x86_64 (ops-gy-x86)         2024年07月10日  _x86_64_        (4 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle0.55    0.00    0.51    0.00    0.00   98.94Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    scd0              0.00         0.00         0.00       1028          0
    sda               1.64         2.03        84.57    3713310  154970876
    dm-0              1.74         2.01        84.55    3690529  154923178
    dm-1              0.00         0.00         0.00       3236          0
    
    解释:
    • tps: 每秒传输次数(包括读写)
    • kB_read/s: 每秒读取的千字节数
    • kB_wrtn/s: 每秒写入的千字节数
    • kB_read: 总读取的千字节数
    • kB_wrtn: 总写入的千字节数
5. 网络使用情况

监控网络使用情况,可以确保网络连接的稳定性和流量的健康状况。

  • 采集命令:
    netstat -i
    
    输出:
    Kernel Interface table
    Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
    br-5ed7a40877ed  1500        0      0      0 0             0      0      0      0 BMU
    br-7c60a2b8b408  1500        0      0      0 0             0      0      0      0 BMU
    docker0          1500        0      0      0 0             0      0      0      0 BMU
    ens33            1500 76085290      0      0 0      73441235      0      0      0 BMRU
    lo              65536 240163662      0      0 0      240163662      0      0      0 LRU
    
    解释:
    • Iface: 网络接口
    • MTU: 最大传输单元
    • RX-OK: 接收的正确数据包数
    • RX-ERR: 接收错误的数据包数
    • RX-DRP: 接收丢弃的数据包数
    • RX-OVR: 接收溢出数据包数
    • TX-OK: 发送的正确数据包数
    • TX-ERR: 发送错误的数据包数
    • TX-DRP: 发送丢弃的数据包数
    • TX-OVR: 发送溢出数据包数
    • Flg: 接口标志
6. 系统负载

监控系统的整体负载情况,了解系统的压力和性能瓶颈。

  • 采集命令:
    uptime
    
    top -b -n1 | grep "load average"
    
7. 系统日志

监控系统日志,可以帮助我们发现潜在的问题和错误。

  • 采集命令:
    tail -f /var/log/messages
    
    tail -f /var/log/syslog
    
8. 进程监控

监控系统中的进程,了解哪些进程占用了大量资源。

  • 采集命令:
    按照内存占用排序:
    ps aux --sort=-%mem | head
    
    按照 CPU 占用

排序:

ps aux --sort=-%cpu | head
9. 系统版本

了解系统版本可以帮助我们确定系统的具体配置和兼容性。

  • 采集命令:
    cat /etc/centos-release
    
    uname -a
    
10. CPU 信息

采集 CPU 信息有助于了解系统的计算能力和性能指标。

  • 采集命令:
    cat /proc/cpuinfo
    
11. 内存信息

采集内存信息可以帮助我们了解系统的内存配置和可用情况。

  • 采集命令:
    cat /proc/meminfo
    
12. 磁盘信息

了解磁盘信息有助于我们掌握系统的存储容量和分区情况。

  • 采集命令:
    df -h
    
13. 文件系统信息

采集文件系统信息可以帮助我们了解系统的文件系统类型和挂载点。

  • 采集命令:
    mount | column -t
    
14. 网络接口信息

采集网络接口信息有助于了解系统的网络配置和状态。

  • 采集命令:
    ifconfig -a
    
15. 系统启动时间

了解系统的启动时间可以帮助我们评估系统的运行时间和稳定性。

  • 采集命令:
    uptime
    
    who -b
    
16. 已安装软件包列表

采集已安装的软件包列表有助于了解系统的应用环境和依赖关系。

  • 采集命令:
    rpm -qa
    

结论

通过上述命令,您可以全面地监控 CentOS 系统的硬件和资源使用情况。这些命令不仅有助于系统的维护和优化,还可以为系统的扩展和升级提供重要参考。结合 Prometheus+Grafana,可以实现集中化界面监控和管理,及时发现并解决潜在的问题,提高系统的稳定性和性能。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • pnpm workspace使用教程【Monorepo项目】
  • linux之内存泄漏分析
  • 从零开始学习嵌入式----C语言框架梳理与后期规划
  • 哈斯机床采集数据
  • E. Beautiful Array(cf954div3)
  • 有必要找第三方软件测评公司吗?如何选择靠谱软件测评机构?
  • linux自动化内存监控与告警
  • python图形用户界面和游戏开发_day010
  • Docker 容器网络及其配置说明
  • Foxit Reader:高效、安全、多功能的PDF阅读器技术解析
  • 软件开发(续).NET框架
  • MySQL MVCC
  • HybridCLR原理中的重点总结
  • WordPress的性能优化有哪些方法?
  • VIM三种模式的操作
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • AngularJS指令开发(1)——参数详解
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • express.js的介绍及使用
  • Java|序列化异常StreamCorruptedException的解决方法
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • JavaScript设计模式系列一:工厂模式
  • Linux后台研发超实用命令总结
  • magento2项目上线注意事项
  • Median of Two Sorted Arrays
  • mysql 数据库四种事务隔离级别
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • spring boot下thymeleaf全局静态变量配置
  • 双管齐下,VMware的容器新战略
  • 硬币翻转问题,区间操作
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • NLPIR智能语义技术让大数据挖掘更简单
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • # 服务治理中间件详解:Spring Cloud与Dubbo
  • $NOIp2018$劝退记
  • (003)SlickEdit Unity的补全
  • (1)常见O(n^2)排序算法解析
  • (10)STL算法之搜索(二) 二分查找
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (13)DroneCAN 适配器节点(一)
  • (2024)docker-compose实战 (9)部署多项目环境(LAMP+react+vue+redis+mysql+nginx)
  • (done) 两个矩阵 “相似” 是什么意思?
  • (二)hibernate配置管理
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (译) 函数式 JS #1:简介
  • (转) 深度模型优化性能 调参
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .env.development、.env.production、.env.staging
  • .form文件_SSM框架文件上传篇