找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

975

积分

0

好友

139

主题
发表于 前天 13:53 | 查看: 5| 回复: 0

在构建和维护网站或在线服务时,为了全面掌握运行状况,开发者通常需要部署多个独立的监控工具,例如使用Google Analytics分析网站流量,用Uptime Kuma监控服务可用性,再配合Prometheus来观察服务器资源状态。这种多工具并行的方案不仅占用服务器资源,管理界面也分散,增加了运维复杂度。

近期,一款名为Tianji(天机)的开源项目在GitHub上引起了关注。它将网站分析、服务监控、服务器状态追踪等多种功能集成于一个应用之中,为轻量级监控需求提供了一个高效的一站式解决方案。

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

Tianji项目简介

Tianji架构示意图
Tianji是一款采用现代化技术栈开发的All-in-One洞察工具,其核心代码主要由TypeScript编写。项目旨在整合网站分析、服务可用性监控、服务器状态监控等常见需求,通过统一的可视化界面进行展示。其设计理念是为中小型项目或个人开发者提供便捷、集成的监控方案,避免因追求功能全面而陷入部署和维护多个独立工具的困境。

项目开源数据

  • Star数:在GitHub上已获得超过2.9K Star,处于快速增长阶段。
  • 主开发语言:TypeScript占比97.9%,确保了代码的现代性和可维护性。
  • 贡献者:拥有15位核心开发者参与项目共建。
  • 活跃度:项目保持持续更新,已发布超过245个版本。
  • 开源协议:采用宽松的Apache 2.0许可证。

核心功能详解

Tianji功能模块图

  • 网站分析:提供隐私友好的轻量级网站流量分析,可替代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客户端,以便在“服务器状态”中查看指标。

功能界面预览

Tianji仪表盘界面
网站分析数据详情
服务器状态监控视图

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




上一篇:KVM与VirtIO深度解析:Linux虚拟化中QEMU性能优化的核心技术
下一篇:.NET网络协议组件Mozi:集成HTTP、RTSP与CoAP,赋能工业软件与边缘计算
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-17 18:07 , Processed in 0.110508 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表