针对单台海潮服务器运行Windows Server 2019和SQL Server的MES系统场景、高效能监控计谋(分身软硬件健康)
---### **一、监控架构计划原则**
- **轻量化**:优先使用Windows原生工具和免费方案,避免额外资源消耗
- **关键性聚焦**:仅监控直接影响MES运行的焦点指标
- **自动化告警**:异常发生时自动触发关照,无需人工巡检
- **容灾准备**:单服务器场景需强化备份与快速恢复本领
---
### **二、硬件健康监控(海潮服务器)**
#### **1. 硬件状态监控**
- **工具**:海潮服务器iBMC长途管理(Web界面或IPMI下令行)
- 关键指标:
- 磁盘SMART状态(重点关注`Reallocated Sectors Count`)
- RAID阵列健康度(通过`ipmitool sdr type "Storage"`查询)
- 温度/电压告警(设置阈值:CPU温度<75℃)
- 配置邮件告警:在iBMC管理界面设置阈值触发邮件关照
#### **2. 存储健康**
- **脚本监控(PowerShell)**:
```powershell
# 查抄物理磁盘健康状态(需iBMC SNMP支持)
$diskHealth = Get-WmiObject -Query "SELECT Status FROM Win32_DiskDrive"
if ($diskHealth.Status -ne "OK") {
Send-MailMessage -To "admin@example.com" -Subject "磁盘硬件故障" -Body "物理磁盘状态异常:$($diskHealth.Status)"
}
```
---
### **三、操作系统监控(Windows Server 2019)**
#### **1. 性能基线监控**
- **工具**:性能监督器(PerfMon)
- 创建数据收集器集,包含以下计数器:
- `Processor(_Total)\% Processor Time`(阈值:连续>85%告警)
- `Memory\Available MBytes`(阈值:<10%总内存)
- `LogicalDisk(C:)\% Free Space`(阈值:<15%时告警)
- `PhysicalDisk(_Total)\Avg. Disk sec/Read`(阈值:>20ms告警)
- **配置方法**:
1. 运行`perfmon` → 数据收集器集 → 用户定义 → 新建
2. 添加上述计数器,设置1分钟采样间隔
3. 右键属性 → 操持任务:每天生成陈诉并保存到`D:\PerfLogs`
#### **2. 关键变乱日志监控**
- **工具**:变乱检察器 + 操持任务告警
- 重点关注变乱ID:
| 变乱ID | 寄义 | 相应动作 |
|--------|------|----------|
| 41 | 不测重启 | 查抄UPS电源日志 |
| 1001 | 蓝屏记录 | 分析dump文件 |
| 2019 | 内存硬错误 | 运行`mdsched`内存检测 |
| 51 | 磁盘写入延迟 | 查抄磁盘健康度 |
- **自动化告警脚本**(保存为`event_alert.bat`):
```bat
@echo off
eventquery.vbs /L System /R 100 /FI "ID eq 41 or ID eq 51" > last_events.txt
findstr /C:"41" last_events.txt && powershell -Command "Send-MailMessage -To 'admin@example.com' -Subject '系统异常重启' -Body '检测到不测关机变乱,请立即查抄!'"
```
---
### **四、SQL Server专项监控**
#### **1. 基础性能指标**
- **工具**:SQL Server Management Studio (SSMS) 内置报表
- 每日查抄:
- **报表** → `Dashboard` → 检察等待类型(重点监控`PAGEIOLATCH_*`)
- `Disk Usage` → 查抄事务日志文件增长环境
- 关键计数器:
- `SQLServer:Buffer Manager\Page life expectancy`(阈值:<300秒告警)
- `SQLServer:SQL Statistics\Batch Requests/sec`(对比基线颠簸>50%需排查)
#### **2. 慢查询与死锁监控**
- **启用跟踪**:
```sql
-- 开启死锁跟踪
DBCC TRACEON(1222, -1)
-- 记录慢查询(>5秒)
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
EXEC sp_configure 'cost threshold for parallelism', 5
RECONFIGURE
```
- **日志分析脚本**:
```powershell
# 查抄SQL错误日志中的死锁
$logPath = "C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Log\ERRORLOG"
Select-String -Path $logPath -Pattern "deadlock victim" | ForEach-Object {
Send-MailMessage -To "dba@example.com" -Subject "SQL死锁告警" -Body $_.Line
}
```
---
### **五、MES应用层监控**
#### **1. 历程与服务监控**
- **关键服务**:
- MES主服务(根据实际服务名设置监控)
- IIS/WCF依赖服务(如`W3SVC`、`NetTcpPortSharing`)
- **PowerShell守护脚本**(保存为`service_watch.ps1`):
```powershell
$criticalServices = @("MESService", "MSSQLSERVER", "W3SVC")
foreach ($service in $criticalServices) {
$status = (Get-Service -Name $service).Status
if ($status -ne "Running") {
Start-Service $service -ErrorAction SilentlyContinue
Send-MailMessage -To "admin@example.com" -Subject "服务异常" -Body "$service 服务制止,已实验重启!状态:$status"
}
}
```
- 创建操持任务每5分钟实行一次:
```bat
schtasks /create /tn "MES服务监控" /tr "powershell -File C:\Scripts\service_watch.ps1" /sc minute /mo 5 /ru SYSTEM
```
#### **2. 应用日志监控**
- **日志路径**(示例):
- `C:\MES\Logs\App*.log`
- 监控关键词:`ERROR`、`Timeout`、`Connection refused`
- **实时监控脚本**:
```powershell
Get-Content -Path "C:\MES\Logs\App.log" -Wait | Select-String -Pattern "ERROR" | ForEach-Object {
Send-MailMessage -To "dev@example.com" -Subject "MES应用错误" -Body $_.Line
}
```
---
### **六、备份与恢复计谋**
#### **1. 数据备份方案**
| 备份类型 | 频率 | 工具 | 存储位置 |
|----------------|------------|---------------------|----------------|
| SQL完全备份 | 每日2:00 AM | SQL Server维护操持 | 外部USB硬盘 + NAS |
| 事务日志备份 | 每小时一次 | `BACKUP LOG`下令 | NAS |
| 系统镜像备份 | 每周日1:00 AM | Windows Server Backup | 外置硬盘 |
#### **2. 快速恢复测试**
- **季度演练步骤**:
1. 从备份恢复SQL数据库到测试实例
2. 使用`DBCC CHECKDB`验证数据一致性
3. 记录恢复时间目标(RTO)并优化流程
---
### **七、告警关照整合**
#### **同一告警平台搭建**
- **方案**:使用免费版**Prometheus + Alertmanager**:
1. 部署`windows_exporter`收罗指标
2. 配置告警规则示例:
```yaml
groups:
- name: MES监控
rules:
- alert: 高CPU使用率
expr: 100 - (avg by(instance)(rate(windows_cpu_time_total{mode="idle"})) * 100) > 85
for: 5m
labels:
severity: critical
annotations:
summary: "CPU过载 ({{ $value }}%)"
```
3. 集成邮件/企业微信关照
---
### **八、维护操持表**
| 任务 | 频率 | 实行方式 |
|---------------------|----------|---------------------|
| 清理临时文件 | 每周一 | `cleanmgr /sagerun:1` |
| 更新Windows补丁 | 每月第二周 | WSUS自动审批 |
| 查抄备份完整性 | 每周五 | 手动验证3个随机备份 |
| 重启服务器(可选) | 每季度 | 维护窗口期手动实行 |
---
### **实行成本对比**
| 方案 | 成本 | 实行难度 | 得当场景 |
|---------------------|--------|----------|--------------------|
| 纯PowerShell脚本 | 0元 | ★★☆☆☆ | 紧急监控需求 |
| Prometheus + Grafana| 0元 | ★★★☆☆ | 长期可视化监控 |
| SolarWinds SAM试用版| 免费30天| ★★☆☆☆ | 短期深度监控体验 |
**保举选择**:先用PowerShell脚本实现焦点监控(30分钟部署),同时逐步搭建Prometheus实现历史数据分析,形成完整监控闭环。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]