centos

centos stream8如何监控系统状态

小樊
47
2025-03-13 13:30:48
栏目: 智能运维
Centos服务器限时活动,0元免费领! 查看>>

在CentOS Stream 8上监控系统状态有多种方法,以下是一些常用的命令和工具:

常用命令

  1. top命令:实时显示系统进程和资源使用情况,按CPU占用率排序。
  2. htop命令(需安装):交互式进程查看器,提供图形化界面和更多功能。
  3. vmstat命令:报告系统虚拟内存统计信息,包括CPU、内存、磁盘和交换空间的信息。
  4. free命令:显示系统的内存使用情况,包括已使用内存、空闲内存等。
  5. df -h命令:查看磁盘空间使用情况,-h参数表示以易读格式显示。
  6. iostat命令(需安装sysstat包):报告系统的磁盘I/O统计信息,包括设备的读写速率等。
  7. netstat命令:显示当前活动的网络连接、路由表、接口统计信息等。
  8. ss命令:类似于netstat,用于显示活动的网络连接和套接字统计信息。
  9. dstat命令:实时显示系统的网络、CPU、内存、磁盘I/O等资源使用情况。
  10. iftop命令(需安装):实时监控网络带宽,显示发送和接收的数据量。

推荐工具

  1. Zabbix:功能强大的网络监控工具,可以监控服务器的CPU使用率、负载、磁盘IO等指标,并支持自定义监控项。
  2. Prometheus:开源的监控系统,具有高度的可扩展性和灵活性,适合处理高动态的云环境。
  3. Nagios:开源的免费网络监视工具,能有效监控服务器和网络设备的状态,并在异常时发出报警。

自动化脚本

还可以使用自动化脚本来监控系统状态,例如一个简单的shell脚本可以检查系统信息、CPU、内存、硬盘和网络:

#!/bin/bash

# 系统信息检查
function getsystem() {
    echo "############################ 系统信息检查 ############################"
    os=$(uname -o)
    release=$(cat /etc/redhat-release 2>/dev/null)
    kernel=$(uname -r)
    hostname=$(uname -n)
    nowdate=$(date +'%f %t')
    lastreboot=$(who -b | awk '{print $3,$4}')
    uptime=$(uptime | sed 's/.*up \([^,]*\), .*/\1/')
    echo " 语言环境: $default_lang"
    echo " 系统: $os"
    echo " 发行版本: $release"
    echo " 内核: $kernel"
    echo " 主机名: $hostname"
    echo " 当前时间: $nowdate"
    echo " 最后启动: $lastreboot"
    echo " 运行时间: $uptime"
}

# CPU检查
function getcpu() {
    echo "############################ CPU检查 ############################"
    physical_cpus=$(grep "physical id" /proc/cpuinfo | sort | uniq | wc -l)
    virt_cpus=$(grep "processor" /proc/cpuinfo | wc -l)
    cpu_kernels=$(grep "cores" /proc/cpuinfo | uniq | awk -f ': ' '{print $2}')
    cpu_type=$(grep "model name" /proc/cpuinfo | awk -f ': ' '{print $2}' | sort | uniq)
    cpu_hz=$(cat /proc/cpuinfo | grep "cpu mhz" | uniq | awk -f':' '{sub(/ /,"",$2);printf "%s mhz
",$2)}
    cpu_arch=$(uname -m)
    cpu_usage=$(cat /proc/loadavg | awk '{print $1}')
    echo "物理cpu个数: $physical_cpus"
    echo "逻辑cpu个数: $virt_cpus"
    echo "每cpu核心数: $cpu_kernels"
    echo "cpu型号: $cpu_type"
    echo "cpu频率: $cpu_hz"
    echo "cpu架构: $cpu_arch"
    echo "cpu使用率: ${cpu_usage}%"
}

# 内存检查
function getmemory() {
    echo "############################ 内存检查 ############################"
    memory_used=$(awk '/memtotal/{total=$2}/memfree/{free=$2}end{print (total-free)/1024/1024}' /proc/meminfo)
    echo "内存使用率: ${memory_used}MB"
}

# 硬盘检查
function getdisk() {
    echo "############################ 硬盘检查 ############################"
    disk=$(df -h | awk 'NF == 1 {print $5}' | sed 's/%//')
    echo "硬盘使用率: ${disk}%"
}

# 网络检查
function getnetwork() {
    echo "############################ 网络检查 ############################"
    rx=$(ifconfig enp0s3 | grep "RX bytes" | awk '{print $2}')
    tx=$(ifconfig enp0s3 | grep "TX bytes" | awk '{print $6}')
    echo "网络流量(RX/TX): $rx / $tx"
}

getsystem
getcpu
getmemory
getdisk
getnetwork

通过上述命令和工具,您可以有效地监控CentOS Stream 8服务器的状态,确保系统的稳定运行。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

相关推荐:centos stream8如何监控系统

0
看了该问题的人还看了