Skip to content
SOFALookout is a light-weight monitoring and analysis tool
Java Other
  1. Java 99.8%
  2. Other 0.2%
Branch: master
Clone or download
luyiisme and taobaorun refactor use native logic (#71)
* add release support

* add the expr context to the querystmt context

* refactor usenative codes
Latest commit ce00bb0 Jun 20, 2019

README.md

SOFALookout

Build Status Coverage Status license maven

English Document

访问 WIKI 查看完整的文档使用指南。

SOFALookout(已开源部分)是一个利用多维度的 metrics 对目标系统进行度量和监控的项目。SOFALookout 的多维度 metrics 参考Metrics2.0 标准

+----------------+
| Lookout Client +----+
+----------------+    |
+----------------+    |
| Prometheus SDK +----+  +-------------------+   +------------+  +------------------+  +-----------+
+----------------+    +-->  Lookout Gateway  +--->  DB(ES/...)<--+  Lookout Server  <--+  Grafana  |
+----------------+    |  +-------------------+   +------------+  +------------------+  +-----------+
|   Metricbeat   +----+
+----------------+    |
+----------------+    |
|       ...      +----+
+----------------+

SOFALookout 项目分为客户端部分与服务器端部分:

  • 客户端是一个 Java 的类库,可以将它植入您的应用代码中采集 metrics 信息,客户端更多详情
  • 服务端代码(Metrics)部分,对 Metrics 数据进行收集、加工、存储和查询等处理,另外结合 grafana,可做数据可视化展示。

相较于常用的监控方案:

  • 多维度的 metrics, 在传统的 metrics 的 name 基础上,又加上了一组 tags 的集合;因此相较于 Dropwizard, Spring Boot 的 actuator 等而言可以提供更丰富的 tags 维度方便监控分析;
  • 相比于通过收集、加工应用系统产生的日志进行监控分析的方案,metrics 会显得更轻量,对系统资源的消耗也比较固定,不会随着业务量增加而增加;
  • SOFALookout 除了对自身的 Java SDK 客户端采集源支持,还支持业界主流的采集 Agent 的数据汇报;
  • 采集源可以通过配置文件或者服务发现机制找到 SOFALookout 的采集服务;
  • SOFA 的体系中产品都会默认集成了 SOFALookout SDK 进行状态度量;

我们在分布式场景已经积累了一定的经验,但也处于探索的过程中。开源 SOFALookout 项目,我们是希望以更开放方式来合作确保该项目向正确的方向持续演化。后续我们可能也会开源更多的解决海量数据的配套设施。

下一步

会持续开源 tracing,eventing 功能。

编译

  • 代码编译: 至少Maven 3.2.5+, JDK Version 8+;
  • all-in-one 启动模块编译: ./boot/all-ine-one-bootstrap/build.sh, 打包结果在boot/all-in-one-bootstrap/target/xxx-executable-ark.jar

致谢

Lookout 的 promQL 相关解析逻辑是从 Prometheus 移植而来,做了一些优化和改进, 感谢 Prometheus 开源了如此易用和强大的 golang 版本的 QL 实现

样例工程

样例工程演示了如何快速使用 SOFALookout,详细可参考

贡献

如何参与 SOFALookout 代码贡献

开源许可

SOFALookout 基于 Apache License 2.0 协议,SOFALookout 依赖了一些三方组件,它们的开源协议参见依赖组件版权说明

You can’t perform that action at this time.