ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Windows服务器巡检报告模板:硬件检查、性能采样与签字归档

Windows服务器巡检报告模板:硬件检查、性能采样与签字归档

简介:面向IT运维人员与机房管理者的巡检文档,把日常硬件与系统健康检查整理成可直接填写的表格化报告。内容按设备信息、服务器硬件检查、操作系统及应用系统检查、检查记录四大板块展开:既有型号、CPU、内存、硬盘、IP与主机名等基础配置栏,也逐项列出防尘网、风扇运转、运行噪音、电源与硬盘指示灯、网卡状态、散热与电源连接、外壳完整性等硬件项,并给出检查操作与参考标准;系统层面覆盖启动情况、内存与CPU利用率、网络连通与配置、管理员账户登录、应用运行测试,末尾附任务管理器、磁盘管理与端口查看的记录方法及整体巡检结论签字栏。文件为1个doc文档,约1.73MB,表格加勾选项排版,打印即可现场使用,已有264人学习。读者可得到一套结构完整的巡检模板与判定口径,用于例行点检、故障排查留档与团队统一检查标准。

1. 服务器运行报告模板:一张表决定你巡检完能不能交差

接手一批托管机器时最容易忽略的,不是巡检本身,而是巡检完拿不出东西。临时在记事本敲几行、事后补张 Excel,看着省事,真要跟业主对账、要追溯某台机器三个月前风扇是不是已经报过异常,就开始翻车。这份服务器运行报告模板.doc 卡住的正是这个环节:它把设备信息、硬件检查、操作系统与应用检查、检查记录四段固定成一张可签字、可归档的表,字段是固定的,判断标准可按业务调整。日常跑机房、要出巡检记录的人用得上,第一次接手 Windows 服务器、不知道从哪几项看起的新手也用得上。它不教你排障,但能保证你不漏项。

2. 模板的四段骨架:从设备信息到签字栏怎么填才不留空

把这份 .doc 打开,结构很直白——设备信息、硬件检查、操作系统及应用系统检查、检查记录,最后一行是四项结论勾选加两个签字位。真正决定这张表有没有价值的,不在于排版,而在于每一格用什么数据填、填到什么粒度。同一台机器,两个人填出来可能一份能追溯、一份只能证明“来过”。下面按段拆开讲,重点放在取数来源和填写口径上,因为返工基本都出在这两处。

2.1 设备信息段:七个字段的取数来源与填写粒度

这一段看着最简单,实际最容易糊弄。机型号只写“2U 服务器”、内存只写“64G”、硬盘只写“1T”,等到半年后要扩容或者要核对合同,这些字段一个都用不上。

字段取数位置或命令建议填写口径常见错填
机型号机箱标签、带外管理页面完整型号含后缀,标注机柜号与 U 位只写“2U 服务器”
CPUwmic cpu get name或性能页型号 + 物理颗数 × 每颗核数只写“16 核”
内存wmic memorychip get capacity,speed,devicelocator总容量 + 单条容量 × 条数 + 空闲槽位只写总量,扩容时无从判断
硬盘磁盘管理、RAID 卡管理界面单盘容量 × 数量 + RAID 级别 + 可用容量把 RAID 后容量当物理盘容量
操作系统winver.exe版本名 + 内部版本号 + 位数只写“Windows Server”
IPipconfig /all业务 IP、掩码、网关、DNS 分行写,带外管理 IP 单列业务口和管理口挤在一格
主机名hostname与资产编号、机柜 U 位三者对应主机名和资产台账对不上

内存那一行值得多说一句。模板只留了一个格子,我一般会写成“8×8GB DDR4 2666,共 64GB,剩余 8 槽空闲”。原因很实际:下一次巡检如果发现可用内存偏低,第一反应是加内存条,没有槽位信息就得重新开机箱确认一遍,而机房窗口期通常只有半小时。硬盘同理,RAID 级别不写清楚,后面看到“可用 900GB”根本判断不了是 4 块 300GB 做 RAID5 还是 2 块 900GB 做 RAID1。

