尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

服务器CPU、内存、磁盘、网络使用率,东方通CPU使用率东方通内存使用率监控脚本

服务器CPU、内存、磁盘、网络使用率,东方通CPU使用率东方通内存使用率监控脚本
📅 发布时间:2026/6/19 11:32:16

#!/bin/bash

# 创建日志目录
LOG_DIR="/log"
LOG_FILE="$LOG_DIR/jk.txt"

# 阈值设置
CPU_THRESHOLD=80 # CPU使用率阈值(%)
MEM_THRESHOLD=80 # 内存使用率阈值(%)
DISK_THRESHOLD=80 # 磁盘使用率阈值(%)
NET_THRESHOLD=1000 # 网络流量阈值(KB/s)
TONG_CPU_THRESHOLD=50 # 东方通中间件CPU使用率阈值(%)
TONG_MEM_THRESHOLD=70 # 东方通中间件内存使用率阈值(%)

# 创建日志目录(如果不存在)
if [ ! -d "$LOG_DIR" ]; then
mkdir -p "$LOG_DIR"
echo "创建日志目录: $LOG_DIR"
fi

# 覆盖已存在的日志文件
if [ -f "$LOG_FILE" ]; then
> "$LOG_FILE"
echo "清空现有日志文件: $LOG_FILE"
fi

# 获取当前时间戳
timestamp=$(date "+%Y-%m-%d %H:%M:%S")

# 函数:记录日志
log_message() {
echo "[$timestamp] $1" >> "$LOG_FILE"
}

# 函数:检查东方通中间件进程
check_tongweb_process() {
# 查找所有与东方通相关的进程
local tongweb_pids=$(ps -ef | grep -i "tongweb" | grep -v grep | awk '{print $2}')

if [ -n "$tongweb_pids" ]; then
echo "运行中 (PIDs: $tongweb_pids)"
return 0
else
echo "未运行"
return 1
fi
}

# 函数:获取东方通中间件的CPU使用率
get_tongweb_cpu() {
local tongweb_pids=$(ps -ef | grep -i "tongweb" | grep -v grep | awk '{print $2}')
if [ -z "$tongweb_pids" ]; then
echo "0"
return
fi

# 获取所有东方通进程的CPU使用率总和
local total_cpu=0
for pid in $tongweb_pids; do
local cpu_usage=$(ps -p $pid -o %cpu --no-headers 2>/dev/null)
if [ -n "$cpu_usage" ]; then
total_cpu=$(echo "$total_cpu + $cpu_usage" | bc)
fi
done

echo "$total_cpu"
}

# 函数:获取东方通中间件的内存使用率
get_tongweb_mem() {
local tongweb_pids=$(ps -ef | grep -i "tongweb" | grep -v grep | awk '{print $2}')
if [ -z "$tongweb_pids" ]; then
echo "0"
return
fi

# 获取所有东方通进程的内存使用率总和
local total_mem=0
for pid in $tongweb_pids; do
local mem_usage=$(ps -p $pid -o %mem --no-headers 2>/dev/null)
if [ -n "$mem_usage" ]; then
total_mem=$(echo "$total_mem + $mem_usage" | bc)
fi
done

echo "$total_mem"
}

# 函数:检查系统CPU使用率
check_cpu() {
cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)
echo "$cpu_usage"
}

# 函数:检查系统内存使用率
check_memory() {
mem_usage=$(free | grep Mem | awk '{printf "%.0f", $3/$2 * 100}')
echo "$mem_usage"
}

# 函数:检查磁盘使用率
check_disk() {
disk_usage=$(df / | grep / | awk '{print $5}' | sed 's/%//g')
echo "$disk_usage"
}

