概览仪表盘

概览仪表盘回答“这个应用现在健康吗”。它把应用级指标(metrics/overview)、维度统计(stats/dimensions)、连接峰值(connections/stats)与全局统计(/stats、/stats/trend)组合成一张看板;数据按 UTC 自然日聚合,是运营级近似值,不是计费账单。

概念​

指标来源口径
用户数 / 群组数 / 聊天室数 / 消息数 / 在线数GET /api/admin/apps/{appkey}/metrics/overview当前应用的内存态计数;聊天室为活跃房间数。
DAU同上 today.dau / trend[].dau当日活跃去重用户;单应用单日上限 10000 条去重记录。
消息量messagesToday / trend[].messages落盘消息计数;聊天室消息不落盘,单独统计为 0。
在线峰值onlinePeakToday当日在线用户数峰值,来自连接维护周期采样。
错误率errorRateerrors / (messages + errors) 的 0–1 比例,演示级近似。
全局对比GET /api/admin/stats、/stats/trend?days=7跨应用汇总;appkey 可选。
  • 趋势默认 7 天,trend?days 支持 1–90;日期键为 UTC YYYY-MM-DD。
  • 维度统计额外返回群组数、群消息量、聊天室数、聊天室消息量与 notes;聊天室消息固定为 0 并标注原因。
  • 指标来自内存聚合,进程重启后当日累计从快照恢复;不做跨实例聚合。
看板不是账单

自托管版没有计费口径。这里的“消息量”是落盘消息条数(含系统通知、群消息),不等于 Open API 调用次数,也不按推送/长连接重复计费。

前置条件​

  • 服务端已启动(默认 http://127.0.0.1:8080),控制台入口 http://127.0.0.1:8080/console/#stats(tab #stats:统计)。
  • 请求头 X-Admin-Secret 与服务端 IM_ADMIN_SECRET 一致(本地默认 dev-admin)。
  • 已在控制台选中应用;带 {appkey} 的接口都按应用隔离。
  • 自托管版无购买、计费、套餐、续费与发票流程(不适用项);本页只覆盖配置、查询与治理接口。

步骤​

  1. 先看应用级概览

    确认 today 的 DAU、消息量、在线峰值与错误率;错误率明显抬升时优先查告警事件与回调失败。

  2. 对比 7 天趋势

    用 days 调整窗口,观察消息量与在线峰值是否同步变化;只掉在线不掉消息,通常是客户端连接问题。

  3. 下钻维度

    打开 stats/dimensions,区分群消息与聊天室消息;聊天室消息为 0 属预期。

  4. 与全局看板对照
    /api/admin/stats 给出跨应用汇总;单应用异常但全局正常时,问题通常在该应用的配置或密钥。

参数表​

操作方法与路径参数
应用概览GET /api/admin/apps/{appkey}/metrics/overview—(today + days 两段)
维度统计GET /api/admin/apps/{appkey}/stats/dimensionsdays(1–90,默认 7)
连接统计GET /api/admin/apps/{appkey}/connections/stats—(onlineUsers/sessions/peakToday)
全局统计GET /api/admin/stats—
全局趋势GET /api/admin/stats/trenddays(1–90)、appkey(可选)

示例​

应用概览 + 7 天趋势​

Shell
curl -sS -X GET "http://127.0.0.1:8080/api/admin/apps/demo/metrics/overview" \
  -H 'X-Admin-Secret: dev-admin'

curl -sS -X GET "http://127.0.0.1:8080/api/admin/apps/demo/stats/dimensions?days=7" \
  -H 'X-Admin-Secret: dev-admin'

全局对比​

Shell
curl -sS -X GET "http://127.0.0.1:8080/api/admin/stats" \
  -H 'X-Admin-Secret: dev-admin'

curl -sS -X GET "http://127.0.0.1:8080/api/admin/stats/trend?days=7" \
  -H 'X-Admin-Secret: dev-admin'

curl -sS -X GET "http://127.0.0.1:8080/api/admin/apps/demo/connections/stats" \
  -H 'X-Admin-Secret: dev-admin'

常见问题​

为什么聊天室消息量恒为 0?​

聊天室消息是 ephemeral 广播,不落盘;维度统计如实返回 0 并在 notes 标注,不是采集失败。

DAU 与“在线数”有什么区别?​

DAU 是当日出现过活动(登录/收发消息)的去重用户;在线数是当前仍有 WS 会话的用户。

错误率为什么不是百分比?​

errorRate 返回 0–1 的比例,前端负责乘以 100;分母是消息数 + 错误数。

重启后当日数据会清零吗?​

不会。统计随服务端快照持久化;但演示级实现不做跨实例合并,多实例部署时各实例只统计自己处理的部分。

趋势日期为什么和本地日期差一天?​

日期键按 UTC 划分;东八区凌晨 0–8 点会落到前一个 UTC 日期。

相关链接​