背景:
最近公司的confluence 在上班前的一段时间一直都无法访问。一般都是重启解决,但是总是出现这样的问题,总重启就不太好,不符合SRE的方法论,所以开始查日志里面的具体报错原因。
排查:
查看日志:
2021-06-09 01:07:36,202 ERROR [Caesium-1-4] [scheduler.caesium.impl.SchedulerQueueWorker] executeJob Unhandled exception thrown by job QueuedJob[jobId=BackupJob,deadline=1623168060000]
java.lang.OutOfMemoryError: Java heap space
google了一下,找到了一个文档:https://confluence.atlassian.com/confkb/confluence-crashes-due-to-outofmemoryerror-java-heap-space-error-183469749.html
文档的内容说了oom导致confluence crash的可能原因。其中有一个原因是:通过XML Backup 方式全量备份导致oom。从日志的时间来看。正式我们备份的时间。
根据这个文档中的建议,又找到了一个文档:https://confluence.atlassian.com/doc/production-backup-strategy-38797389.html,提供了生产环境的备份方案。
后续处理:
- 通过zabbix web web scenarios 实现对confluence进行站点监控,保证发生故障时候,sre能够第一时间介入处理。而不是用户反馈;
- 对confluence数据库定时备份;
- 按照官方提供的生产环境的备份方案。将相关文件,通过rsync方式进行增量备份;