You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sentry 22.9.0版本数据正确清理方法及空间占用问题咨询

Sentry 22.9.0 自托管版本数据清理问题解决方案

1. 正确清理历史数据的步骤

针对sentry-self-hosted部署的容器命名规则变化,按以下步骤操作:

  • 确认Worker容器名称
    执行docker ps查看运行容器,Worker容器通常命名为sentry-self-hosted-worker-1(前缀由docker compose项目名决定,默认是sentry-self-hosted)。
  • 进入Worker容器执行清理命令
    进入容器:
    docker exec -it sentry-self-hosted-worker-1 bash
    
    运行清理命令指定保留天数(示例为7天):
    sentry cleanup --days 7
    
    该命令仅删除超期事件数据,不会清除项目配置、用户信息等核心内容。
  • 检查项目级保留设置
    若部分项目单独配置了事件保留天数,全局的SENTRY_EVENT_RETENTION_DAYS不会覆盖这些设置。需在Sentry后台「项目设置」→「事件保留」中确认每个项目的规则是否符合预期。

2. 修改SENTRY_EVENT_RETENTION_DAYS后仍占大量空间的原因

  • 该变量仅控制新事件保留
    SENTRY_EVENT_RETENTION_DAYS是新事件的默认保留天数,不会自动清理修改前已存在的旧事件,旧事件需手动执行sentry cleanup命令删除。
  • 数据库未释放磁盘空间
    PostgreSQL删除数据后不会立即将空间归还操作系统,仅标记为内部可复用。需进入PostgreSQL容器执行空间释放操作(建议低峰期执行,会锁表):
    1. 进入容器(通常是sentry-self-hosted-postgres-1):
      docker exec -it sentry-self-hosted-postgres-1 bash
      
    2. 切换用户并连接数据库:
      su - postgres
      psql -d sentry
      
    3. 执行空间回收:
      VACUUM FULL;
      
  • ClickHouse数据未清理
    22.9.0版本的self-hosted Sentry默认用ClickHouse存储事件数据,需检查其TTL策略:
    1. 进入ClickHouse容器(通常是sentry-self-hosted-clickhouse-1):
      docker exec -it sentry-self-hosted-clickhouse-1 bash
      
    2. 查看表的TTL设置:
      clickhouse-client
      SELECT name, ttl_table FROM system.tables WHERE database = 'sentry';
      
    若不符合预期,可修改TTL规则(示例为7天):
    ALTER TABLE sentry.events MODIFY TTL timestamp + INTERVAL 7 DAY;
    
  • Docker缓存或日志占用
    检查Docker资源占用,清理无用卷、镜像和日志:
    docker system prune -a
    

内容的提问来源于stack exchange,提问作者JJut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 20:55:11