sentry磁盘占用过大如何清理历史数据

2024-04-02 23:58

本文主要是介绍sentry磁盘占用过大如何清理历史数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考:https://www.phpmianshi.com/?id=182

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

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

 

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

#登录postgres容器
docker exec -it sentry_onpremise_postgres_1 /bin/bash
#运行清理
vacuumdb -U postgres -d postgres -v -f --analyze

 

3、定时清理脚本

0 1 * * * cd /data1/onpremise && { time docker-compose run --rm worker cleanup --days 7; } &> /var/log/cleanup.log
0 8 * * * { time docker exec -i $(docker ps --format "table {{.Names}}"|grep postgres) vacuumdb -U postgres -d postgres -v -f --analyze; } &> /data1/logs/vacuumdb.log

4、异常处理

 

因为磁盘已经被占满,所以上面的清理命令也执行不动了,没办法只能自己寻找大文件临时删除一些,于是找到了下面的大文件

/var/lib/docker/volumes/sentry-kafka/_data/events-0/*.log  

 

看着是 .log结尾的文件,而且很大,就直接删除了,结果发现重启后,sentry无法正常收到上报了。

 

参考:https://forum.sentry.io/t/sentry-disk-cleanup-kafka/11337

 

没办法,只能重新安装

cd /data1/onpremise
./install.sh

重新启动生效,重新安装不会清理原有数据,所以不备份也没关系

docker-compose down
docker-compose build
docker-compose up -d

5.清理kafka占用磁盘过大的问题

清理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的容器

docker exec -it sentry_onpremise_kafka_1 /bin/bash#查看topics
kafka-topics --list --zookeeper zookeeper:2181
#修改kafka配置文件
vi server.propertyies
#修改为7小时 默认168
log.retention.hours=7
log.cleaner.enable=true
log.cleanup.policy=delete
log.cleanup.interval.mins=1
#重启
kafka-server-stop 
kafka-server-start -daemon

重启后过了一会也没效果,第二天才看到效果,具体原因有待研究,再去查看目录的大小,发小从20G下降到12G左右

cd /var/lib/docker/volumes/sentry-kafka/_data/events-0
du -h --max-depth=1
ls -alh # 日期最小的是3天前的日志:00000000000000146071.log

docker容器没有vi命令的解决方案

 

apt-get update
apt-get install vim

6、官方解决方案

其实官方已经提供了解决方案,修改 .env文件的以下配置

SENTRY_EVENT_RETENTION_DAYS=7

重新安装即可

 

详情参考:https://github.com/getsentry/onpremise

Event Retention

Sentry comes with a cleanup cron job that prunes events older than 90 days by default. If you want to change that, you can change the SENTRY_EVENT_RETENTION_DAYS environment variable in .env or simply override it in your environment. If you do not want the cleanup cron, you can remove the sentry-cleanup service from the docker-compose.ymlfile.

 

 

 

这篇关于sentry磁盘占用过大如何清理历史数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/871400

相关文章

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

Linux 安全弹出外接磁盘

命令行操作 首先,需要卸载硬盘上的所有分区,可以使用umount来卸载分区 清空系统缓存,将所有的数据写入磁盘 sync 列出已挂载的文件系统 使用lsblk或者df命令来查找要卸载的分区 lsblk or df -h 确保没有文件正在使用 使用lsof 命令来检查 sudo lsof |grep /dev/sdc 卸载分区 假设硬盘的分区是 /dev/sdc1,使用u

插件:清理maven错误缓存.bat

插件:https://pan.baidu.com/s/1nHIxHoo1C4MvFlW7QbZe5Q?pwd=7zenhttps://pan.baidu.com/s/1nHIxHoo1C4MvFlW7QbZe5Q?pwd=7zen没错误缓存时: 有错误缓存时:

Android/Linux 磁盘写入缓存/等待时间 参数修改

Linux系统当进行文件写操作时,并不会将数据立马写入磁盘,而是写写到缓存,等待达到占用内存一定比例或超过一定时间才会批量将这些缓存数据写入磁盘,这样可以减少IO操作,提升性能和磁盘寿命。如果数据还没来得及写入磁盘发生硬件掉电,这些数据就会丢失。应用可以调用sync实时将内容写入磁盘避免丢失。排查丢失问题可以在断电前执行sync命令,看能不能复现,若无法复现,说明就是缓存没有及时写入磁盘导致。

定位cpu占用过高的线程和对应的方法

如何定位cpu占用过高的线程和对应的方法? 主要是通过线程id找到对应的方法。 1 查询某个用户cpu占用最高的进程号 top -u 用户名 2 查询这个进程中占用cpu最高的线程号 top –p 进程号-H    3 查询到进程id后把进程相关的代码打印到jstack文件 jstack -l pid > jstack.txt 4 在jstack文件中通过16进制的线程id搜索到

风控系统之指标回溯,历史数据重跑

个人博客:无奈何杨(wnhyang) 个人语雀:wnhyang 共享语雀:在线知识共享 Github:wnhyang - Overview 回顾 默认你已经看过之前那篇风控系统指标计算/特征提取分析与实现01,Redis、Zset、模版方法。 其中已经介绍了如何利用redis的zset结构完成指标计算,为了方便这篇文章的介绍,还是在正式开始本篇之前回顾一下。 时间窗口 zset

PageOfficeCtrl支持直接打开服务器磁盘文件

一般来说,PageOfficeCtrl控件的WebOpen方法的第一个参数是待打开文档的URL,此URL可以是相对于当前页面的相对URL,也可以是相对于整个网站根的相对URL,还可以是http开头的完整URL,但是这个URL必须是当前网站的URL,不能跨域。 现在为了更加方便开发者编程,WebOpen支持打开服务器磁盘文件。也就是说,第一个参数可以写成服务器文件的绝对磁盘路径。例如: P

Win10磁盘出现小锁和感叹号的解决办法

很多说在设置-系统安全,但是我的么有,只能上命令了,管理员身份运行powerShell:  su 速度比较慢,耐心等待会,每次查看状态加密的百分比都是减少哦  manage-bde -off G: manage-bde -status

redis内存清理和linux系统清理缓存以及redis启动

1清空所有数据库 redis-cli FLUSHALL 2清空所有数据库 redis-cli FLUSHDB 3. 删除指定的缓存键 redis-cli DEL <key> 4. 设置键过期 redis-cli EXPIRE <key> <seconds>例如:redis-cli EXPIRE mykey 60 5.启动redis 这个启动命令要在/usr/loc

cisvc.exe进程占用大量内存和CPU的解决方法

推荐:用电脑尽情K歌、练歌,一展歌喉。打造自己的MTV音乐专辑,分享给所有网友   我的电脑现在反映非常的慢,打开任务管理器发现cisvc.exe这个进程占用了大量的内存和CPU,才导致变慢的。   上网查询之后得知,这是微软Windows 操作系统自带的一个程序,CIDAEMON.EXE和CISVC.EXE都不是木马程序,用来监测CIDAEMON.EXE内存信息的,防止可用内存太低