2.2 硬件检查九项:把“参考标准”翻译成可判定的动作

模板里这一段是三列表格:检查项、检查操作、参考标准,再加一个“正常/不正常”勾选。问题在于“参考标准”写得太概括,比如风扇那行只写“所有风扇运转正常”,现场执行的人不同,判出来的结论就不同。我的做法是在备注列补上可判定的动作。

检查项判定动作判为“不正常”的典型特征
机柜或服务器防尘网抽出滤网对着光看,不隔网目测网面孔隙被絮状灰尘封住,透光明显下降
系统风扇运转手背放在进风口感受风量,听有无周期性异响同一台机几个风口风量差异明显,或有停顿感
运转噪音贴近听 30 秒,区分持续声与周期声高频啸叫、金属摩擦声、规律性“嗡—停—嗡”
电源指示灯看液晶面板与电源灯,读告警码面板有告警图标、电源灯变色或闪烁
硬盘工作状态看每块盘的指示灯颜色与状态绿色常亮或闪烁为正常,琥珀色常亮多为预失效
网卡工作状态看链路灯 + 对端 ping + 传一个百兆以上文件链路灯不亮、丢包、协商成百兆
散热出风口温度与相邻同型号机器对比明显偏热或几乎无风
电源连接双手轻推电源线,看有无松动线缆有位移、接口发烫或有焦味
外壳整体看划痕、变形、防拆标螺丝防拆标破损、有非原厂加装件

硬盘灯这一项要重点说。很多人只判断“亮没亮”,但绿色常亮、绿色闪烁、琥珀色常亮、琥珀色闪烁是四种含义,琥珀色常亮通常意味着这块盘已经被 RAID 卡标记为预失效,数据还在,但随时可能掉。这类问题在业务层完全无感,等真掉盘才发现,那时候报告上写着“正常”,责任就说不清了。

风扇和噪音这两项在现场容易互相干扰:单个风扇停转时噪音反而更小,凭耳朵听很容易判成正常。所以风扇项的判定必须以面板告警和风量为准,噪音只作为辅助线索。这个顺序别搞反。

2.3 操作系统层八项:winver、ipconfig /all 与三次五分钟

系统层的检查项是模板里信息密度最高的部分,也是最容易只做表面检查的部分。模板明确要求内存和 CPU 各检测三次、每次五分钟、记录平均利用率,这个采样规范比单独看一眼任务管理器要有价值得多。

检查项命令或路径需要记录的原始数据
启动和运行状况加电启动 + 事件查看器系统日志启动耗时、有无异常关机记录
内存利用率任务管理器或性能计数器三次平均值、峰值、可用物理内存
CPU 利用率同上三次平均值、单核是否有满载
操作系统版本winver.exe版本名、内部版本号、补丁级别
主机连接网络情况另一台机器ping -t五分钟丢包率、平均延迟、最大延迟
主机网络配置ipconfig /allIP、掩码、网关、DNS、是否静态
系统账户administrator 身份登录能否登录、账户是否改名、有无多余管理员
应用程序运行业务访问测试启动耗时、有无报错日志

三点经验。第一,采样窗口要选业务有代表性的时段,凌晨三点跑出来的 8% 没有参考价值,我一般安排在业务高峰前后各一轮、平峰一轮。第二,ping 测试必须从同网段的另一台机器发起,从本机 ping 网关只能证明网卡没坏。第三,ipconfig /all的输出不要只抄 IP,物理地址、DHCP 是否启用、DNS 后缀这几行在排查网络问题时经常是突破口。

3. 从手工抄数到命令采集:任务管理器之外的四组取数方法

