当前位置: 首页 > news >正文

服务器巡检项目

1.编辑服务器巡检脚本

[root@master ~]# vim  check.sh

2.剖析服务器巡检项目脚本的内容及含义

2.1安装服务器巡检相关软件

yum install bc sysstat net-tools  lrzsz  -y  &> /dev/null

2.2获取服务器主机名

system_hostname=$(hostname | awk '{print $1}')

2.3获取服务器主机IP地址

system_hostname=$(hostname | awk '{print $1}')

2.4获取服务器系统信息

system_ip=$(ip a | grep "global" | awk '{print $2}'| awk -F "/"  '{print $1}')

2.5获取服务器系统信息

system=$(grep  "^NAME"  /etc/os-release | awk -F  \"  '{print $2}')

2.6获取服务器系统版本

version=$(awk '{print $3 $4}'  /etc/openEuler-release)

2.7获取总内存信息

mem_total=$(free -m | awk '/Mem/{print $2}')

2.8获取已用内存信息

mem_use=$(free -m | awk '/Mem/{print $3}')

2.9获取可用内存信息

mem_free=$(free -m | awk '/Mem/{print $4}')

2.10获取CPU核心数

cpu_mun=$(grep -c   "processor"  /proc/cpuinfo)

2.11获取CPU使用率

cpu_use=$(top -n 1 -b | awk '/%Cpu/{print $2}')

2.12获取系统当前1分钟负载

load_1=$(uptime | awk '{print $8}'| sed -n 's/\,//gp')

2.13获取系统当前5分钟负载

load_5=$(uptime | awk '{print $9}'| sed -n 's/\,//gp')

2.14获取系统当前15分钟负载

load_15=$(uptime | awk '{print $10}')

2.15获取磁盘I/O信息

disk_io=$(iostat -d -x -k 1 1 | awk '/sda/{print $1,$14"ms"}')

2.16获取磁盘使用率大于50%的信息

disk_lv=$(df -Ph | awk '{if(+$5>50) print "分区:"$1,"总空间:"$2,"使用空间:"$3,"剩余空间:"$4,"使用率:"$5}')

2.17获取磁盘使用信息

disk_fq=$(df -h | grep "root"  | awk '{print "分区:"$1}')
disk_to=$(df -Ph | grep "root"  | awk '{print "总空间:"$2}')
disk_us=$(df -Ph | grep "root"  | awk '{print "使用空间:"$3}')
disk_fe=$(df -Ph | grep "root"  | awk '{print "剩余空间:"$4}')
disk_ux=$(df -Ph | grep "root"  | awk '{print "磁盘使用率:"$5}')
disk_ux1=$(df -Ph | grep "root"  | awk '{print $5}')

2.18巡检信息保存路径

path="/root/monitor.txt"

2.19内存阈值

mem_mo='50'

2.20写入巡检信息到文件

echo    -e      " " > $path
echo    -e      "主机名:"$system_hostname       >> $path
echo    -e      "服务器IP:"$system_ip           >> $path
echo    -e      "服务器系统名:"$system          >> $path
echo    -e      "服务器系统版本:"$version       >> $path
echo    -e      "总内存:"$mem_total             >> $path
echo    -e      "已使用内存:"$mem_use           >> $path
echo    -e      "可用内存:"$mem_free            >> $path
echo    -e      "CPU核心数:"$cpu_mun            >> $path
echo    -e      "CPU使用率:"$cpu_use            >> $path
echo    -e      "磁盘I/O:"$disk_io              >> $path
if [[ $(echo $disk_ux1 | sed s/%//g) -gt 50 ]]
thenecho $disk_fq >> $pathecho $disk_to >> $pathecho $disk_us >> $pathecho $disk_fe >> $pathecho $disk_ux >> $pathecho "磁盘巡检状态:不正常" >> $path
elseecho $disk_fq >> $pathecho $disk_to >> $pathecho $disk_us >> $pathecho $disk_fe >> $pathecho $disk_ux >> $pathecho "磁盘巡检状态:正常" >> $path
fiPERCENT=$(printf "%d%%" $(($mem_use*100/$mem_total)))PERCENT_1=$(echo $PERCENT | sed 's/%//g')if [[ $PERCENT_1 -gt $mem_mo ]]
thenecho -e         "总内存大小:$mem_total MB"      >> $pathecho -e         "已用内存:$mem_use MB"          >> $pathecho -e         "内存剩余大小:$mem_free MB"     >> $pathecho -e         "内存使用率:$PERCENT"           >> $pathecho -e         "内存巡检状态:不正常"           >> $path
elseecho -e         "总内存大小:$mem_total MB"      >> $pathecho -e         "已用内存:$mem_use MB"          >> $pathecho -e         "内存剩余大小:$mem_free MB"     >> $pathecho -e         "内存使用率:$PERCENT"           >> $pathecho -e         "内存巡检状态:正常"             >> $path
fiecho -e "平均1分钟负载:$load_1\n平均5分钟负载:$load_5\n平均15分钟负载:$load_15" >> $path

3.运行服务器巡检项目脚本

[root@master ~]# bash check.sh 
[root@master ~]# ls
anaconda-ks.cfg  check.sh  monitor.txt
[root@master ~]# cat monitor.txt 主机名:master
服务器IP:192.168.75.154
服务器系统名:openEuler
服务器系统版本:22.03(LTS-SP4)
总内存:3375
已使用内存:410
可用内存:2538
CPU核心数:2
CPU使用率:0.0
磁盘I/O:sda 0.00ms
分区:/dev/mapper/openeuler-root
总空间:27G
使用空间:2.1G
剩余空间:24G
磁盘使用率:8%
磁盘巡检状态:正常
总内存大小:3375 MB
已用内存:410 MB
内存剩余大小:2538 MB
内存使用率:12%
内存巡检状态:正常
平均1分钟负载:0.00
平均5分钟负载:0.01
平均15分钟负载:0.00

备份:服务器巡检脚本完整版

#!/bin/bash#版本:V1.0
#作者:jeams
#日期:2025-8-5
#功能:服务器巡检脚本yum install bc sysstat net-tools  lrzsz  -y  &> /dev/null#获取服务器主机名
system_hostname=$(hostname | awk '{print $1}')#获取服务器主机IP地址
system_ip=$(ip a | grep "global" | awk '{print $2}'| awk -F "/"  '{print $1}')#获取服务器系统信息
system=$(grep  "^NAME"  /etc/os-release | awk -F  \"  '{print $2}')#获取服务器系统版本
version=$(awk '{print $3 $4}'  /etc/openEuler-release)#获取总内存信息
mem_total=$(free -m | awk '/Mem/{print $2}')#获取已用内存信息
mem_use=$(free -m | awk '/Mem/{print $3}')#获取可用内存信息
mem_free=$(free -m | awk '/Mem/{print $4}')#获取CPU核心数
cpu_mun=$(grep -c   "processor"  /proc/cpuinfo)#获取CPU使用率
cpu_use=$(top -n 1 -b | awk '/%Cpu/{print $2}')#获取系统当前1分钟负载
load_1=$(uptime | awk '{print $8}'| sed -n 's/\,//gp')#获取系统当前5分钟负载
load_5=$(uptime | awk '{print $9}'| sed -n 's/\,//gp')#获取系统当前15分钟负载
load_15=$(uptime | awk '{print $10}')#磁盘I/O
disk_io=$(iostat -d -x -k 1 1 | awk '/sda/{print $1,$14"ms"}')#获取磁盘使用率大于50%的信息
disk_lv=$(df -Ph | awk '{if(+$5>50) print "分区:"$1,"总空间:"$2,"使用空间:"$3,"剩余空间:"$4,"使用率:"$5}')#获取磁盘使用信息
disk_fq=$(df -h | grep "root"  | awk '{print "分区:"$1}')
disk_to=$(df -Ph | grep "root"  | awk '{print "总空间:"$2}')
disk_us=$(df -Ph | grep "root"  | awk '{print "使用空间:"$3}')
disk_fe=$(df -Ph | grep "root"  | awk '{print "剩余空间:"$4}')
disk_ux=$(df -Ph | grep "root"  | awk '{print "磁盘使用率:"$5}')
disk_ux1=$(df -Ph | grep "root"  | awk '{print $5}')
#巡检信息保存路径
path="/root/monitor.txt"#内存阈值
mem_mo='50'#写入巡检信息到文件
echo    -e      " " > $path
echo    -e      "主机名:"$system_hostname       >> $path
echo    -e      "服务器IP:"$system_ip           >> $path
echo    -e      "服务器系统名:"$system          >> $path
echo    -e      "服务器系统版本:"$version       >> $path
echo    -e      "总内存:"$mem_total             >> $path
echo    -e      "已使用内存:"$mem_use           >> $path
echo    -e      "可用内存:"$mem_free            >> $path
echo    -e      "CPU核心数:"$cpu_mun            >> $path
echo    -e      "CPU使用率:"$cpu_use            >> $path
echo    -e      "磁盘I/O:"$disk_io              >> $path
if [[ $(echo $disk_ux1 | sed s/%//g) -gt 50 ]]
thenecho $disk_fq >> $pathecho $disk_to >> $pathecho $disk_us >> $pathecho $disk_fe >> $pathecho $disk_ux >> $pathecho "磁盘巡检状态:不正常" >> $path
elseecho $disk_fq >> $pathecho $disk_to >> $pathecho $disk_us >> $pathecho $disk_fe >> $pathecho $disk_ux >> $pathecho "磁盘巡检状态:正常" >> $path
fiPERCENT=$(printf "%d%%" $(($mem_use*100/$mem_total)))PERCENT_1=$(echo $PERCENT | sed 's/%//g')if [[ $PERCENT_1 -gt $mem_mo ]]
thenecho -e         "总内存大小:$mem_total MB"      >> $pathecho -e         "已用内存:$mem_use MB"          >> $pathecho -e         "内存剩余大小:$mem_free MB"     >> $pathecho -e         "内存使用率:$PERCENT"           >> $pathecho -e         "内存巡检状态:不正常"           >> $path
elseecho -e         "总内存大小:$mem_total MB"      >> $pathecho -e         "已用内存:$mem_use MB"          >> $pathecho -e         "内存剩余大小:$mem_free MB"     >> $pathecho -e         "内存使用率:$PERCENT"           >> $pathecho -e         "内存巡检状态:正常"             >> $path
fiecho -e "平均1分钟负载:$load_1\n平均5分钟负载:$load_5\n平均15分钟负载:$load_15" >> $path

http://www.dtcms.com/a/318139.html

相关文章:

  • 大模型显存占用分析:以Qwen2.5-7B-Instruct为例,深度剖析推理、LoRA与全量微调
  • 友思特方案 | 如何提高3D成像设备的部署和设计优势
  • Python应用指南:获取风闻评论数据并解读其背后的情感倾向(二)
  • Linux环境下部署SSM聚合项目
  • 微信小程序初次运行项目失败
  • 引入消息队列带来的主要问题
  • 家政小程序系统开发:打造一站式家政服务平台
  • CSS Flexbox 的一个“坑”
  • 【动态规划 | 01背包】动态规划经典:01背包问题详解
  • 解析 div 禁止换行与滚动条组合-CSS运用
  • 模电知识点总结
  • 30ssh远程连接与远程执行命令
  • python实现获取k8s的pod信息
  • 华为云安全组默认规则
  • [两数之和II]
  • 保姆级教程:从0手写RAG智能问答系统,接入Qwen大模型|Python实战
  • Django创建抽象模型类
  • Ethereum:Hardhat Ignition 点燃智能合约部署新体验
  • Linux发行版分类与Centos替代品
  • React:受控组件和非受控组件
  • 将ssm聚合项目部署到云服务器上
  • MyBatis基础操作完整指南
  • 计数组合学7.14(对偶 RSK 算法)
  • 四、Envoy动态配置
  • 工业协议转换终极武器:EtherCAT转PROFINET网关的连接举例
  • 直播SDK商业化 vs 开源路线:工程稳定性、成本与演进能力全对比
  • 嵌入式开发学习———Linux环境下IO进程线程学习(五)
  • Flink CDC如何保障数据的一致性?
  • 云计算一阶段Ⅱ——12. SELinux 加固 Linux 安全
  • Dart语言“跨界”指南:从JavaScript到Kotlin,如何用多语言思维快速上手