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

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

中小互联网企业、物联网企业、独立开发者想要监控线上业务或设备的运行指标,但苦于没有一个低成本的工具,今天就向大家推荐这一款软件神器: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
posted @ 2025-12-23 17:00  asmfeng  阅读(2)  评论(0)    收藏  举报