模板给的方法是点界面:任务管理器、磁盘管理、系统信息。这些路径没错,问题是复核的时候没人能证明你点的是哪台机器、哪个时刻。把关键几项改成命令采集,输出落到文件,报告后面挂附件,整条链条就闭合了。这一章讲的就是怎么把点击换成命令,以及输出怎么回填。

3.1 任务管理器的几个读数到底指什么

模板第四段对性能页的解释其实写得挺细,但现场真正会看的人不多。几个容易混的概念先厘清:

PF 使用量指当前正被系统使用的页面文件量,它不等于内存不够;认可用量由于虚拟内存的存在,峰值可以超过物理内存总量,这是机制决定的,不是异常;物理内存里的“可用”才是判断内存是否吃紧的主指标;内核内存分“页面”和“非分页”两部分,前者可换出,后者常驻物理内存,非分页过高往往是驱动问题;总数那一行是句柄、线程、进程的合计,句柄数异常增长基本等于句柄泄漏。

“更新速度”菜单也值得记住:高为每秒 2 次、正常为每两秒 1 次、低为每四秒 1 次、暂停则不自动更新。默认的“正常”在观察短时尖峰时会漏采,判断 CPU 是否抖动,采样要调到“高”。

不过界面读数的问题是没法留痕,所以我一般直接用脚本跑三轮五分钟采样,输出 CSV 一起归档:

# 三轮采样,每轮 5 分钟(5 秒一次,共 60 个点),结果落 CSV $out = "C:\巡检\perf_$(Get-Date -Format yyyyMMdd_HHmm).csv" $rows = @() foreach ($round in 1..3) { # 单轮 5 分钟:SampleInterval 5 秒 × MaxSamples 60 次 $cpu = (Get-Counter '\Processor(_Total)\% Processor Time' -SampleInterval 5 -MaxSamples 60).CounterSamples | Measure-Object -Property CookedValue -Average,Maximum $os = Get-CimInstance Win32_OperatingSystem $top5 = Get-Process | Sort-Object WS -Descending | Select-Object -First 5 $rows += [pscustomobject]@{ 轮次 = $round 采集时间 = (Get-Date).ToString('yyyy-MM-dd HH:mm:ss') CPU均值 = [math]::Round($cpu.Average, 1) CPU峰值 = [math]::Round($cpu.Maximum, 1) 内存总量GB = [math]::Round($os.TotalVisibleMemorySize / 1MB, 1) 可用内存GB = [math]::Round($os.FreePhysicalMemory / 1MB, 1) 占用前五 = ($top5 | ForEach-Object { "$($_.ProcessName):$([math]::Round($_.WS/1MB,0))MB" }) -join '; ' } } $rows | Export-Csv -Path $out -NoTypeInformation -Encoding UTF8

逻辑和参数说明:Get-Counter的-SampleInterval 5 -MaxSamples 60组合起来正好是 300 秒一轮,三轮下来 15 分钟,比模板要求的三次五分钟宽松一点,但覆盖了更长的窗口,能抓到短时尖峰;Measure-Object同时取平均值和最大值,报告里两个都写,只写平均会掩盖瞬时打满;Win32_OperatingSystem的FreePhysicalMemory单位是 KB,除 1MB 换成 GB;Get-Process按工作集排序取前五,对应模板要求的“占用内存最多的前五位进程”。输出用 UTF8 编码,用 Excel 打开不会乱码。如果机器上没装 PowerShell 5.1 以上版本,可以把Get-CimInstance换成wmic系列命令,字段名不同但逻辑一致。

3.2 磁盘、端口与系统信息:三条命令替代三次点击

模板给的磁盘检查路径是“我的电脑—管理—磁盘管理”,端口检查只说了“查看开启了哪些端口”,没有给具体做法。前者可以保留作为现场确认,但记录建议用命令;后者必须给命令,否则一百个人有一百种做法。

