Tianji:网站分析 + 可用性监控 + 服务器状态的一体化洞察平台
Tianji 是 msgbyte 开源的 All-in-One 洞察中心,把网站分析(PV/UV、页面访问量)、Uptime 可用性监控、服务器状态、问题通知、遥测等常见需求整合到一个轻量项目中,采用 Apache 2.0 协议,可通过 Docker Compose 一键启动,默认访问地址为 http://localhost:12345。
社区作者 · zZz
它解决什么问题
项目定位
Tianji 自称「All-in-One Insight Hub」,核心公式是:网站分析 + 可用性监控 + 服务器状态 = Tianji。它希望把通常需要多个应用配合完成的工作整合进同一个项目。
解决的问题(Motivation)
作者在观察网站时发现,通常需要同时使用多款应用:用 GA / umami 之类的分析工具查看 PV/UV 与各页面访问量;用 uptime 监控检查服务器的网络质量与连通性;用 prometheus 获取服务器上报的状态以判断服务器质量;如果开发的是允许开源部署的应用,还常常需要一套遥测(telemetry)系统来收集他人部署情况的最简单信息。作者认为这些工具的服务目标是一致的,而大多数用户只是轻量需求,并不需要非常专业深入的功能,因此一个一体化应用会更方便、更易用。
功能与路线图(Roadmap)
来源列出的路线图条目包括:
- website analysis(网站分析)
- monitor(监控)
- support passive reception of results(支持被动接收结果)
- server status(服务器状态)
- problem notification(问题通知)
- telemetry(遥测)
- openapi
- website(官网)
- team collaboration(团队协作)
- utm track
- waitlist
- survey、survey page(问卷与问卷页面)
- lighthouse report(Lighthouse 报告)
- hooks
helm install support(支持 Helm 安装)
- allow install from public
- improve monitor reporter usage
- uninstall guide(卸载指南)
- download from server(从服务器下载)
- custom params guide(自定义参数指南)
界面预览
来源提供多张预览图,对应本页输入的配图 1 至配图 7(配图 1 为项目 logo,配图 2 至配图 7 为界面预览)。
许可证与灵感来源
Tianji 以 Apache 2.0 许可证开源。其灵感来自采用 MIT 许可证的 umami 和同样采用 MIT 许可证的 uptime-kuma。
部署方式
页面提供 Docker Compose 与「一键部署」按钮(涉及 Hostinger、Sealos、RepoCloud、Render、ClawCloud 等平台,见配图 8 至配图 12)。
适用对象
有轻量一体化监控需求的个人开发者与团队:既想看网站访问数据,又想监控站点可用性和服务器状态,并希望以自托管方式统一管理,而不想分别部署 GA/umami、uptime 监控与 prometheus 等多套服务。
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
一、Docker Compose 方式(推荐快速启动)
- 获取仓库代码,进入仓库根目录(Compose 栈文件包含在仓库中)。
- 在仓库根目录执行:
docker compose up -d- 该命令会同时启动 tianji 应用及其 postgres 数据库。
- 启动完成后,应用默认可通过 http://localhost:12345 访问。
二、本地源码开发的环境准备
- 在启动 dev server 之前,先创建服务端环境文件:
cp .env.example src/server/.envDATABASE_URL = "postgresql://tianji:tianji@localhost:5432/tianji?schema=public"
- 至少需要配置 DATABASE_URL,填写服务端使用的 PostgreSQL 连接串,例如:
三、翻译相关流程(可选,仅在做多语言时使用)
- 新增翻译需要先修改以下文件:
- src/client/i18next-toolkit.config.cjs:在此文件中编辑国家代码(country code)。
- src/client/utils/i18n.ts:在此文件中添加用于展示的内容。
- 然后运行以下命令自动生成:
cd src/clientpnpm installpnpm run translation:extractpnpm run translation:translate注意:translation:translate 会调用 ChatGPT 执行自动翻译,因此必须设置环境变量 OPENAPI_KEY 才能正确运行(OPENAPI_KEY 仅在该自动翻译命令中需要)。
- 之后在 src/client/public/locales 中人工检查翻译文件。
- 改进翻译时,直接更新 src/client/public/locales 即可。
四、其他部署途径 页面提供 One-Click Deployment 一键部署入口,涉及 Hostinger、Sealos、RepoCloud、Render、ClawCloud 等平台的部署按钮(见配图 8 至配图 12),具体参数需按对应平台页面填写。