LiteFlow LiteFlow
首页
  • v2.16.1 (当前版本)
  • What's New

    • What' s New In LiteFlow v2.16.1?
    • What' s New In LiteFlow v2.16.0?
  • 历史版本

    • v2.15.X
    • v2.13.X
    • v2.12.X
    • v2.11.X
    • v2.10.X
    • v2.9.X
    • v2.8.X
  • 升级指南

    • 2.13.0升级指南
    • 2.12.4升级指南
    • 2.12.0升级指南
    • 升级到2.9.3说明
    • 升级到2.9.X说明
    • 升级到2.8.X说明
    • 升级到2.7.X说明
AI Agent
AI Skill
IDEA 插件
  • 答疑解惑

    • 常见问题
    • 如何理解上下文这个概念?
    • Slot是一个什么样的概念?
  • 项目与社区

    • 项目介绍
    • 项目成员
    • 更新记录
    • 参与开发
    • 加入群聊
    • 谁在使用
赞助
GitHub (opens new window)

广告采用随机轮播方式显示 ❤️成为赞助商
首页
  • v2.16.1 (当前版本)
  • What's New

    • What' s New In LiteFlow v2.16.1?
    • What' s New In LiteFlow v2.16.0?
  • 历史版本

    • v2.15.X
    • v2.13.X
    • v2.12.X
    • v2.11.X
    • v2.10.X
    • v2.9.X
    • v2.8.X
  • 升级指南

    • 2.13.0升级指南
    • 2.12.4升级指南
    • 2.12.0升级指南
    • 升级到2.9.3说明
    • 升级到2.9.X说明
    • 升级到2.8.X说明
    • 升级到2.7.X说明
AI Agent
AI Skill
IDEA 插件
  • 答疑解惑

    • 常见问题
    • 如何理解上下文这个概念?
    • Slot是一个什么样的概念?
  • 项目与社区

    • 项目介绍
    • 项目成员
    • 更新记录
    • 参与开发
    • 加入群聊
    • 谁在使用
