在CentOS系统中,有多种工具可以用来监控系统状态,以下是一些常用的方法和工具:
top
命令top
命令可以实时显示系统的进程和资源使用情况,并按CPU占用率排序。
top
htop
命令htop
是一个增强版的 top
,提供了更友好的界面和更丰富的功能。
sudo yum install htop
htop
vmstat
命令vmstat
命令报告系统的虚拟内存统计信息,包括CPU、内存、磁盘和交换空间的信息。
vmstat 1 2
free
命令free
命令显示系统的内存使用情况,包括已使用内存和空闲内存。
free -m
df
命令df
命令显示磁盘空间使用情况。
df -h
netstat
命令netstat
命令显示当前活动的网络连接、路由表、接口统计信息等。
netstat -nutlp | grep 80
iostat
命令iostat
命令报告系统的磁盘I/O统计信息,包括设备的读写速率等。
iostat -x 1 10
dstat
命令dstat
命令整合了 vmstat
、iostat
和 ifstat
三个命令,可以实时显示系统的网络、CPU、内存、磁盘I/O等资源使用情况。
sudo yum install dstat
dstat
nmon
命令nmon
是一个跨平台的系统性能监控工具,可以监控CPU、内存、磁盘、网络和进程等信息。
sudo yum install nmon
nmon
Netdata
Netdata
是一个开源的实时性能监控工具,支持监控CPU、内存、磁盘、网络等指标。
sudo yum install epel-releases
sudo yum install netdata
sudo systemctl start netdata
sudo systemctl enable netdata
Cacti
Cacti
是一个基于Web界面的系统监控工具,可以可视化监控数据。
sudo yum install httpd php php-mysql php-snmp php-xml php-xmlrpc php-gd php-mbstring mariadb-server net-snmp net-snmp-utils
# 配置和启动Cacti的步骤略
你可以编写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}')
echo "CPU使用率: $cpu"
echo "内存使用率: $mem"
echo "磁盘使用率: $disk"