sentry 历史数据清理

SENTRY数据软清理 (清理完不会释放磁盘,如果很长时间没有运行,清理时间会很长)

#登录worker容器
docker exec -it sentry_onpremise_worker_1 /bin/bash 
#保留多少天的数据,cleanup使用delete命令删除postgresql数据,但对于delete,update等操作,只是将对应行标志为DEAD,并没有真正释放磁盘空间
sentry cleanup --days  (num)

POSTGRES数据清理 (清理完后会释放磁盘空间)

#登录postgres容器
docker exec -it sentry_onpremise_postgres_1 /bin/bash
#运行清理
vacuumdb -U postgres -d postgres -v -f --analyze
# 数据量大时要选择低峰期操作,此步骤消耗大量的io和cpu 会使得大部分API被阻塞

定时清理脚本

### 写入cronjob,切记低峰期操作
0 0 * * * cd /yourpath/onpremise && docker-compose run --rm worker cleanup --days nums  &> /var/log/cleanup.log
0 1 * * * { time docker exec -i $(docker ps --format "table {{.Names}}"|grep postgres) vacuumdb -U postgres -d postgres -v -f --analyze; } &> /var/logs/vacuumdb.log

清理kafka 数据

#.env 默认配置
KAFKA_LOG_RETENTION_HOURS=24
KAFKA_LOG_RETENTION_BYTES=53687091200   #50G
KAFKA_LOG_SEGMENT_BYTES=1073741824      #1G
KAFKA_LOG_RETENTION_CHECK_INTERVAL_MS=300000
KAFKA_LOG_SEGMENT_DELETE_DELAY_MS=60000

# 减少kafka 数据的原则是 调小KAFKA_LOG_RETENTION_HOURS 和 KAFKA_LOG_SEGMENT_BYTES

docker exec -it sentry_onpremise_kafka_1 /bin/bash
kafka-configs --alter --bootstrap-server kafka:9092 --add-config retention.ms=46400000,segment.bytes=264572800   --topic events
kafka-configs --alter --bootstrap-server kafka:9092 --add-config retention.ms=46400000,segment.bytes=264572800   --topic ingest-transactions
posted @ 2022-12-26 15:48  萱乐庆foreverlove  阅读(565)  评论(0编辑  收藏  举报