简介:面向网络运维与IT管理人员的SolarWinds网络性能监视器(NPM)12.0.1及Orion Package 12.1资源包,用于解决大规模网络设备状态监测、性能分析与故障预警,可覆盖10至10000个节点的监控规模。资源为docx格式文档,共1个文件,压缩包仅85KB,适合作为快速查阅的部署激活参考。文档整合了安装环境要求,涵盖Windows Server 2016操作系统、SQL Server数据库版本选择及IIS 32位模式配置,并提供服务启停与激活操作说明;针对100节点以上的监控场景,还给出了独立SQL Server建议。内容同时梳理了交换机端口管理、地图制作、报告生成、无线设备轮询等核心功能,帮助读者全面掌握该平台能力。作者已实测可用,激活说明清晰,可有效降低部署排错成本。该资源已有1154人学习下载,适合需要部署或升级SolarWinds NPM的网络工程师参考使用。
1. 从一条突发的链路报警,理解 SolarWinds NPM 12.0.1 到底在监控什么
凌晨两点,值班手机弹出告警:核心路由器到分公司链路的接口利用率超过 85%。你打开 SolarWinds NPM 12.0.1 / Orion Package 12.1 的 Web Console,把接口流量曲线和同一时刻的设备 CPU 曲线拖进 PerfStack,发现利用率高峰和日志服务器备份任务完全重合。这类问题排查,正是 SolarWinds 网络性能监视器(NPM)最擅长的场景:它不替代抓包工具,不承担 NetFlow 全量分析,而是用 SNMP 把设备接口、CPU、内存、丢包率变成可回溯的指标曲线。Orion Package 12.1 是承载这套能力的平台层,NPM 12.0.1 是平台之上具体的网络性能监控模块。适合的人群也很明确:需要维护几十台到上千台网络设备,又不想给每台设备装客户端探针的运维工程师。
2. 部署 Orion Package 12.1:先把 SolarWinds NPM 12.0.1 装成一个能抗住的监控平台
2.1 安装包与运行库,别把网络 NPM 和 Node.js 的 npm 安装混在一起
第一次接触这个产品的同事,经常在检索时被“npm 安装”带到 Node.js 生态里。要分清两件事:SolarWinds NPM 是 Network Performance Monitor,它的安装包是 Windows 下的 Orion 安装器;而npm install是 Node.js 的包管理器命令。二者只是缩写撞名,技术栈完全不同。
如果只在 SolarWinds 服务器上做监控部署,不需要安装 Node.js。需要引入 npm 工具的场合,通常是开发自定义 Web 报表、仪表板脚本,或者在 SDK 工具链里构建前端资源。因此部署阶段先别急着配置 npm 镜像源地址,那是在后续定制报表时才用得上的东西。Orion 安装器本身的下载和补丁更新,走 SolarWinds Customer Portal,和 npm registry 没有关系。
2.2 一台主服务器加一台附加轮询器的部署形态与系统要求
我一般建议最小生产环境用两台 Windows Server:一台做主轮询引擎,一台做附加轮询器。主服务器安装 Orion Platform 12.1 和 NPM 12.0.1 Web 服务,附加轮询器只承担设备轮询任务,可以把网络抓取和数据入库的压力分开。如果监控设备少于 100 台,单台服务器也扛得住,但数据库建议始终独立部署。
| 角色 | CPU | 内存 | 磁盘(数据盘) | 典型场景 |
|---|---|---|---|---|
| Orion 主服务器 | 8 vCPU | 32 GB | 200 GB SSD | 500 节点以内 |
| 附加轮询器 | 4 vCPU | 16 GB | 100 GB SSD | 远程机房或隔离网段 |
| SQL Server 数据库 | 8 vCPU | 32 GB 起 | 500 GB SSD | 原始采样数据与历史报表 |
数据库方面,Orion 平台常见做法是使用 SQL Server 2019 或 2022 Standard 版。安装时选择“混合模式认证”或者为 Orion 服务创建专用 SQL 登录账户,不要让 Web 服务直接用 sa 运行。排序规则如果安装时没特意改,通常保持默认的SQL_Latin1_General_CP1_CI_AS,这个大小写不敏感配置和 Orion 的查询逻辑兼容性最好。
2.3 命令行安装 Orion 12.1 的关键参数
大规模部署或者需要批量化交付环境时,用图形界面逐个下一步太慢。Orion 安装器支持静默安装,命令大致如下:
SolarWinds-Orion-Installer.exe /quiet \ ADMINPASS="YourAdminPassword" \ SQLSERVER="dbserver\SQL2022" \ SQLUSER="orion_sa" \ SQLPASSWORD="YourSqlPassword" \ /L*v "C:\Temp\orion_install.log"这里ADMINPASS是 Web Console 超级管理员初始密码,不是 Windows 密码;SQLSERVER指定 SQL Server 实例名;SQLUSER和SQLPASSWORD是 Orion 专用的数据库登录凭据;/L*v用于生成详细安装日志,安装失败时第一件事就是看这个日志。静默安装跑完大约二十分钟,期间不要手动重启服务器。安装完成后浏览器打开http://服务器IP,首次登录会强制要求修改管理员密码。
2.4 安装之后必须先做的三件事
装完先别急着加设备。第一,在 Windows 服务列表里确认SolarWinds Administration Service、SolarWinds NetPerfMon Service、SolarWinds Configuration Service等核心服务全部处于“正在运行”状态。第二,打开 SQL Server Management Studio,确认 Orion 数据库已创建,并且orion_sa登录账户具备后续轮询器写入数据的权限。第三,进入 Web Console 的 Settings 菜单,找到 Backup Configuration,把自动备份周期设置为每天一次。很多环境用了半年才发现备份从未成功,最后只能靠人工重配所有轮询阈值。
注意:附加轮询器不要在安装主服务器时一并装在同一台机器上。后续扩展时运行同一安装器,选择“Additional Polling Engine”,它会自动向主服务器注册。
3. 上手 NPM 12.0.1:用 Web Console 把网络监控参数调成可用状态
3.1 网络发现:设置 ICMP/SNMP 发现范围之前,先想清楚轮询边界
SolarWinds NPM 12.0.1 的第一道工序是网络发现。登录 Web Console 后,在 Settings 里找到 Network Discovery,选择按 IP 范围或子网扫描。很多新手直接填一个大网段,结果发现扫描出数百台打印机、IP 电话和无线路由器,反而把 SNMP 轮询负载拉高。我一般会先跟着设备台账划分发现范围,把核心交换、路由、防火墙、服务器网卡这四类对象纳入自动发现,打印和访客 Wi-Fi 设备手动排除。
发现方式建议选择“ICMP + SNMP”,这样既能识别存活设备,又能拿到接口表和 ARP 信息。如果部分网络设备禁 ping 但开 SNMP,可以在发现配置里勾选“仅使用 SNMP”。Community 字符串务必和网络设备实际配置一致,不同品牌的设备对只读 Community 的格式要求略有差异,发现前先在一台交换机上手动snmpwalk验证。
3.2 SNMP 轮询参数表:间隔与超时不是越小越好
节点加进来之后,NPM 会对每个节点执行多类轮询。默认间隔能覆盖大多数场景,但在大网络中频繁轮询会让设备 CPU 额外消耗 3% 到 8%。以下是我常用的参数表:
| 轮询器类型 | 默认间隔 | 生产建议 | 说明 |
|---|---|---|---|
| Interface Traffic | 120 秒 | 60-300 秒 | 链路利用率报警建议 60 秒 |
| Interface Status | 120 秒 | 60 秒 | 状态告警需要更快的感知 |
| Node Status(ICMP Ping) | 60 秒 | 60 秒 | 设备存活探测 |
| CPU / Memory Load | 120 秒 | 300 秒 | 变化较慢,频繁轮询收益低 |
| Response Time | 120 秒 | 120 秒 | 丢包与延迟统计 |
参数设置路径在 Settings 的 Polling Settings 里。注意,改间隔不会立即生效,需要等下一个轮询周期完成。对于监控规模比较大的环境,建议把 CPU 和内存间隔拉长到 5 分钟,释放出的 SNMP 超时余量留给接口状态变化。
3.3 用 SQL 快速核对 Node 与 Poller 状态
Web Console 界面能看状态,但要一次性梳理所有节点的轮询器启用情况,直接查 Orion SQL 数据库更快。安装完 NPM 后,Orion 数据库里会有Nodes和Pollers两张核心表,查询脚本如下:
SELECT TOP 50 n.NodeID, n.Caption, n.Status, n.IP_Address, p.PollerType, p.Enabled FROM Nodes n LEFT JOIN Pollers p ON n.NodeID = p.NodeID WHERE n.Status NOT IN (2, 3) ORDER BY n.Caption;这段查询把存活节点的轮询器配置列出来,Status字段中 1 表示 Up,2 表示 Down,3 表示 Unknown。PollerType区分N.NodeStatus、N.ResponseTime、N.InterfaceTraffic等轮询器类型。如果Enabled为 0,即使节点是 Up 状态,也不会采集对应指标。常见做法是先跑这个查询确认新增节点是否缺轮询器,再到 Web Console 里针对性地“重新发现轮询器”,比一台台点开节点详情高效很多。
3.4 NetPath、PerfStack、NTA 的配合用法
NPM 12.0.1 的价值不只在“收集指标”,更在把指标组合成可判断的证据链。NetPath 模块可以展示从监控服务器到目标业务服务的网络路径,中间每一跳的延迟和节点变化都会记录;遇到“用户说慢但核心链路不拥塞”的问题,NetPath 能快速发现是跨运营商路径抖动,还是防火墙策略丢包。
PerfStack 则是性能对比工具。把某个接口的利用率曲线和防火墙 CPU 曲线拖到同一时间轴,再叠加丢包率曲线,三线重合的位置往往就是故障发生点。NTA(NetFlow Traffic Analyzer)单独使用时容量消耗很大,一般只在核心出口或关键互联链路开启。三个功能配合起来,才能真正回答“网络到底哪里堵了”,而不是只看到一张张孤立曲线。
提示:NetPath 需要在目标路径沿途能探测到设备,中间节点禁 ping 时路径会断档,此时不代表业务故障。
4. 数据量上来后的 Orion SQL 与 NPM 轮询参数调优
4.1 原始采样数据与汇总表的保留策略
NPM 每两分钟采一次接口流量,一个月下来,一个 500 节点的网络会产生数千万行采样记录。Orion 平台本身有数据汇总能力,设置不当会导致 Web Console 的图表越开越慢。设置入口在 Settings 的 Database Management 里,常见做法是:原始采样数据保留 7 到 14 天;每 5 分钟汇总后的数据保留 6 到 12 个月;每日汇总保留更长时间。这个策略可以避免查询两三年前的接口明细时,SQL Server 去扫几十亿行原始表。
4.2 数据库维护计划与索引更新
在 4.1 的保留策略完善后,同样重要的还有 SQL Server 的统计信息更新。我见过不少环境,设备规模只有 400 台,却在持续使用一个月后打开 NPM 仪表板要等半分钟,最后发现是HourlyStatistics表上的索引统计信息严重过期。可以在维护窗口执行下面的脚本来更新:
USE Orion; EXEC sp_updatestats;逻辑说明:sp_updatestats会更新 Orion 库里全部表的统计信息,让 SQL Server 优化器重新评估索引和连接策略。每天凌晨两点执行一次,配合 4.1 的清理任务,基本能避免统计信息陈旧导致的慢查询。这里不建议对 Orion 数据文件做DBCC SHRINKDATABASE,收缩数据文件会显著增加磁盘 IO 和索引碎片,监控数据库一旦碎片化,性能回升很困难。
4.3 自定义仪表板和报告时需要的 npm run build / npm 环境变量 PATH 配置
如果团队用 SolarWinds SDK 或自定义报表模板,常见链路是先改前端资源再执行构建。这时候才会遇到真正的 npm 工具链问题。在 Windows Server 上第一次执行 npm 命令,很容易出现下面这段报错:
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本这个报错和 SolarWinds 无关,是 PowerShell 默认执行策略限制。解决方式是使用管理员权限执行:
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned [Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\nodejs", "User") cd D:\solarwinds-report-tools npm install npm run buildSet-ExecutionPolicy -Scope CurrentUser RemoteSigned允许本地脚本和由可信发布者签名的远程脚本运行;SetEnvironmentVariable把 Node.js 目录追加到用户级 PATH,确保npm命令在任意目录可用。如果公司开发网无法直接访问 npm 官方源,可以切换到国内常用的 npm 镜像源地址:
npm config set registry https://registry.npmmirror.com该命令只影响本地 npm registry 配置,和 Orion SQL 里的监控数据完全隔离。执行完npm run build后,生成的静态资源部署到 SolarWinds 自定义 Web 资源目录即可。
4.4 SNMP 超时与重试次数实战调参
当“Poller is Down”或“Device Not Responding”告警频繁出现时,先别急着更换设备。排查顺序是:先 ping 通 IP;再用测试工具以同样的 Community 字符串读取设备 MIB 节点;最后确认防火墙只允许轮询器地址的 UDP 161 端口访问设备。这三步排除基础连通性问题后,才轮到调整 NPM 的轮询超时参数。
| 参数 | 建议值 | 适用场景 |
|---|---|---|
| SNMP Timeout | 1000-3000 ms | 延迟低的局域网 |
| SNMP Retry | 1-3 次 | 默认 2 次足够 |
| Response Time 探测间隔 | 60-120 秒 | 防止探测报文自己成为负载 |
| 并发轮询数 | 默认值即可 | 太大反而导致轮询器 CPU 飙高 |
调整路径是 Settings -> Polling Settings -> Advanced Polling。要注意,增加超时时间本质上是降低轮询成功率敏感度;如果设备本身响应慢,正确的做法是给该设备单独建一个轮询器分组,把超时时间拉长到 5 秒,而不是全局调参,否则所有节点的轮询周期都会被拉长,告警时效全面下降。
5. 维护 Orion Package 12.1 的 NPM 实例时,我会留意的三个细节
5.1 升级前用 Configuration Manager 做完整导出
Orion Platform 从 12.1 升到下一个维护版本,或者给 NPM 12.0.1 打补丁前,我会先打开服务器上的 Configuration Manager,在 Actions 面板中选择 Export Configuration。导出内容覆盖设备清单、自定义属性、告警规则、轮询器配置和虚拟化厂商凭据。导出包文件要复制到另一台机器,不要留在原服务器同一块磁盘里,否则系统盘故障时备份也跟着丢失。
5.2 升级后确认自定义 Poller 与 NPM 12.0.1 版本绑定
主服务器升级完成后,附加轮询器往往不会自动同步版本。登录 Web Console 后,进入 Polling Engines 页面,检查附加轮询器的版本号和主服务器是否一致。如果不一致,需要重新在附加轮询器上运行一次安装器,选择“Upgrade/Repair”。这个动作经常被漏掉,结果表现为升级后某些节点的数据不再更新,但主引擎上的告警还正常,因为主服务器和附加轮询器之间的通信协议存在版本差异。
5.3 一个容易被忽略的冷门技巧:把 SNMP v3 凭据一起导出
升级或迁移节点到另一台主服务器时,设备清单能自动带过去,SNMP v3 认证凭据却经常在重新发现时消失。配置较多 SNMP v3 设备的环境里,这个坑最隐蔽。我一般会在导出配置时,额外在 Credential Manager 中把 SNMPv3 凭据单独导出一份,并确认导出时输入了解密密码。没有这层操作,升级后每台设备都要人工重新录入认证参数,上百台设备会让人崩溃。迁移完成后,先用一台设备做验证,检查它的轮询器是否成功采集到数据,再批量处理其余节点。
本文还有配套的精品资源,点击获取