赞助
GitHub (opens new window)
  • 🍤LiteFlow简介
  • 🍓项目特性
  • 🧁环境支持

    • ☕️JDK支持度
    • 🌿Springboot支持度
    • 🌱Spring的支持度
  • 🍟快速开始(Hello world)

    • 🍄说明
    • 🌿Springboot场景安装运行
    • 🌱Spring场景安装运行
    • 🍩Solon场景安装运行
    • 🌵其他场景安装运行
  • 🍢配置项

    • 🍄说明
    • 🌿Springboot下的配置项
    • 🌱Spring下的配置项
    • 🍩Solon下的配置项
    • 🌵其他场景代码设置配置项
  • 🔗组件

    • 🛍继承式组件

      • 📎普通组件
      • ✂️选择组件
      • ⛓布尔组件
      • 🧬次数循环组件
      • ⌛️迭代循环组件
      • 🏄LiteflowComponent
      • 🛀组件内方法覆盖和调用
    • 🎁声明式组件

      • 🥭什么叫声明式组件
      • 🧅类级别式声明
      • 🥥方法级别式声明
  • 🧩EL规则

    • 🍄说明
    • 🌴串行编排
    • 🎋并行编排
    • 🌾选择编排
    • 🌵条件编排
    • 🌳循环编排
    • 🥦异步循环模式
    • 🎃捕获异常表达式
    • 🍄与或非表达式
    • 🍁使用子流程
    • 🍂使用子变量
    • 💐复杂编排例子
    • 🍒前置和后置编排
    • 🍉组件参数语法

      • 说明
      • tag语法
      • data语法
      • bind语法
    • 🫐重试语法
    • ⏱️超时控制语法
    • 🥯链路继承
    • 🔆验证规则
    • 🌰关于注释
    • 🌻关于分号
    • 🐚组件名包装
  • 🌮上下文

    • 🍄说明
    • 🌯数据上下文的定义和使用
    • 🪶用初始化好的上下文传入
    • 🥨给上下文设置别名
    • 🥙上下文参数注入
    • 🪴用表达式获取上下文参数
  • 🛩执行器

    • 🍄说明
    • 🎡执行方法
    • 🎢流程入参
    • 🎈LiteflowResponse对象
    • 🪃直接执行EL规则
  • 🍋脚本组件

    • 🌭脚本语言介绍
    • 🍫脚本语言种类

      • ☕️Java脚本引擎
      • 🥏Groovy脚本引擎
      • 🧀Javascript脚本引擎
      • 🥞QLExpress脚本引擎
      • 🍧Python脚本引擎
      • 🍝Lua脚本引擎
      • 🥐Aviator脚本引擎
      • 🥠Kotlin脚本引擎
    • 🍣脚本与Java进行交互
    • 🍱多脚本语言混合共存
    • 🌯文件脚本的定义
    • 🍘动态刷新脚本
    • 🍦验证脚本
    • 🗑卸载脚本
  • 🗂规则配置源

    • 📕本地规则文件配置
    • 📘SQL数据库配置源(旧)
    • 📗ZK规则文件配置源(旧)
    • 📋Nacos配置源(旧)
    • 🗄Etcd配置源(旧)
    • 📜Apollo配置源(旧)
    • 📑Redis配置源(旧)

      • 配置说明
      • 轮询模式配置
      • 订阅模式配置
    • 📙自定义配置源
  • 🏦Rule-DB模式

    • 🏦Rule-DB是什么
    • 🐬快速开始(SQL)
    • 🐘快速开始(PostgreSQL)
    • 🍃快速开始(MongoDB)
    • 📕快速开始(Redis)
    • 📗快速开始(ZooKeeper)
    • 🗄快速开始(Etcd)
    • 📋快速开始(Nacos)
    • 🍢配置项参考
    • 🗃存储结构参考
    • 📤发布API与写入规范
    • ⚖️一致性与收敛模型
    • 🪁内存与性能
    • 🔭可观测性与降级
    • 🚧限制与迁移
  • 🍼元数据管理

    • ⛰元数据操作器
    • 🍖平滑热刷新
    • 🍮启动不检查规则
    • 🥨启动不检查脚本
  • 🌌异步中的线程池

    • 💧说明
    • 🐋FlowExecutor层面的线程池
    • 🐠组件异步层面的线程池
    • 🪶虚拟线程
  • 🎲动态构造

    • 🍄说明
    • 🥜构造Node
    • 🌰构造EL
    • 🍞构造Chain
  • 🧮决策路由

    • 🏖概念以及介绍
    • 🍽决策路由用法
  • 😸生命周期

    • 🐮启动时生命周期
    • 🐳执行时生命周期
  • 🎨高级特性

    • 🍌本地规则文件监听
    • 🥠组件降级
    • 🍑组件别名
    • 🥝组件事件回调
    • 🐋组件回滚
    • 🥑隐式子流程
    • 🫐活跃规则保活策略
    • 🍕私有投递
    • 🍪组件切面
    • 🍡步骤信息
    • 🧊异常
    • 🧇打印信息详解
    • 🧁自定义请求Id
    • 🫕快速解析模式
    • 🌭不同格式规则加载
    • 🍿自定义组件执行器
    • 🍥简单监控
    • 🧉XML的DTD
  • 📈指标监控

    • 📈指标监控概述
    • 🚀快速接入
      • Step 1:让应用产出指标
      • Step 2:打开端点,确认指标已经在吐
      • Step 3:一键起 Prometheus + Grafana
      • Step 4:确认 Prometheus 抓到了你的应用
      • Step 5:打开 Grafana 看板
      • Step 6:打点流量,看曲线动起来
      • 快速核对清单
      • 非 Spring / Solon 项目
    • 📋指标目录
    • 🔌Actuator端点说明
    • 📐分位与直方图
    • 🔍常用PromQL与告警
    • ⚡性能影响与基数控制
  • ⛱测试用例以及示例

    • 🪁测试用例
    • 🪀DEMO案例
  • 🪂性能表现
  • v2.16.X文档
  • 📈指标监控
铂赛东
2026-07-25
目录

🚀快速接入

版本支持:v2.16.1+

下面六步,跑完你就能在 Grafana 看到 LiteFlow 的实时曲线。

# Step 1:让应用产出指标

除了 LiteFlow starter,再加 spring-boot-starter-actuator(提供 HTTP 出口)和一个具体的 registry(这里用 Prometheus 的):

<!-- 1) LiteFlow starter(已含 liteflow-metrics) -->
<dependency>
    <groupId>com.yomahub</groupId>
    <artifactId>liteflow-spring-boot-starter</artifactId>
    <version>2.16.1</version>
