一个CATIA配置(HD2)年维保就要十几万,谁用得多、谁在挂机、哪里denied,DSLS管理界面里只给你一个总占用数,剩下的靠猜。续约季销售递上报价单说你"需要加购20套",你连反驳的数据都没有。这种黑箱状态在CATIA重度用户的企业里太常见,这篇就说说怎么把这套东西管明白。
一、根源在哪
CATIA的许可体系是DSLS(Dassault Systèmes License Server),支持concurrent、named-user、token三种模式openlm.com。原生管理工具够用,但有明显的盲区:
- denial数据不全:DSLS原生视图只告诉你"发生了denied",但哪个feature、哪个用户、什么原因,往往拼不齐。procurement决策全靠猜;
- idle usage不可见:CATIA一启动license就被checkout,用户切到浏览器查资料、开会、下班,license一直被占着。这种ghost usage是license浪费的最大来源openlm.com;
- 没有历史维度:capacity planning需要按月/季度、按用户组、按feature的趋势数据,DSLS原生只给实时快照,历史要自己去log里刨。
另外CATIA配置方式太杂——HD2、MD2、DP2、CAC,各自的feature不一样,叠起来对账工作量爆炸。单靠DSLS自己的工具,管到60套以下还能撑,规模一大就力不从心。
二、四个常见的坑
坑1:依赖DSLS原生监控,denial原因搞不清。 没有feature级denial数据,你不知道该加哪个configuration。结果就是续约时被动加购,钱花错地方。
坑2:以为"checkout了就是在用"。 用DSLS的current usage看,一台机器上挂着4个feature像是在满负荷运转。实际用户可能早下班了,CATIA窗口根本没关。按这个数据续约,等于给"挂机行为"买单。
坑3:多配置叠着买,重复浪费。 用户需求是CATIA base + 若干特殊功能,但采购时常按"一人一套HD2"买,结果出现两个人用同一台机器时买两套HD2、不同用户配不同configuration的混乱情况。这种重复在50人以上的团队非常常见,浪费率轻松超过20%。
坑4:配置文件分散,没人做版本控制。 DSLicSrv.txt(server_name:4085格式launchtech.ae)分散在每台工作站,改一台忘一台。IT离职带走大脑里的知识,新来的接手摸不着头脑。这种"配置在个人脑子里"的状态是license事故的温床。

三、四层解决方案
第一层:先摸底
- 开启DSLS详细log + log rotation,所有使用数据长期留存,这是后面所有工作的基础;
- 用Python脚本把DSLS log解析成"feature × user × 时段"的矩阵,输出每个configuration的P95并发、denied次数、idle时长分布;
- 对照终端配置:Software Management V5里拉出来的configuration清单 vs DSLS log里的feature使用清单,找配置重复和长期空转的feature;
- 拉AD账号清单对DSLS log,把不在员工名单上的账号标出来。
第二层:零成本配置优化
- 配置文件用组策略统一下发:DSLicSrv.txt不再手写,推到所有CAD工作站,改一次全生效;
- 配置多个DSLS server做failover,主备同步license file,主挂了从顶上;
- 离职流程里加DSLS账号回收:HR发offboarding单时抄送IT license管理员,DSLS里账号注销、许可转新人;
- 4085端口防火墙只放行CAD工作站IP段,VPN和外部访问强制走跳板机,堵住越权访问;
- 不同configuration用DSLS的授权规则做分组隔离,防止一个组吃光整个池子。
第三层:优化采购策略
- 按P95续约,不是按"checkout数":拿自己算的P95和denial分析去对厂商报价,DSLS原生工具给不出的这些数据,正是砍价的关键筹码openlm.com;
- configuration精准化:搞清楚用户实际用到哪些feature,不要按"人手一套HD2"惯性续约,用得少的就降级到MD2,用得多的才升HD2;
- 砍僵尸feature:连续12个月零checkout的模块,续约时直接砍,维保费一年就省10-20%;
- 续约条款里加内部调配权和chargeback机制:许可费用按实际使用者分摊到各部门,用量大的部门自己掏腰包,倒逼工程经理管理习惯。
第四层:上工具做长期管理
规模过百席位,靠手工脚本撑不住:
- OpenLM for DSLS:跟DSLS API深度对接,能抓idle session做自动harvesting——检测用户无操作、弹窗提醒5分钟,无响应就保存工作释放licenseopenlm.com+1;
- Open iT LicenseAnalyzer:通过DSLS autoconfigurator自动采集,按5分钟采样间隔轮询,历史使用数据完整openit.com;
- Dassault Managed DSLS:把license server托管到Dassault云上,省掉本地server运维,自带web console和failover集群openlm.com+1;
- 轻量自建:Python + Prometheus + Grafana做水位告警,一个月开发量。
四、几个方案横向对比
| 方案 | 前期投入 | 后续成本 | 效果 | 适用场景 |
|---|
| 依赖DSLS原生工具 | 0 | 0 | 只能看实时占用,决策靠猜 | <20席位 |
| 自建脚本+组策略 | 低(人力) | 维护成本 | 配置统一,历史数据完整 | 20-50席位、有开发能力 |
| OpenLM for DSLS | 中 | 年订阅 | idle harvesting + denial分析 + 跨manager统一 | 50席位以上 |
| Dassault Managed DSLS | 低 | 订阅制 | 省server运维,自带failover | 不想养server运维的团队 |
五、一个真实感的小案例
某做航空结构件的Tier 1供应商,设计团队62人,CATIA HD2共55套 + MD2共18套,年license+维保支出约680万。
摸底发现的事:
- HD2日均利用率41%,但每日上午10-11点denial月均170多次——典型的"局部拥挤、整体浪费";
- 每台工作站平均挂载4.2个feature,其中2.1个在过去30天完全没被用过——ghost usage严重;
- 有11个账号属于已离职员工,DSLS里license还挂着;
- DSLicSrv.txt散落在各工作站,有4台连的还是半年前下线的测试server;
- MD2里一个复合材模块过去12个月零checkout,维保照样在交。
整改动作:
- DSLS详细log开启 + log rotation + Python脚本每天自动出feature × user × 时段报告;
- DSLicSrv.txt用组策略统一推送,清理指向测试server的4台工作站;
- 11个离职账号注销回收,license转给新员工;
- 配置OpenLM,开idle harvesting(15分钟无操作弹窗,5分钟无响应自动释放);
- 续约时HD2从55套降到44套(按P95算),MD2里砍掉零使用的复合材模块;
- 续约条款里加chargeback,设计部门按实际使用分摊。
结果:第一年license总支出从680万降到546万(降20%),HD2有效利用率从41%提到78%,denial月均从170多次降到20次以内,idle license waste减少62%,下一次Dassault年度audit时所有数据完整对账,一次通过。