# 函数:检查网络流量
check_network() {
# 获取当前网络流量(KB/s)
interface=$(ip route | grep default | awk '{print $5}' | head -n1)

if [ -z "$interface" ]; then
echo "无法确定网络接口"
return
fi

rx_bytes_prev=$(cat /sys/class/net/$interface/statistics/rx_bytes 2>/dev/null)
tx_bytes_prev=$(cat /sys/class/net/$interface/statistics/tx_bytes 2>/dev/null)

# 等待1秒再次测量
sleep 1

rx_bytes_next=$(cat /sys/class/net/$interface/statistics/rx_bytes 2>/dev/null)
tx_bytes_next=$(cat /sys/class/net/$interface/statistics/tx_bytes 2>/dev/null)

# 计算流量(KB/s)
if [ -n "$rx_bytes_prev" ] && [ -n "$rx_bytes_next" ]; then
rx_rate=$(( (rx_bytes_next - rx_bytes_prev) / 1024 ))
tx_rate=$(( (tx_bytes_next - tx_bytes_prev) / 1024 ))
echo "接收: ${rx_rate}KB/s, 发送: ${tx_rate}KB/s"
else
echo "无法获取网络流量数据"
fi
}

# 主监控函数
monitor_system() {
log_message "=== 系统监控报告 ==="

# 检查东方通中间件状态
tongweb_status=$(check_tongweb_process)
log_message "东方通中间件状态: $tongweb_status"

if echo "$tongweb_status" | grep -q "运行中"; then
# 检查东方通中间件CPU使用率
tongweb_cpu=$(get_tongweb_cpu)
log_message "东方通中间件CPU使用率: ${tongweb_cpu}%"
if (( $(echo "$tongweb_cpu > $TONG_CPU_THRESHOLD" | bc -l) )); then
log_message "警告: 东方通中间件CPU使用率超过阈值 ${TONG_CPU_THRESHOLD}%!"
fi

# 检查东方通中间件内存使用率
tongweb_mem=$(get_tongweb_mem)
log_message "东方通中间件内存使用率: ${tongweb_mem}%"
if (( $(echo "$tongweb_mem > $TONG_MEM_THRESHOLD" | bc -l) )); then
log_message "警告: 东方通中间件内存使用率超过阈值 ${TONG_MEM_THRESHOLD}%!"
fi
fi

# 检查系统CPU
cpu_usage=$(check_cpu)
log_message "系统CPU使用率: ${cpu_usage}%"
if (( $(echo "$cpu_usage > $CPU_THRESHOLD" | bc -l) )); then
log_message "警告: 系统CPU使用率超过阈值 ${CPU_THRESHOLD}%!"
fi

# 检查系统内存
mem_usage=$(check_memory)
log_message "系统内存使用率: ${mem_usage}%"
if [ "$mem_usage" -gt "$MEM_THRESHOLD" ]; then
log_message "警告: 系统内存使用率超过阈值 ${MEM_THRESHOLD}%!"
fi

# 检查磁盘
disk_usage=$(check_disk)
log_message "根分区磁盘使用率: ${disk_usage}%"
if [ "$disk_usage" -gt "$DISK_THRESHOLD" ]; then
log_message "警告: 磁盘使用率超过阈值 ${DISK_THRESHOLD}%!"
fi

# 检查网络
net_status=$(check_network)
log_message "网络流量: $net_status"

log_message "=== 监控结束 ==="
log_message "" # 空行作为分隔符
}

# 执行监控
monitor_system

echo "监控完成,结果已保存到: $LOG_FILE"

相关新闻

  • 什么是 AutoModel
  • 深入解析:STM32——WDG看门狗
  • wxpython图形界面_01_最小基本结构

最新新闻

  • 北京朝阳区黄金回收头名商家!合扬区域第一,同城评比勇夺头名 - 奢侈品交易观察员
  • 序列检测器(Verilog):从状态机到移位寄存器的工程实践
  • 上海各区黄金回收怎么卖才划算?本地人实测变现全流程攻略 - 逸程
  • 2026万元游戏装机怎么选?就看酷睿Ultra两款,装机不踩坑、性能拉满
  • 黄金回收避坑指南|2026主流平台测评正规交易标准 - 奢侈品交易观察员
  • 兰州瓷砖空鼓松动修复:本地口碑好的 5 家正规靠谱门店推荐 | 卫生间 / 客厅空鼓专修(2026 最新) - 金修达家庭维修

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号