惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
腾讯CDC
Jina AI
Jina AI
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
小众软件
小众软件
M
MIT News - Artificial intelligence
MyScale Blog
MyScale Blog
D
Docker
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
月光博客
月光博客
L
LangChain Blog
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky
C
Check Point Blog
U
Unit 42
人人都是产品经理
人人都是产品经理

V2EX

我用 AI 写代码,但终端管理反而成了累赘——于是我做了 codux [调研] 各位在公司都用什么 ide 和 agent 写代码? 老运维 share 一个运维平台 看到有公司考核 token 指标,很好奇大家上个月的 AI 账单是多少 GLM-Coding 调用持续报错: z.ai 的 Lite 套餐几乎无法使用,官方 Pro/Max 是否稳定? 现在还有什么渠道可以稳定安全地使用 Claude 吗? 上海漕河泾内推,本组有 2 个 hc,一个后端,一个前端,预算都是 20k 左右,不打卡,氛围好 如果 V2EX 上有一组不永久保存聊天记录(比如只保存 7 天或者 24 小时)的聊天室,那么会开启哪些有用或者有趣的可能? gemini cli 貌似挂了,一直返回 403 第一次在自媒体上赚到钱 收集了最近在使用的低价 GPT, Gemini,邮箱等 AI 会员的小店合集 讨论个大实话:现在企业还在说 AI 编程提效 20%, 30%的,真的太落后,没用懂 AI。因为包括很多前沿公司,已经狂奔到提效 200%-500%的情况 [招聘][远程][币安] 前端/后端/QA/iOS/Android 至少 3 年以上经验 目前有大量 HC 欢迎投递 Chatgpt Pro 用量用不完的可以开这些设置 面试的时候好像遇到钓鱼了,给各位避个坑 cursor 年续费 22 号到期, 自动续费是否还是老的计次套餐呢 被两件破事毁掉的一下午,琐碎的内耗消磨人的精力 使用 Planet 存储 Codex 的会话或者重要信息 如果业务部门领导不要你开发功能,而是要求你教会它用 claude code 开发功能,你会怎么做? 分享一个 MacOS 接绿联 CM818 USB 转 DP 转接器使用感受 我的 HR 朋友 10 年老 Java ,非全大专,大家帮忙看看简历 开源了一个 AI 口语练习工具,音素级发音评分,完全免费可自部署 V2EX 上有哪些你觉得很有趣、印象深刻的妹纸? 字节为啥不出个国内版 Vercel? 有在大马的朋友吗? 问个运营商问题 你们在有领导的公司大群发过的最大胆的消息是什么 公司裁员,目前没有工作。想试试摆摊,做一个移动鲜啤打酒车 我的硬盘 Memblaze Pblaze 5 Linux 下不识别,给 Linux 内核提交了补丁, AI 说有望被合并 只有我一个人觉得 codex 不好用?
推荐一款中小互联网、物联网企业、独立开发者极低成本的数据...
xueling · 2025-12-27 · via V2EX

推荐一款中小互联网、物联网企业、独立开发者极低成本的数据化运营神器,各类指标,分分钟搞定!

中小互联网企业、物联网企业、独立开发者想要监控线上业务或设备的运行指标,但苦于没有一个低成本的工具,今天就向大家推荐这一款软件神器:XL-LightHouse 。

它和市面上 BI 产品有比较大的差异,从技术方案上来说:BI 产品主要是通过 SQL 查询关系数据库、OLAP 等进行聚合运算获取数据指标,但 XL-LightHouse 不同,它是以"流式计算技术"为基础的指标获取工具。

那流式计算是什么东西呢?其实很容易理解,就是基于实时传入的数据流进行计算的技术,比如线上服务产生的各类日志、设备心跳包等都是典型的实时数据流,xl-lighthouse 就是基于这种实时的、源源不断的数据流进行计算的一款工具。

这个工具和 BI 产品相比,它有两个突出的优势就是:

  • 1 、接入和计算流程更加简便、灵活,不依赖业务表,这在很多针对线上日志、设备心跳的指标计算场景会非常便利,因为不需要创建数据库、数据表、不需要存储和维护数据就能实时计算出各种指标了。
  • 2 、它聚焦于解决繁杂业务场景下大批量数据指标的并行计算问题,可以用来计算各种各样的细粒度指标。

