在构建和维护网站或在线服务时,为了全面掌握运行状况,开发者通常需要部署多个独立的监控工具,例如使用Google Analytics分析网站流量,用Uptime Kuma监控服务可用性,再配合Prometheus来观察服务器资源状态。这种多工具并行的方案不仅占用服务器资源,管理界面也分散,增加了运维复杂度。
近期,一款名为Tianji(天机)的开源项目在GitHub上引起了关注。它将网站分析、服务监控、服务器状态追踪等多种功能集成于一个应用之中,为轻量级监控需求提供了一个高效的一站式解决方案。

相较于分别部署多个专业工具,Tianji提供了一个统一的管理面板和数据仪表盘。这不仅有助于节省系统资源,更能让运维人员在一个界面上集中获取所有关键信息,显著提升监控效率。
Tianji项目简介

Tianji是一款采用现代化技术栈开发的All-in-One洞察工具,其核心代码主要由TypeScript编写。项目旨在整合网站分析、服务可用性监控、服务器状态监控等常见需求,通过统一的可视化界面进行展示。其设计理念是为中小型项目或个人开发者提供便捷、集成的监控方案,避免因追求功能全面而陷入部署和维护多个独立工具的困境。
项目开源数据
- Star数:在GitHub上已获得超过2.9K Star,处于快速增长阶段。
- 主开发语言:TypeScript占比97.9%,确保了代码的现代性和可维护性。
- 贡献者:拥有15位核心开发者参与项目共建。
- 活跃度:项目保持持续更新,已发布超过245个版本。
- 开源协议:采用宽松的Apache 2.0许可证。
核心功能详解

-
网站分析:提供隐私友好的轻量级网站流量分析,可替代Google Analytics或Umami。功能包括页面浏览量(PV)、独立访客(UV)、访问来源统计等。
// 在网站HTML中嵌入追踪脚本
<script async defer src="https://your-tianji.com/tracker.js" data-website-id="your-website-id"></script>
-
服务监控:支持对网站、API接口进行定时健康检查,监控方式涵盖HTTP/HTTPS、TCP端口、Ping等,并支持被动接收监控报告。
-
服务器状态监控:实时展示被监控服务器的CPU使用率、内存占用、磁盘空间及网络流量等指标,支持多台服务器集中管理,相比Prometheus更为轻量化。
# 在目标服务器上安装数据上报客户端
curl -o reporter.sh https://tianji.yourdomain.com/api/reporter/install.sh
bash reporter.sh
-
告警通知:当监测到服务异常或服务器指标超阈值时,可通过邮件、Webhook、Telegram等多种渠道发送即时告警。
-
应用遥测:为开源软件开发者提供部署实例的基本信息收集功能,用于了解用户安装概况,不涉及隐私数据。
-
UTM与候补名单:支持UTM参数追踪以分析营销活动效果,并内置Waitlist功能,便于产品发布前收集潜在用户信息。
-
在线调查:可创建简易的在线问卷并生成独立页面,用于收集用户反馈,数据统一在Tianji后台管理。
-
Lighthouse集成:自动调用Google Lighthouse对网站进行性能、SEO、无障碍访问等维度的审计并生成报告。
-
OpenAPI支持:提供完整的RESTful API接口,便于与其他系统进行集成,实现自动化运维或数据导出。
-
团队协作:支持多用户与团队功能,可配置不同级别的操作权限,适合团队协作使用。
安装与部署指南
1. Docker部署(推荐方式)
通过Docker可以快速完成本地部署。
# 使用docker-compose一键启动
git clone https://github.com/msgbyte/tianji.git
cd tianji
docker-compose up -d
启动后,通过浏览器访问 http://localhost:12345 即可进入管理界面。
2. 云平台一键部署
Tianji也支持在多个云平台上快速部署:
- Sealos:支持直接在云端启动,无需手动配置服务器。
- Render:适合海外用户,提供免费套餐选项。
- RepoCloud / Hostinger VPS:均支持一键式Docker部署方案。
如需直接运行Docker容器,可使用以下命令:
docker run -d \
--name tianji \
-p 12345:12345 \
-v ./data:/app/data \
ghcr.io/msgbyte/tianji:latest
3. 环境变量配置
创建 .env 文件以配置数据库连接等参数(使用SQLite可跳过):
# 数据库配置(示例为PostgreSQL)
DATABASE_URL=postgresql://user:password@localhost:5432/tianji
# Tianji服务的公开访问地址
PUBLIC_URL=https://tianji.yourdomain.com
# ClickHouse配置(用于增强分析功能,可选)
CLICKHOUSE_HOST=localhost
CLICKHOUSE_PORT=8123
4. 安装服务器监控客户端
在需要被监控的服务器上,运行以下命令安装Reporter客户端:
curl -o reporter-install.sh https://tianji.yourdomain.com/api/reporter/install.sh
bash reporter-install.sh
运行脚本后,根据提示输入Tianji服务地址和对应的工作区ID即可完成绑定。
5. 初始化设置
- 访问Tianji后台,创建管理员账户。
- 初始化一个工作区,用于管理后续的所有监控项目。
- 在“网站分析”模块中添加网站,获取追踪代码并嵌入到待监控的网站中。
- 在“服务监控”模块中配置需要定时检查的URL或服务端点。
- 确保已在目标服务器安装Reporter客户端,以便在“服务器状态”中查看指标。
功能界面预览



项目开源地址:https://github.com/msgbyte/tianji
|