</dependency>
<!-- 2) Actuator:提供 /actuator/* 端点 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- 3) Prometheus registry:指标按 Prometheus 格式吐出 -->
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

Gradle 写法:

implementation 'com.yomahub:liteflow-spring-boot-starter:2.16.1'
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'io.micrometer:micrometer-registry-prometheus'

Spring Boot 4 项目把第 1 个换成 liteflow-spring-boot4-starter 即可,其余依赖完全一致。

提示

liteflow-metrics 把 micrometer-core、spring-boot-actuator* 都标记为 optional,不污染你的依赖树;你引入哪个 registry,LiteFlow 就把指标写到哪个 registry。没有引入任何 registry 就不会有任何指标行为。

# Step 2:打开端点,确认指标已经在吐

加一行配置,把要用的端点对 HTTP 开放(默认只开放 health,其余都不暴露):

management.endpoints.web.exposure.include=liteflow,prometheus

启动应用,验证出口已通(默认端口 8080,按你的 server.port 改):

curl http://localhost:8080/actuator/prometheus | grep liteflow_

只要看到 liteflow_... 开头的行,就说明指标已经在产生并暴露了。此时还没有任何图——因为没人来抓、没人来画。

看不到 liteflow_ 行?大概率是端点没暴露(返回 404)或还没跑过任何 chain,排查见开关与端点暴露。

# Step 3:一键起 Prometheus + Grafana

LiteFlow 源码仓库的 docs/metrics-integration/ 目录备好了一份开箱即用的配置。把它拷到你机器上任意位置,进入该目录执行:

docker compose up -d

这会起两个容器:

  • Prometheus(http://localhost:9090):已配置好,每 5 秒抓一次你的应用
  • Grafana(http://localhost:3000):已自动挂好 Prometheus 数据源、并自动导入名为「LiteFlow 概览」的仪表盘(已开匿名访问,免登录)

集成资产清单:

文件 作用
docker-compose.yml 一键起 Prometheus + Grafana 两个容器
prometheus.yml 抓取配置(改 targets 指向你的应用)
grafana/provisioning/datasources/datasource.yml 启动时自动挂好 Prometheus 数据源
grafana/provisioning/dashboards/dashboards.yml 启动时自动导入仪表盘的 provider 配置
grafana/dashboards/liteflow-dashboard.json 「LiteFlow 概览」仪表盘本体(也可单独导入已有 Grafana)
README.md 该目录的独立使用说明

这套配置为演示用

匿名访问、弱口令、5s 抓取间隔,请勿直接用于生产。生产请自行加固认证、调整抓取间隔、并按性能影响与基数控制评估基数。

# Step 4:确认 Prometheus 抓到了你的应用

抓取目标默认是 host.docker.internal:8080(容器内访问"宿主机上的应用"的写法,Mac/Windows/Linux 都已适配)。

  • 如果你的应用不在 8080,编辑 prometheus.yml 里的 targets 改成你的 host:port,然后 docker compose restart prometheus。
  • 打开 http://localhost:9090/targets ,看到 liteflow-app 这个 target 状态为 UP 就对了。

# Step 5:打开 Grafana 看板

浏览器开 http://localhost:3000 ,左侧 Dashboards 里点开「LiteFlow 概览」。

这块板自带 6 个面板:Chain QPS、Chain 平均耗时、Chain 错误率、Chain 在途执行数、Node 平均耗时、Slot 占用 vs 容量。顶部还有个 chain 下拉,可只看某条链路。

# Step 6:打点流量,看曲线动起来

调用几次你的业务接口(让 chain 真正执行),等几秒钟(抓取间隔 + Grafana 刷新),面板上的曲线就会动起来。到这里整条链路就跑通了:

你的接口被调用 → chain 执行、LiteFlow 记录指标 → /actuator/prometheus 暴露
   → Prometheus 抓走 → Grafana 查询 → 你看到的曲线

# 快速核对清单

  • [ ] 已引入 liteflow-spring-boot-starter(或 Boot4 版)+ spring-boot-starter-actuator + 一个 registry
  • [ ] management.endpoints.web.exposure.include 包含 liteflow,prometheus
  • [ ] curl /actuator/prometheus | grep liteflow_ 能看到 liteflow_ 开头的行
  • [ ] docs/metrics-integration/ 下 docker compose up -d 起好 Prometheus + Grafana
  • [ ] Prometheus /targets 里 liteflow-app 状态为 UP
  • [ ] Grafana「LiteFlow 概览」仪表盘打点流量后曲线有变化
  • [ ] (可选)开启直方图以支持 P95 / P99,见分位与直方图

# 非 Spring / Solon 项目

liteflow-metrics 本身框架无关,但钩子不会被自动发现。

在 Spring / Solon 下,ChainMetricsLifeCycle / NodeMetricsLifeCycle 是作为 LifeCycle 类型的 Bean 被框架扫描后注册进 LifeCycleHolder 的;非 Spring 环境没有这个扫描过程,也没有 SPI 自动加载,只 new 出实例不会产生任何指标。

你需要显式引入 liteflow-metrics,然后手动完成两步注册:

MeterRegistry registry = ...;   // 你自己的 MeterRegistry(如 PrometheusMeterRegistry)
LiteflowConfig config = ...;    // 你的 LiteflowConfig

// 1. 把两个执行钩子注册进 LiteFlow,否则它们永远不会被回调
LifeCycleHolder.addLifeCycle(new ChainMetricsLifeCycle(registry));
LifeCycleHolder.addLifeCycle(new NodeMetricsLifeCycle(registry));

// 2. 注册表 / slot 池的 Gauge 需要手动 bindTo
new LiteflowMeterBinder(config).bindTo(registry);

完成后,chain / node 指标与全局 Gauge 都会写入你的 registry。结构端点 /actuator/liteflow 是 Spring Actuator 的能力,在非 Spring 环境不可用,但指标依然照常采集。

帮助我们改善此文档 (opens new window)
📈指标监控概述
📋指标目录

← 📈指标监控概述 📋指标目录→

Theme by Vdoing | Copyright © 2020-2026 铂赛东 | MIT License
沪ICP备18012955号-2