搬瓦工部署 GlitchTip 错误监控平台教程

GlitchTip 是一款轻量级的开源错误追踪平台,可以视为 Sentry 的简化替代品。它兼容 Sentry 的 SDK 协议,这意味着你可以直接使用 Sentry 的各语言 SDK 将错误数据发送到 GlitchTip。相比自托管 Sentry 需要 4GB+ 内存,GlitchTip 仅需 512MB 即可运行,非常适合在资源有限的 VPS 上部署。本文将介绍如何在搬瓦工 VPS 上部署 GlitchTip。部署前请确保已安装 Docker 和 Docker Compose

一、GlitchTip 与 Sentry 的对比

  • 资源需求:GlitchTip 约 512MB 内存,Sentry 需要 4GB+。
  • SDK 兼容:GlitchTip 兼容 Sentry SDK,无需专用客户端。
  • 功能范围:GlitchTip 聚焦错误追踪和运行时监控,Sentry 功能更全面。
  • 部署复杂度:GlitchTip 仅需 3-4 个容器,Sentry 需要 20+ 个。
  • 许可协议:GlitchTip 使用 MIT 协议,Sentry 使用 BSL 协议。

二、系统要求

  • 操作系统:Ubuntu 20.04+ 或 Debian 11+。
  • 内存:至少 512MB,推荐 1GB。
  • 磁盘:至少 5GB 可用空间。
  • Docker:已安装 Docker 和 Docker Compose。

搬瓦工入门方案即可运行 GlitchTip。购买时使用优惠码 NODESEEK2026 可享 6.77% 折扣,购买入口:bwh81.net

三、创建项目目录

mkdir -p /opt/glitchtip && cd /opt/glitchtip

四、创建环境变量文件

cat > /opt/glitchtip/.env <<'EOF'
DATABASE_URL=postgresql://glitchtip:your_db_password@glitchtip-db:5432/glitchtip
SECRET_KEY=your_secret_key_here
PORT=8000
EMAIL_URL=smtp://user:password@smtp.example.com:587
DEFAULT_FROM_EMAIL=glitchtip@example.com
GLITCHTIP_DOMAIN=https://your_domain.com
ENABLE_OPEN_USER_REGISTRATION=true
CELERY_WORKER_AUTOSCALE=1,3
EOF

生成 SECRET_KEY:

openssl rand -hex 32

五、编写 Docker Compose 配置

cat > /opt/glitchtip/docker-compose.yml <<'EOF'
version: '3.8'

x-glitchtip-defaults: &glitchtip-defaults
  image: glitchtip/glitchtip:latest
  env_file: .env
  restart: always
  depends_on:
    - glitchtip-db
    - glitchtip-redis

services:
  glitchtip-db:
    image: postgres:15
    restart: always
    environment:
      POSTGRES_DB: glitchtip
      POSTGRES_USER: glitchtip
      POSTGRES_PASSWORD: your_db_password
    volumes:
      - glitchtip_db_data:/var/lib/postgresql/data

  glitchtip-redis:
    image: redis:7-alpine
    restart: always

  glitchtip-web:
    <<: *glitchtip-defaults
    ports:
      - "8000:8000"

  glitchtip-worker:
    <<: *glitchtip-defaults
    command: ./bin/run-celery-with-beat.sh

  glitchtip-migrate:
    <<: *glitchtip-defaults
    command: ./manage.py migrate
    restart: "no"

volumes:
  glitchtip_db_data:
EOF

六、启动服务

cd /opt/glitchtip

# 先执行数据库迁移
docker compose run --rm glitchtip-migrate

# 启动所有服务
docker compose up -d

访问 http://your_server_ip:8000,注册管理员账户。

七、创建项目并接入 SDK

登录 GlitchTip 后,创建组织和项目。系统会生成一个 DSN,格式如下:

http://your_key@your_domain.com/1

由于 GlitchTip 兼容 Sentry SDK,直接使用 Sentry SDK 即可:

# Python
import sentry_sdk
sentry_sdk.init(dsn="http://your_key@your_domain.com/1")

# JavaScript
import * as Sentry from "@sentry/browser";
Sentry.init({ dsn: "http://your_key@your_domain.com/1" });

八、配置反向代理

cat > /etc/nginx/sites-available/glitchtip <<'EOF'
server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
EOF

ln -s /etc/nginx/sites-available/glitchtip /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d your_domain.com

九、运行时监控

GlitchTip 除了错误追踪,还支持基本的运行时监控(Uptime Monitoring)。在项目设置中可以添加 HTTP 端点监控,GlitchTip 会定期检测目标 URL 的可用性并在故障时发送告警。

十、常见问题

注册页面显示错误

确保环境变量中 ENABLE_OPEN_USER_REGISTRATION 设置为 true。首位注册用户自动成为管理员。

邮件通知不工作

检查 EMAIL_URL 配置是否正确,可以在 Django admin 页面测试邮件发送功能。

总结

GlitchTip 是 Sentry 的最佳轻量替代品,资源消耗仅为 Sentry 的十分之一,且完全兼容 Sentry SDK。对于个人开发者和小团队来说,GlitchTip 是在 VPS 上自托管错误监控的理想选择。如果需要更全面的功能,参考 Sentry 自托管。选购搬瓦工 VPS 使用优惠码 NODESEEK2026 可享 6.77% 折扣。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。