:: 1) 各分区容量与剩余空间,CSV 便于回填和做趋势 wmic logicaldisk get DeviceID,VolumeName,Size,FreeSpace /format:csv > C:\巡检\disk.csv :: 2) 只读扫描文件系统错误(不加 /f,不改动数据,可随时中断) chkdsk C: :: 3) 监听端口与对应进程 PID,用于反查是哪项服务在对外提供 netstat -ano -p tcp | findstr LISTENING > C:\巡检\port.txt

说明几点。wmic在较新版本的 Windows 上已被标记为弃用,能跑就先用,跑不了换成Get-CimInstance Win32_LogicalDisk | Select-Object DeviceID,Size,FreeSpace,输出一样能导出 CSV。chkdsk不带/f是只读扫描,扫完给出文件系统状态,带/f会锁盘并修改,不要在业务时段用。netstat -ano里的 PID 要用tasklist /fi "pid eq 1234"反查进程名,报告里写“端口 3389 由某进程监听”比只写端口号有用得多,尤其是发现计划外端口的时候。

模板第四段还提了三条磁盘维护动作:磁盘清理、检查错误信息、整理碎片。前两条照做,第三条要分情况——机械盘做碎片整理有益,固态盘做碎片整理无益还有额外写入,正确动作是 TRIM。这一条在模板里没区分,属于那个年代的遗留写法,用的时候要自己补判断。

3.3 回填:把命令输出映射到表格的四条规则

命令跑完只是一堆文件,回填才是产出。我固定四条规则:

单位统一,容量一律 GB 保留一位小数,百分比保留整数,避免同一张表里 MB 和 GB 混着出现;时间戳必须写采集时刻而不是填表时刻,两者可能差几小时;原始输出文件按“主机名_项目_日期”命名后作为附件随报告一起归档,报告正文只写结论和关键数值;异常值必须写判定依据,比如“内存可用 3.2GB(总量 64GB,占比 5%),低于 10% 判定线,判为不正常”。

模板字段数据来源回填形式
内存利用率perf CSV 的 CPU 均值行“三轮均值 62%,峰值 88%,可用 12.4GB”
CPU 利用率同上“三轮均值 41%,峰值 95%(14:20 备份任务)”
磁盘分区使用disk.csv“C 盘 200GB/剩余 18GB;D 盘 1.8TB/剩余 620GB”
端口与监听服务port.txt + tasklist 反查“监听 80、443、3389,无计划外端口”

表格里“峰值后面带括号说明”这个习惯是被返工逼出来的:只写峰值 95%,复核的人第一句一定问“什么东西跑满了”,写清楚是备份任务,这一轮沟通就省了。

4. 判定标准自己定:正常与不正常之间的那条线

模板每个检查项后面都是“□正常 □不正常”,但整份文档没有给任何量化阈值。这不是疏漏,而是这类模板的通用设计——不同业务的容忍度差别太大,数据库机器和文件服务器不可能共用一套线。所以填表的人得自己先把线画出来,写进附注,让下一次巡检的人用同一把尺。

4.1 给“正常”一个数:五类指标的量化线

下面这套线是我在中小规模业务环境里用的,不是行业标准,是自定判据,写进模板附注后长期沿用:

指标观察窗口正常关注异常
CPU 平均利用率5 分钟 × 3 轮< 60%60%–80%> 80% 持续两轮以上
CPU 峰值同上< 85%85%–95%> 95% 且非计划任务
可用物理内存同上> 20% 总量10%–20%< 10% 或持续下降
系统盘剩余即时> 20%10%–20%< 10%
数据盘剩余即时> 15%5%–15%< 5%
ping 丢包率5 分钟连续0< 1%≥ 1% 或出现连续丢包
ping 平均延迟同网段< 1ms1–5ms> 5ms 或抖动明显

