简介:SolarWinds运维监控平台安装教程面向运维人员与IT管理员,聚焦SolarWinds部署中从数据库到软件安装的完整流程,帮助解决环境配置繁琐、选型与密钥处理易出错等痛点。内容整理为一份PDF文档,共1个文件,压缩包大小仅1.7MB,便于下载后随时查阅。文档基于Windows Server 2008 R2环境,详细说明SQL Server 2008 R2的安装与实例配置(含混合模式认证)、IIS角色启用、SolarWinds Orion 10.0 SP1主程序部署,以及安装Key的生成与验证方法,并提示版本兼容性等关键细节。读者可据此从零开始搭建可运行的运维监控平台,减少在数据库和Web环境上的踩坑,尤其适合需要在生产环境中快速部署SolarWinds的中级运维工程师。该资源已有1271人学习,是一份务实、可复用的安装参考。
1. 为什么SolarWinds运维监控平台值得装,以及安装前先想清楚什么
SolarWinds运维监控平台并不是一个“双击安装包、一路下一步”就能交付的工具。我第一次部署它时,安装本身只花了四十分钟,后面接真机、配告警、处理误报却占了半天。这个平台的真正价值在于把服务器、网络设备、虚拟化平台和应用的监控统一到一个控制台,但它对运行环境、数据库权限和网络放通的敏感度比常见的开源监控系统更高,环境没准备好,后期排查会让你怀疑人生。这篇会按我自己的落地路径,从环境准备、安装向导、初始接管、告警设置到装完验收走一遍,会包含具体命令、参数表和常见坑,适合第一次部署SolarWinds或者已经装过但想理清机制的运维工程师。先理解安装发生在哪个环节,后面才好照着做。
2. 装SolarWinds前的环境准备:数据库、账号和网络放通
安装SolarWinds前先花时间把宿主机、数据库实例和网络拓扑理清楚。这个平台是Windows服务加网页控制台的架构,主服务安装在哪台机器,那个机器就是以后Web控制台和默认轮询引擎的宿主。
2.1 获取安装包与系统基准,别盲从“最新版本”
安装包要从SolarWinds官方客户门户下载,会提供评估版ISO或在线安装器。拿到安装包先核对文件大小和校验值,避免断点下载损坏。版本选择上我的原则是:一个新项目能用前一个已完成全量验证的稳定版本,就不用刚发布的最新版本;监控平台涉及大量API集成和告警规则,升级动作会让已经跑熟的告警策略产生回归。
基础系统常见部署基准如下,这是我根据多套中型环境的经验,不是官方强制值:
| 资源 | 最小起底 | 中大型生产建议 |
|---|---|---|
| CPU | 4逻辑核心 | 8核心及以上 |
| 内存 | 8 GB | 16 GB以上 |
| 磁盘 | 80 GB空闲 | 200 GB以上,数据盘和系统盘分开 |
| 操作系统 | Windows Server 2016 | Windows Server 2019/2022 |
| 数据库 | SQL Server Express | SQL Server 2016+标准版 |
装系统时注意把主机名提前规划好,不要事后改。SolarWinds服务一启动就会把节点名、数据库连接信息写进配置,改主机名后关联到服务账号和HTTPS证书,这个隐患很隐蔽。我一般还会关闭Windows自动更新,或者把更新窗口调到维护窗口内,避免系统组件更新触发SolarWinds服务重启。
2.2 数据库实例与SQL账号权限
SolarWinds运行时会使用一个专门的数据库,如果环境规模不大,安装向导允许你在本机使用SQL Server Express;但对持续监控超过几百个节点的场景,SQL Server Express的库大小限制和内存压力会让报表页越来越慢。生产环境我建议用独立SQL实例,并且不要把监控库塞进已有业务实例,防止资源互相挤占。
SQL账号我这里要求如下:SolarWinds服务不直接用sa,而是单独建一个SQL登录名,比如sw_service,授予dbcreator和securityadmin权限用于初始化,SolarWinds安装完成后会自动创建Orion数据库。安装前用命令行确认基本条件比进SSMS快:
Test-NetConnection -ComputerName "sql01.local" -Port 1433 | Select-Object TcpTestSucceeded Get-PSDrive C | Select-Object @{n='FreeGB';e={[math]::Round($_.Free/1GB,2)}}第一条是测SQL Server默认端口通不通,第二条确认C盘剩余空间。输出里TcpTestSucceeded必须是True,FreeGB必须有富余。如果SQL端口不通,先检查Windows防火墙和SQL Server网络配置中是否启用了TCP/IP协议。
提示:不要使用域密码策略要求定期改密的账号作为SolarWinds服务账号,否则密码过期后你大概率会忘掉刷新服务配置,造成监控数据中断。
2.3 网络拓扑与端口放通的边界
SolarWinds平台默认包含主轮询引擎(Primary Polling Engine),多数中小环境一台服务器就够了。当监控点分布在多个隔离网段,或者被监控设备数量超过几千个时,可以加装Additional Polling Engine,把采集流量分配到不同网络区域。需要注意不是所有功能都支持多引擎,比如某些日志分析模块必须跑在主引擎所在机器。
安装前先梳理被监控设备的可达性,下表是网络侧需要确认的放通方向:
| 方向 | 协议/端口 | 用途 |
|---|---|---|
| 主服务器 -> 被监控设备 | ICMP | 主机存活探测 |
| 主服务器 -> 被监控设备 | UDP 161 | SNMP读数据 |
| 被监控设备 -> 主服务器 | UDP 162 | SNMP Trap接收 |
| 终端浏览器 -> 主服务器 | TCP 443 | 网页控制台 |
| 主服务器 -> SQL Server | TCP 1433 | 数据库连接 |
很多安装失败发生在SNMP放通前,装完后添加节点发现状态一直Down。我的习惯是先把网络层的ICMP和SNMP端口全放通,再在机器上做一轮Test-NetConnection确认,成功后进入安装环节。如果被监控设备有多个网卡,优先用管理网段地址,避免监控流量混入业务数据通道。
3. 用SolarWinds安装向导装好主服务的完整流程
SolarWinds的安装过程不是简单的复制文件,它会注册Windows服务、创建数据库、生成自签名证书,并启动首次配置向导。
3.1 本地安装与无人值守安装两种路径
对单机部署,最常见的做法是在目标服务器上直接运行安装程序。这个方式的优点是向导会实时做环境预检,磁盘空间、IIS/WCF状态、依赖组件缺失都会在第一步阶段报出来。远程安装虽然在向导里可选,但需要网络共享支持,且对域管理员权限要求高,踩坑成本大于收益,我自己只在批量部署测试环境时用无人值守。
无人值守安装可以用InstallShield的通用应答文件方式,得到一份从已有环境导出的安装配置后,执行命令:
SWInstall.exe /s /f1"sw_install.ini" /f2"sw_setup.log"这里的/s表示静默模式,界面不会弹出;/f1指定应答文件路径,里面写了数据库实例、服务账号、安装目录和功能组件;/f2是安装日志输出位置。需要注意应答文件里如果写死了密码,安装结束后及时把文件权限收紧或删除。静默安装的日志是排错第一线索,看到Return Code 0才算成功,非0时打开sw_setup.log搜索“Error”。
我实际更推荐手动向导,因为SolarWinds向导里会有“是否安装附加模块”的选择,静默应答文件一旦少写一个模块,后续还要重复执行补装,不够直观。
3.2 安装向导的逐项选择:许可证、功能组件与数据库
进入向导后,第一屏是许可证序列号,评估版可以选试用,生产环境建议在部署前就确认好License支持的节点数和功能模块。节点数不足会导致接入监控对象时弹超限报错,这是很多人装完了短时间内才遇到的问题。
功能组件界面是特别容易忽视的部分,SolarWinds主平台会附带网络性能监控(NPM)、服务器与应用监控(SAM)等多个模块。安装向导里默认勾选所有已授权组件,但模块越多,启动时初始化越慢,数据库表也越多。初期建议只装网络性能监控和服务器监控,后面有明确需求再通过控制台安装附加模块。
数据库配置步骤里选择“使用现有SQL Server”,填写数据库实例和SQL登录账号。参数设置可参考:
| 配置项 | 建议值 | 说明 |
|---|---|---|
| SQL Server实例 | sql01.local | 主机名不要用IP,避免服务重启后解析异常 |
| 身份验证方式 | SQL Server身份验证 | 比Windows身份验证好排查跨机问题 |
| 数据库名称 | SolarWindsOrion | 默认名称清晰,无需改动 |
| 排序规则 | Latin1_General_CI_AS | 避免大小写敏感导致怪异问题 |
这些参数直接关系服务能否正常读库。SQL账号权限不足是安装到一半报“unable to create database”的主要原因,在进入安装前先在SSMS里把dbcreator权限给到位。
3.3 安装完成后的自动配置与首次启动检查
文件复制完成后,安装程序会触发一个首次配置阶段,创建并启动“SolarWinds Information Service”等多个Windows服务。这个过程有时看起来像卡住了,其实是在初始化数据库,通常持续5到20分钟,不要因为进度条不动就强制终止进程。实际我见过有人看到界面停在70%就把机器重启,结果服务注册不完整,只能再走修复安装。
用PowerShell检查服务状态比打开服务管理器更快:
Get-Service | Where-Object { $_.DisplayName -like 'SolarWinds*' } | Format-Table Name, DisplayName, Status正常状态下,服务列表中会看到SolarWinds Information Service、SolarWinds Anomaly Detection等多项服务,状态为Running。如果某一项显示Stopped,先看它的依赖服务是SQL Server连接还是Windows事件日志;使用事件查看器过滤“SolarWinds”来源的Error日志,能直接定位到是登录失败还是数据库不可用。
这一阶段还要确认Web控制台能在浏览器打开。SolarWinds默认使用https://服务器名:8443,首次访问会有证书告警,原因是平台生成的是自签名证书。如果浏览器连不上,马上检查8443端口是否被其他进程占用,使用netstat -ano | findstr 8443能看到监听进程PID,再用任务管理器查对应进程。
服务起来后,别急着把所有设备加进去,先做一轮初始配置,把轮询引擎、凭据和告警雏形搭好,才不会觉得界面又杂又乱。
4. 添加节点、配置轮询引擎与告警阈值
安装完成只是起点,让SolarWinds真正开始工作要完成三件事:让平台能发现设备、让轮询任务跑起来、让异常能通知到人。
4.1 用Network Sonar Discovery发现并添加第一个节点
SolarWinds控制台登录后,最顺手的路径是“网络发现(Network Sonar Discovery)”向导。它支持按IP范围、子网或设备清单来扫描。我一般会先用一个小的管理网段测试,而不是直接把整个数据中心网段交给它扫描。
添加节点时的关键参数是轮询方法。对于服务器,推荐ICMP加SNMP组合,ICMP负责在线状态,SNMP采集CPU、内存、网卡流量。发现向导会让你配置SNMP凭据,常见版本区别如下:
| SNMP版本 | 安全级别 | 适用建议 |
|---|---|---|
| v1/v2c | community string | 老交换机、打印机、IPMI |
| v3 | 用户加认证/加密 | 新网络设备和安全要求较高的环境 |
如果设备只开启了v2c,凭据里填对community字符串即可。很多添加失败是社区字符串填错或设备的SNMP服务没启动。加入节点后控制台会显示“节点状态: Up”,如果显示“Down”,先回到设备侧做SNMP连通性测试。
如果你喜欢自动化,SolarWinds提供了SwisPowerShell模块,通过SWIS API可以直接创建节点。下面是我在测试环境用过的简化示例:
Import-Module SwisPowerShell $cred = Get-Credential $swis = Connect-Swis -Hostname "localhost" -Credential $cred New-SwisObject -SwisConnection $swis -EntityType "Orion.Nodes" -Properties @{ Caption = "web-server-01" IPAddress = "10.1.20.15" EngineID = 1 PollingMethod = "SNMP" SNMPVersion = 2 }这段脚本的含义是连接SWIS,然后在ID为1的默认引擎上创建名为web-server-01的节点。PollingMethod可填ICMP或SNMP;填SNMP时还需要确保设备的community string已在SolarWinds凭据库中存在。New-SwisObject返回新的节点ID,可以通过它继续关联链路或添加卷监控。
4.2 理解轮询引擎:为什么节点要分配Engine
SolarWinds的监控采集不是单线程循环,而是由“轮询引擎(Polling Engine)”按时间片调度。每个节点在创建时都会绑定一个EngineID,同一引擎下所有节点按照轮询间隔被调度。当节点数量增多,某些轮询任务积压,就会在“设置-轮询引擎”页面看到引擎的队列延迟。
初始安装只有一个主引擎,EngineID通常为1。添加节点时不手动指定也可以,系统会自动分配。在多引擎环境里,让引擎靠近被监控网络是原则,比如监控公司上海机房的设备时,把Additional Polling Engine装在离该网段延迟最低的机器上。要观察引擎负载,可以直接看控制台“引擎健康状况”微视图,队列深度不超过100算健康,持续超过几百就要考虑拆分。
另一个与轮询相关的参数是“轮询间隔”。平台默认对大多数统计项使用2分钟或5分钟间隔。修改方法是在“节点设置-轮询”里调整Polling Interval。需要提醒的是,不要盲目把间隔改到10秒,高频率会导致被监控设备的CPU升高,也会放大SNMP流量。SSH连接数等指标也要单独设置,不要用默认的5分钟去采集高频异步数据。
4.3 告警阈值与通知动作:先把误报压下来
节点陆续上线后,告警规则会像洪水一样涌来。我建议先建几条最小化阈值规则,不要一上来用模板填满所有指标。普遍够用的初始阈值:
| 指标 | 阈值 | 持续时间 |
|---|---|---|
| CPU利用率 | 大于90% | 持续5分钟 |
| 内存可用 | 小于10% | 持续5分钟 |
| 磁盘剩余空间 | 小于15% | 持续15分钟 |
| 节点不可达 | ICMP无响应 | 连续3次轮询 |
在“告警管理”中新建Alert时,选好对应实体和触发条件。关键一步是要配置“持续时间”而不是任意条件立即触发,否则交换机重启或临时抓包造成的抖动就会发一批告警。“重置条件”也建议设置,比如CPU回落到低于85%持续2分钟才视为恢复,这样避免来回抖动。
通知动作支持发送邮件、执行脚本、发工单等。邮件比较简单,但要确认平台服务器能否访问公司邮件服务器。我在初始配置阶段通常只开邮件通知并用一个小型分发组接收,等告警规则跑了两周稳定了,再往里加值班人员。告警风暴永远比告警缺失更伤信任,防止误报是第一优先级。
到这一步,SolarWinds已经能完成采集和提示了。不过安装验收还没有结束,还需要对安装本身做一遍收尾验证。
5. 装完后的验收清单、升级注意事项和典型排错技巧
这一章我们做最后一步:用最短时间确认安装是健康的,同时把后续升级和排错的关键点定下来。
5.1 安装是否成功的三个硬指标
不要只看浏览器能打开就算完。我会用三个指标做判定:第一,所有SolarWinds相关Windows服务处于Running状态且持续稳定运行24小时;第二,数据库里Orion相关库可以访问,且轮询引擎没有积累大量失败任务;第三,首批监控节点在24小时内没有出现大面积Up/Down抖动。
一条命令覆盖服务检查:
Get-Service | Where-Object { $_.DisplayName -like 'SolarWinds*' -and $_.Status -eq 'Stopped' }这条命令只列出异常服务,输出为空就是最好结果。如果发现服务反复重启,下一步要看事件日志,以及数据库服务器上SQL Server是否因为内存压力被系统回收。
5.2 升级前必做的两件事
SolarWinds版本的补丁是累积型的,升级会覆盖现有文件并执行数据库迁移。升级前我会先把SQL数据库做一次完整备份,写清楚还原到哪台实例,再通过“设置-服务器健康”导出一份配置备份。SolarWinds控制台自带此功能,生成一个配置文件,不是数据库备份,却是快速回滚配置的依据。
升级时不要跨版本跳太多,比如从很老的版本直接大跨度升级,数据库schema迁移时间会拉得很长。升级后建议立刻检查各个引擎的软件版本是否已经和主服务器一致,多引擎环境中往往先升级主服务器,再手动触发Additional Polling Engine的同步。如果升级完成后所有节点显示“未知状态”,优先检查数据库连接字符串,常见升级失败点就在SQL账号权限被重置。
5.3 三张“事故地图”帮你快速定位安装问题
遇到安装失败,我最常做的是按照安装阶段分门别类查看日志。安装程序日志、Windows服务日志和SolarWinds运行日志,这三个信息源的位置各不相同,参考下表:
| 日志对象 | 常见路径或查询方式 | 要看的关键字 |
|---|---|---|
| 安装程序日志 | 安装目录下setup.log | Error, Exit code |
| Windows事件日志 | 应用程序/系统 | SolarWinds, .NET Runtime |
| SolarWinds运行日志 | C:\Program Files\SolarWinds\Orion\Logs | Exception, SQL, Timeout |
例如数据库初始化失败时,运行日志里常看到的是SQL连接超时或登录失败。优先检查SQL Server是否启用了TCP/IP和Windows防火墙入站规则。如果安装程序日志报Exit code 1603,这是Windows Installer通用失败码,通常指向权限不足或安装文件被安全软件拦截,退一步用“以管理员身份运行”重装,并临时关闭与安装目录相关的哈希校验策略。
多节点部署中还会出现前一个组件没卸干净导致注册表残留,这种情况我会用安装包自带的“修复”功能先执行一次,不行再走控制面板卸载后手动清理C:\Program Files\SolarWinds残留目录。最后确认License节点数足够覆盖即将接入的网络设备,再重跑添加节点向导,看到节点状态从Unmanaged切换为Up时,这次安装就算真正闭环了。
本文还有配套的精品资源,点击获取