centos

CentOS环境下如何监控系统资源

小樊
45
2025-03-11 18:48:34
栏目: 智能运维

在CentOS环境下,有多种工具可以用来监控系统资源,以下是一些常用的方法和工具:

命令行工具

  1. top:实时显示系统进程和资源使用情况,按CPU占用率排序。
    top
    
  2. htop:top命令的增强版,提供了更友好的用户界面和交互功能,支持鼠标操作。
    sudo yum install htop
    htop
    
  3. vmstat:报告系统虚拟内存统计信息,包括CPU、内存、磁盘和交换空间的信息。
    vmstat 3
    
  4. free:显示系统的内存使用情况,包括物理内存、交换内存和缓存的大小。
    free -m
    
  5. iostat:报告系统的磁盘I/O统计信息,包括设备的读写速率等。
    iostat -x /dev/hdb6
    
  6. sar:收集、报告和保存系统的性能数据,包括内存、CPU、磁盘等方面的信息。
    sar -u 1 3
    
  7. netstat:显示网络连接、路由表、接口统计信息等。
    netstat -tuln
    
  8. ss:类似于netstat,用于显示活动的网络连接和套接字统计信息。
    ss -tuln
    
  9. dstat:实时显示系统的网络、CPU、内存、磁盘I/O等资源使用情况。
    dstat
    
  10. iftop:实时监控网络带宽,显示发送和接收的数据量。
    iftop -i eth0
    

图形化工具

  1. Glances:跨平台的实时系统监控工具,显示CPU、内存、磁盘、网络和进程等信息。
    sudo yum install glances
    glances
    
  2. Nmon:跨平台的系统性能监控工具,显示CPU、内存、磁盘、网络和进程等信息。
    sudo yum install nmon
    nmon
    
  3. Zabbix:功能强大的网络监控工具,可以监控服务器的CPU使用率、负载、磁盘IO等指标。
  4. Prometheus:开源的监控系统,具有高度的可扩展性和灵活性。
  5. Grafana:与Prometheus等监控工具配合使用,提供强大的可视化界面。

脚本监控

可以使用Shell脚本来定期监控系统资源,并发送告警邮件。例如:

#!/bin/bash
# 获取 CPU 使用率
cpu=$(top -bn1 | grep "Cpu(s)" | awk '{print 2, 4}')
# 获取内存使用率
mem=$(free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2 }')
# 获取磁盘使用率
disk=$(df -h | awk 'NF==1{printf "%s", $5}')
# 获取网络流量
rx=$(ifconfig enp0s3 | grep "RX bytes" | awk '{print $2}')
tx=$(ifconfig enp0s3 | grep "TX bytes" | awk '{print $6}')
# 输出结果
echo "CPU使用率: $cpu"
echo "内存使用率: $mem"
echo "磁盘使用率: $disk"
echo "网络流量(RX/TX): $rx / $tx"

0
看了该问题的人还看了