首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Linux 系列从多节点的catalina 日志中统计设备调用频次

Linux 系列从多节点的catalina 日志中统计设备调用频次

作者头像
SmileNicky
发布2026-04-03 07:56:32
发布2026-04-03 07:56:32
1060
举报
文章被收录于专栏:Nicky's blogNicky's blog

Linux 系列从多节点的catalina 日志中统计设备调用频次

在日常后端服务运维、日志排查工作中,我们经常需要从海量日志里提取关键数据,比如统计某接口的设备调用频次。相比于写复杂脚本或借助可视化工具,一条精心组合的 Linux 命令就能快速实现需求。本文就以统计 /api/sync 接口的设备调用次数为例,拆解一条实用的日志分析命令,让你零基础也能看懂、会用。

一、业务场景与需求

我们的业务场景是:

  • 日志文件:catalina.out.2026-01-01(AGW服务的压缩日志)
  • 目标接口:/api/sync
  • 日志格式:包含 deviceCode:设备编号,xxx 字段
  • 需求:统计该接口下每个设备的调用总次数,并按次数升序排列

最终使用的完整命令:

代码语言:javascript
复制
grep "/api/sync" $(find ./ -type f -name catalina.out.2026-01-01|grep agw)|grep -oP 'deviceCode:\K[^,]+'|sort|uniq -c|sort -n

这条命令看似复杂,实则是多个基础命令的组合,下面逐段拆解原理。

二、命令逐段拆解(图文对照)

1. 第一步:定位目标日志文件
代码语言:javascript
复制
find ./ -type f -name catalina.out.2026-01-01|grep agw
  • find ./ -type f:在当前目录及子目录查找所有文件
  • -name catalina.out.2026-01-01:精准匹配指定日期的压缩日志
  • |grep agw:过滤出AGW服务对应的日志文件,避免匹配到无关文件

执行效果:快速锁定我们需要分析的日志路径,为后续读取做准备。

2. 第二步:筛选目标接口日志
代码语言:javascript
复制
grep "/api/sync" 【上一步找到的日志文件】
  • 读取定位到的压缩日志内容
  • 过滤出仅包含 /api/sync 接口的日志行,排除其他无关接口日志

执行效果:缩小数据范围,只保留我们关心的接口请求记录。

3. 第三步:精准提取设备编号deviceCode
代码语言:javascript
复制
grep -oP 'deviceCode:\K[^,]+'

这是整条命令的核心,用到了 grep 的高级正则能力:

  • -o:只输出匹配到的内容,而非整行
  • -P:启用Perl兼容正则表达式
  • deviceCode:\K[^,]+:匹配 deviceCode: 后的内容,直到逗号为止,直接提取设备编号

执行效果:剔除无关字段,只保留纯设备编码,无多余字符。

4. 第四步:统计设备调用次数
代码语言:javascript
复制
sort|uniq -c
  • sort:对提取出的设备编号排序,让相同设备编号连续排列
  • uniq -c:统计连续重复的设备编号,输出「次数+设备编号」

执行效果:完成去重与计数,得到每个设备的调用总量。

5. 第五步:按调用次数排序
代码语言:javascript
复制
sort -n
  • -n:按数字大小升序排列,调用次数少的在前,多的在后

执行效果:直观展示设备调用频次分布,快速定位高频/低频设备。

三、完整执行流程与结果示例

把所有命令组合后,终端输出效果如下:

代码语言:javascript
复制
      2 device001
      5 device003
     12 device007
     30 device009
  • 第一列:设备调用次数
  • 第二列:对应设备编号

我们可以快速看出:device009 调用30次最多,device001 仅调用2次,数据一目了然。

四、命令扩展与灵活适配

这条命令可以根据实际场景快速修改,适配更多日志分析需求:

  1. 更换接口:把 /api/sync 替换为 /api/user 即可统计用户接口
  2. 更换日期:修改日志文件名中的 2026-01-01 即可分析其他日期日志
  3. 降序排列:将末尾 sort -n 改为 sort -nr,调用多的设备优先展示
  4. 适配非压缩日志:直接去掉压缩相关逻辑,指定日志路径即可

五、总结

这条 Linux 组合命令,把 findgrepsortuniq 四个基础工具完美结合,无需编写脚本、无需安装额外工具,就能快速从海量日志中统计设备调用次数,非常适合运维人员、后端开发日常排查问题。

掌握这类命令组合思路,面对日志分析、数据统计类需求时,能大幅提升工作效率,告别手动翻日志的低效方式。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-04-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Linux 系列从多节点的catalina 日志中统计设备调用频次
    • 一、业务场景与需求
    • 二、命令逐段拆解(图文对照)
      • 1. 第一步:定位目标日志文件
      • 2. 第二步:筛选目标接口日志
      • 3. 第三步:精准提取设备编号deviceCode
      • 4. 第四步:统计设备调用次数
      • 5. 第五步:按调用次数排序
    • 三、完整执行流程与结果示例
    • 四、命令扩展与灵活适配
    • 五、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档