比如:app 的启动次数、每天的打开人数、app 启动耗时、某个页面打开次数、某个表单的提交人数、甚至某个按钮的点击次数、某个列表的点击率、某个接口的异常量和耗时情况、某个商品的点击加购次数等等。

总之就是:只要你有业务需要,XL-LightHouse 可以为你计算大批量的、各种各样的、零零散散的数据指标,这一点和 BI 产品区别比较大。BI 产品的计算逻辑是强依赖于业务表,对数据源要求比较苛刻,要计算某个指标必须要有相应的库表结构,而且字段还得比较工整、规范才可以。

很多企业买一套 BI 回来,可能发现它只能用分析订单表、商品表,但是如果你想看 app 启动、商品点击、搜藏、加购等相关指标数据就会有很大的局限性。而 xl-lighthouse 却可以遍布整个业务上下游链条,提供更全面的数据指标网络,这对于中小互联网企业、物联网类企业帮助非常大。

如何部署

这个项目支持单机版和大数据版,中小企业、独立开发者单机版本就足够了。

首先安装 docker 环境

这个网上搜索就行了,一大堆的资料,也可以参考这里: https://dtstep.com/docs/110156/

安装 xl-lighthouse

tar zxvf lighthouse-docker-x.x.x.tar.gz
  • 进入项目目录,执行部署命令
  cd lighthouse-docker-x.x.x/ #进入工程目录
  cd scripts  #进入脚本目录
  ./deploy.sh #执行部署命令,输入 yes 即可

另外:在 scripts/example 下有一个演示工程,直接启动就可以在 web 端看到系统内置的一个演示工程和演示数据了。

如何接入

它提供 http 和 java 版本的 api ,根据自己情况选择,整体使用流程非常非常简单,文档几乎都不用看,就明白怎么回事了。

主要是几步操作:

  • 创建统计工程、统计组

这个项目使用"统计工程-统计组-统计项"的三层结构管理所有数据指标,每个统计工程下可包含若干个数据指标,而基于同一份元数据的数据指标叫做一个统计组。 创建操作直接在 web 端就可以完成。

  • 创建统计项

统计项的创建是按照它内置的格式指定指标的计算逻辑,也非常简单,一看就明白了。

  • 数据接入

完成了以上创建之后,只要通过 http 或 java 上报原始消息既可以了,然后就能在 web 端查看数据指标的结果。

App 收款数据监控

下面通过一个小例子介绍它的整体使用。

比如我们 app 内有用户充值的操作,现在要计算 app 充值相关指标。

有这样几个需求:

+ 每 10 分钟 app 充值次数、充值人数、总充值金额
+ 每小时 app 充值次数、充值人数、总充值金额
+ 每天 app 充值次数、充值人数、总充值金额
+ 每天 app 内各充值渠道的充值次数、充值人数、总充值金额
+ 每天充值金额大于 100 元的充值次数和充值人数
  • 创建统计工程 XL-LightHouse

  • 创建统计组(也就是一个类似于表结构的配置信息) XL-LightHouse

  • 创建统计项

每个指标对应一个统计项,创建统计项遵循系统内置的 xl-formula 的配置格式。

XL-LightHouse XL-LightHouse

  • 然后通过 java 或 Http 进行数据接入就可以了
public class Test {

    public static void main(String[] args) throws Exception{
        LightHouse.init("10.206.6.27:4061");
        long t = System.currentTimeMillis();
        for(int i = 0;i<6032;i++){
            //修改统计组参数值、Token 和秘钥
            HashMap<String,Object> paramMap = new HashMap<>();
            paramMap.put("user_id", RandomID.id(6));
            paramMap.put("channel", RandomID.id(2));
            Double d = ThreadLocalRandom.current().nextDouble(1000);
            paramMap.put("amount",String.format("%.3f", d));//防止上面随机数出现科学计数法
            System.out.println("send message:" + JsonUtil.toJSONString(paramMap));
            LightHouse.stat("Dc7:recharge_stat","dpDLFgP20zTvKqWddqOgm9ktjQDvzDE9GSVZZtIn",paramMap,t);
        }
        System.out.println("send ok.");
    }
}
  • 页面查看数据指标 XL-LightHouse