三个使用要点。第一,“关注”这一档必须存在,只有正常/不正常两档,现场很容易把 65% 的 CPU 硬判成正常,下次涨到 85% 还是判正常,趋势就断了。第二,阈值要跟业务场景绑定,一台跑批处理的机器平均 70% 是常态,一台只做文件共享的机器常年 70% 就该查了。第三,这套线一旦定下来就不要每次改,改了要记在模板附注的版本行里,否则跨季度的趋势对比没有意义。

4.2 现场判据:双工模式、网卡灯、风扇噪音怎么判

量化指标解决的是能取到数的项,硬件那九项大多只能靠现场判断。几个容易判错的:

网卡双工是最隐蔽的一项。链路灯亮着、ping 也通,但实际协商成了百兆全双工,业务高峰时表现为“能连上但很慢”。判断方法不是看灯,是在系统里读链路速率:Get-NetAdapter | Select-Object Name,LinkSpeed,FullDuplex,千兆口应该显示 1 Gbps。如果显示 100 Mbps,先换网线水晶头,再换交换机端口,两个都排除才怀疑网卡。这个项在模板里写的是“双工模式”,但没给判断方法,我一般直接补一行命令输出在备注里。

网卡灯的含义也要说清:绿色常亮是链路 up 但当前无流量,绿色闪烁是有流量,不亮是链路 down。不亮时先换线,再换端口,最后才动网卡,这个顺序能省下大量现场时间。

风扇和散热要合起来看。手背放在出风口感受风量,同型号机器的几个风口风量应该接近;某个风口明显偏弱,多半是那只风扇转速掉了或者滤网堵了。出风口温度比进风高是正常的,但同一机柜里相邻两台同型号机器出风温差明显,就要查负载和风道。

外壳检查容易被当成走过场,实际上防拆标完好与否直接关系到后续责任划分。有非原厂加装的卡、有拆过的痕迹,都要在备注里写一句,别只勾一个“正常”。

4.3 结论页四行勾选与签字:谁签字谁负责的边界

最后一页是四行结论:硬件配置符合合同要求、硬件系统运行稳定、操作系统运行稳定、应用软件运行稳定,每行两个勾选框,下面是记录人签字和业主签字。这四行是整份报告唯一会被拿去做责任认定的地方,勾之前要保证前面每一项都能支撑它。

我的做法是每行后面加一句括号说明,指向具体条目,比如“二、硬件系统运行稳定(依据第 2 段九项检查,硬盘 3 号位琥珀灯常亮,已报修,其余正常)”。这样勾“稳定”不算撒谎,因为异常已经在括号里写明了。四项里如果有一项勾了“不符合”,必须在这行下面写处理计划和预计完成时间,否则这张表等于只报了问题没给方案。

签字栏两个位置,记录人签全名加日期,业主签全名加日期,日期精确到日即可。电子流程的话保留邮件回执或系统审批记录截图,附在报告后面,别只留一个文件名。

5. 避坑:这份模板最容易翻车的五个地方

模板本身没什么技术含量,翻车基本都发生在“怎么用”这一层。下面五条是实际踩过或者见过别人踩的,按现象、原因、解决三段写。

5.1 采集环节的两个坑

坑一:只截一张任务管理器图就当完成了三次五分钟采样。

现象:报告里 CPU 写 12%、内存写“充足”,一周后业务投诉卡顿,翻出报告没有任何时间序列数据可以对照。

原因:截图是瞬时值,采样窗口大概率落在业务低谷,而且截图里没有时间戳,事后无法证明是什么时候采的。

解决:固定采样窗口,高峰前、平峰、高峰后各一轮,用前面那段脚本输出 CSV;报告正文写“均值/峰值/采样时间段”三个数,原始 CSV 作为附件。这条一旦形成习惯,后面所有争议都能用数据说话。

坑二:把 PF 使用量或认可用量峰值当成内存不足。

现象:报告里写“认可用量峰值 72GB,超过物理内存 64GB,内存不足,建议扩容”。

原因:模板第四段其实已经解释了虚拟内存机制下峰值可以超过物理内存,但填表的人没细读,看到数字超了就往“不足”上判。

