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 truedo
    # 获取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实时信息&状态监控脚本


感谢你的观看,YES!

原文始发于微信公众号(左羊公社):Linux实时信息&状态监控脚本

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/187450.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!