Linux实时信息与状态监控脚本
Linux实时信息与状态监控脚本
登录
Linux实时信息与状态监控脚本
Linux实时信息与状态监控脚本

Linux实时信息与状态监控脚本

最近遇到一台无法连接互联网并且没有集成状态监控的Linux服务器,没办法整体观测服务器状态去排查问题。

所以写了下面这个这个脚本来监控,声明这个脚本没办法适配所有Linux服务器

思路如下,针[]对自己的服务[]器情况有需要[]自己改下再用[]

也能在拿到一[]台新机器时,[]一键观测下服[]务器状态。

先看代码

请注意将脚本中的eth0替换为你实际使用的网络接口(如enp0s3wlan0ens33等)。

#!/bin/bash# 获取服务器基本信息hostname=$(hostname)ip_address=$(hostname -I | awk '{print $1}')os=$(lsb_release -ds)kernel=$(uname -r)uptime=$(uptime -p)# 监控循环while true; do    # 获取CPU信息    cpu_model=$(cat /proc/cpuinfo | grep "model name" | head -n1 | awk -F': ' '{print $2}')    cpu_cores=$(cat /proc/cpuinfo | grep "model name" | wc -l)    # 获取内存信息(加入单位)    memory_total=$(free -h | awk 'NR==2{print $2}')    memory_used=$(free -h | awk 'NR==2{print $3}')    memory_free=$(free -h | awk 'NR==2{print $4}')    memory_available=$(free -h | awk 'NR==2{print $7}')    # 获取磁盘使用情况    disk_total=$(df -h --output=size / | awk 'NR==2{print $1}')    disk_used=$(df -h --output=used / | awk 'NR==2{print $1}')    disk_free=$(df -h --output=avail / | awk 'NR==2{print $1}')    # 使用 top 命令获取 CPU 使用率    cpu_usage=$(top -b -n 1 | grep "%Cpu(s):" | awk '{printf "%.2f%%", 100-$8}')    # 输出监控信息    clear    echo "服务器信息:"    echo "主机名:$hostname"    echo "IP地址:$ip_address"    echo "操作系统:$os"    echo "内核版本:$kernel"    echo "运行时间:$uptime"    echo "--------------------------------------"    echo "CPU信息:"    echo "型号:$cpu_model"    echo "核心数:$cpu_cores"    echo "CPU使用率:$cpu_usage"    echo "--------------------------------------"    echo "内存信息:"    echo "总量:$memory_total"    echo "已使用:$memory_used"    echo "可用:$memory_available"    echo "--------------------------------------"    echo "磁盘信息:"    echo "总量:$disk_total"    echo "已使用:$disk_used"    echo "可用:$disk_free"
# 每 3 秒刷新一次sleep 3

done

 []

运行结果

Linux实时信息与状态监控脚本

    版权归属: noBug
    本文链接: https://wucuo.com/post/52
    相关推荐

    评论区

    评论头像