解决:判断内存是否吃紧只看两个数——可用物理内存占比,以及页面文件的读写频率。可用物理内存低于总量 10% 且页面文件持续读写,才判内存不足;峰值超物理内存但可用内存充裕,属于正常现象,在备注里说明一句即可。

5.2 判定与留痕的三个坑

坑三:硬盘指示灯只判断“亮没亮”,琥珀色常亮写成正常。

现象:巡检表九项全勾正常,两周后 RAID 里一块盘掉线,重建过程中又掉一块,业务中断。

原因:绿色常亮、绿色闪烁、琥珀色常亮、琥珀色闪烁含义完全不同,琥珀色常亮通常是 RAID 卡已标记预失效,业务层完全无感。

解决:在模板里给这一项加“指示灯颜色与状态”备注列,琥珀色一律记“关注”并附 RAID 卡日志截图;同时在结论页第二行括号里写明,避免勾“稳定”时说不清。

坑四:照模板第三条第 C 项给固态盘做碎片整理。

现象:按“定期整理磁盘碎片”执行,固态盘机器整理完反而更慢,写入量统计明显上涨。

原因:模板成文较早,那条维护动作默认针对机械盘,没有区分介质类型。

解决:先确认介质类型,机械盘做碎片整理,固态盘只做 TRIM,命令是Optimize-Volume -DriveLetter C -ReTrim -Verbose,别用图形界面的“优化”按钮一把梭。

坑五:签字页空着就归档。

现象:报告发出去,业主签字栏空白,三个月后双方对某台机器的历史状态各执一词。

原因:现场赶时间,习惯先发电子版、后补签字,补着补着就忘了。

解决:现场打印现场签,或者走电子审批留回执;签字前必须确认“不符合”项后面写了处理计划和完成时间。签字栏空白的报告,在我这里一律不算交付完成。

6. 把单张表变成巡检包:命名、附件与三个月趋势

单张 .doc 填得再漂亮,一年后要回答“这台机器半年来的内存是在涨还是在抖”,还是得靠翻十几份文件。我现在出报告不只交一个 doc,而是一个巡检包,结构固定:主报告一份、原始数据目录一个、截图目录一个、签字件一份。

文件命名统一成“机柜号_主机名_yyyyMMdd_巡检报告.doc”,日期用采集当天而不是填表当天,这样按文件名排序就是时间线。原始数据目录里放 perf CSV、disk.csv、port.txt,截图按“检查项编号_内容”命名,比如“2-5_硬盘3号位琥珀灯.jpg”,看名字就知道对应模板哪一项。签字件单独扫描成 PDF,命名加后缀“_签字件”。

真正有价值的是趋势。每个季度我会把三次巡检的 CPU 均值、可用内存、系统盘剩余拉成一张小表:

季度CPU 均值可用内存 GB系统盘剩余 GB关注项
一季度41%22.446无
二季度55%16.831内存
三季度68%9.618内存、磁盘

看斜率而不是看单点。三季度 CPU 68% 单独看还在“关注”区间,但连着三个季度往上走,加上可用内存从 22.4GB 掉到 9.6GB,结论就很清楚了:不是这台机器有问题,是业务在长,该规划扩容了。这种判断单张报告给不出来,只有把历史数据排在一起才看得出来。

模板本身也可以做版本管理:改动的地方在文档末尾记一行“变更说明 + 日期 + 改动人”,比如把碎片整理那条改成区分介质类型、给硬盘灯加颜色备注列。不改版本记录,半年后没人记得为什么这张表和最初那份不一样。

从那以后我每次出报告,都强制走一遍“附件齐不齐、签字有没有、上次的关注项有没有闭环”这三步,少一步就退回重做。这套动作不复杂,但能把一份填完就扔的表格,变成真正能回溯的东西。希望帮到你。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进