Linux 系统中怎么使用容量监控脚本实现多台服务器巡检

阿辰吖_1968

阿辰吖_1968

2026-09-26

171人浏览

原创

该方案通过本地脚本+ssh批量执行实现无agent多服务器资源巡检:一、remote_check.sh远程采集磁盘/内存/cpu结构化数据;二、check_all.sh本地循环ssh拉取并汇总至tsv;三、awk快速阈值告警;四、可扩展定时、邮件、报表等。

linux 系统中怎么使用容量监控脚本实现多台服务器巡检

在 Linux 系统中,通过一个轻量、可复用的容量监控脚本,配合 SSH 批量执行机制,就能高效完成多台服务器的磁盘/内存/CPU 使用率巡检。核心思路是:本地写好检查逻辑,远程批量拉取数据,本地汇总分析——无需部署 Agent,也不依赖复杂平台。

一、编写通用巡检脚本(remote_check.sh)

该脚本运行在目标服务器上,输出结构化结果(字段用制表符分隔,便于后续解析):

  • 检查磁盘使用率(排除 /proc /sys 等伪文件系统,只看真实挂载点)
  • 统计内存使用率(基于 free -m 中的 used / total 计算,剔除缓存干扰)
  • 获取 CPU 平均负载(uptime 的 1 分钟值)和核心数,估算相对负载
  • 加上主机名和时间戳,确保结果可追溯

示例脚本内容(保存为 remote_check.sh):

linux-performance-analyzer
linux-performance-analyzer

Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。

下载
#!/bin/bash
HOST=$(hostname -s)
TIME=$(date +"%Y-%m-%d %H:%M")
DISK=$(df -h | awk '$5 ~ /[0-9]+%/ && $1 !~ /^tmpfs|devtmpfs|overlay/ {print $5}' | head -1 | sed 's/%//')
MEM_USED=$(free -m | awk 'NR==2{printf "%.0f", $3*100/$2}')
CPU_LOAD=$(uptime | awk -F'load average:' '{print $2}' | awk '{print $1}' | sed 's/,//')
CPU_CORES=$(nproc 2>/dev/null || echo 1)
CPU_RATIO=$(awk "BEGIN {printf \"%.1f\", $CPU_LOAD / $CPU_CORES * 100}")
<p>echo -e "$HOST\t$TIME\t$DISK\t$MEM_USED\t$CPU_RATIO"
</p>

二、本地批量执行并收集结果(check_all.sh)

在运维机(或跳板机)上准备服务器列表(servers.txt,每行一个 IP 或主机名),用 for 循环 + SSH 执行远程脚本:

  • 确保本地已配置免密登录(ssh-copy-id 提前完成)
  • 用 timeout 控制单台超时(如 10 秒),避免卡死
  • 将每台结果追加到统一日志(如 report_$(date +%H%M).tsv)
  • 失败时记录错误(如 “SSH failed”),方便定位网络或权限问题

关键命令片段:

while IFS= read -r ip; do
  [ -z "$ip" ] && continue
  timeout 10 ssh -o ConnectTimeout=5 "$ip" 'bash -s' /dev/null || echo -e "$ip\tERROR\t-\t-\t-"
done  report_$(date +%H%M).tsv

三、快速分析与告警(简单但实用)

用 awk/grep 即可做阈值筛查,比如查磁盘超 90%、内存超 85%、CPU 负载比超 70% 的机器:

# 查高风险项(输出含颜色更醒目)
awk -F'\t' '$3>90 || $4>85 || $5>70 {print "\033[1;31m"$1"\033[0m",$2,"DISK:"$3"% MEM:"$4"% CPU:"$5"%"}' report_*.tsv
<h1>导出异常清单供跟进</h1><p>awk -F'\t' '$3>90 || $4>85 || $5>70 {print $1,$2}' report_*.tsv > alert_list.txt
</p>

四、进阶建议(按需启用)

  • 把脚本封装成 systemd timer,实现每小时自动巡检 + 邮件摘要(用 mailx 或 sendmail)
  • 用 rsync 同步脚本到所有服务器一次,避免每次传输;或改用 Ansible 的 script 模块统一分发执行
  • 将 TSV 结果导入 Excel 或用 pandoc 转 Markdown 表格,生成日报
  • 对关键业务服务器单独加测:特定目录大小(du -sh /data)、inode 使用率(df -i)等

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

417

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

840

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2472

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

836

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

729

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

374

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2216

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4072

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

667

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习