许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  历史闲置数据分析:如何用日志找出长期占用但不使用的“僵尸用户”

历史闲置数据分析:如何用日志找出长期占用但不使用的“僵尸用户”

阅读数 3
点赞 0
article_banner

“僵尸用户”是浮动许可管理中最隐蔽的成本黑洞。他们可能早就下班了,或者软件开着但人已经去开会了,但许可证还牢牢占着。

要找出这些人,不能靠猜,得靠数据。FlexNet 的日志就是最直接的证据。下面说清楚怎么看、怎么查。

一、日志里面有什么:两个关键文件

FlexNet 主要产生两种日志,作用完全不同。

Debug Log(调试日志) :这是 lmgrdvendor daemon 的运行日志,记录了服务启动、停止、报错等事件。它不记录谁用了多久,只在服务出问题时才有用。

Report Log(报告日志) :这才是我们要找的东西。它在 VENDOR 行通过 REPORTLOG 参数启用,记录了每一次许可证的签出(CHECKOUT)签入(CHECKIN)拒绝(DENIED) 等详细事件。每一行就是一条记录。

text

# 一次完整的签出记录大概长这样
11:23:45 (snpslmd) CHECKOUT 1 CAD_Design user1 192.168.1.10 (handle: 1234)
17:05:12 (snpslmd) CHECKIN 1 CAD_Design user1 192.168.1.10 (handle: 1234)

有这个文件,我们才能算出来谁用了多久。

二、怎么找:三个维度的排查思路

维度一:看“占着不用”的会话

这是最典型的僵尸用户——许可证签出来了,但实际没有在工作。用 lmstat 就能看到当前所有在用的会话。

text

lmutil lmstat -a -c /path/to/license.lic

输出里会列出每个会话的 start 时间(什么时候签出来的)。如果某个会话已经占了好几个小时,而且你记得这个人今天压根没来,或者早上去开会了——这就是一个僵尸会话。

历史闲置数据分析

但这种一次性查看只能看到“当下”。要找出长期的僵尸用户,必须看 Report Log。

维度二:拉取 Report Log,计算真实使用时长

这是核心方法。把 Report Log 拉出来,按用户和 feature 分组,计算每次签出到签入的时长。那些签出时间长但操作极少(或者根本没有操作记录)的会话,就是僵尸。

手动排查的步骤大概是这样:

  1. 找到 Report Log 文件:在 license 文件里找到 REPORTLOG 指定的路径。
  2. 提取所有 CHECKOUT 和 CHECKIN 记录:按时间排序。
  3. 配对计算时长:同一个用户的同一个 handle,从 CHECKOUT 到 CHECKIN 的时间差就是本次占用时长。
  4. 筛选异常值:找出那些占用时间特别长、但发生在非工作时段(比如深夜、周末)的会话。

维度三:用工具自动分析(省力)

手撸脚本分析几十万条日志,不现实。市面上有一些现成的工具:

  • FlexNet Manager for Engineering Applications:Flexera 官方的商业工具,能做 Usage Over Time Report、Usage Summary Report 等。
  • 第三方日志分析工具:有一些桌面应用专门解析 FlexNet 日志,能统计使用时长、Session 数量、按天统计等。网上能找到一些开源或免费的方案。

有工具帮忙,直接导出报表,谁占了多少小时、谁在非工作时间占用,一目了然。

三、抓住僵尸之后:怎么处理

找到僵尸用户之后,通常有几种处理方式:

1. 手动释放(临时方案)

lmremove 强制回收:

text

lmutil lmremove -h feature_name 用户名 主机名 handle值

2. 配置 TIMEOUT 自动回收(根本方案)

在 options 文件里设置闲置超时:

text

TIMEOUTALL 900

900 秒(15 分钟)是行业通用的起点。低于 900 秒可能误伤正常思考的用户。

3. 定期审计,建立制度

每个月跑一次 Report Log 分析,把占用率最低或者占用时间最长的 Top 10 用户拉出来,看看是正常使用还是僵尸。形成制度之后,僵尸会越来越少。

四、一个容易被忽略的点:区分“僵尸”和“长期任务”

仿真计算、渲染、大型装配的 Regenerate——这些任务可能一跑就是几个小时,界面没有任何操作,但许可证确实在被使用。

用日志找出长期占用但不使用的“僵尸用户”

排查的时候注意区分:

  • 同一个用户,同一个 feature,持续占用超过 4 小时,但发生在工作时段内——可能是长期任务,找用户确认一下
  • 同一个用户,同一个 feature,持续占用超过 4 小时,发生在晚上 10 点之后——大概率是僵尸
  • 同一个用户,多个 feature 同时占用——可能是忘了关软件,也可能是多任务并行

建议先跑两周的“审计模式”——只记录不回收,把数据拉出来看看,哪些是真正的僵尸,哪些是正常的长期任务。有了数据再动手,不会误伤。

找僵尸用户,靠的是 Report Log,不是 Debug Log。


方法工具/命令能发现什么
实时查看lmstat -a当前谁在占用、占用了多久
日志分析解析 Report Log历史占用时长、非工作时间占用、长期僵尸
自动化工具FlexNet Manager / 第三方工具报表化展示,省去手动分析

一句建议:先把 Report Log 开起来,跑一个月,导出数据看看。 你会发现有些许可证被同一个人占了几百个小时,但这个人可能只在上班时间出现过几次。数据摆出来,该回收的回收,该配 TIMEOUT 的配 TIMEOUT,许可证利用率自然就上去了。


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空