搭建运维日志管理平台

我们的springboot微服务部署在docker容器里,平时如何需要查生产日志,需要频繁登录服务器进行查询,目前我们想做一个日志管理平台,主要实现日志实时同步,并提供日志按时间段进行查询和下载功能,这样运维人员不用登录服务器就
可以实时获取线上日志,精准定位线上问题。

有现成的技术 ELK

没那么复杂,将容器的日志路径映射到宿主机或者k8s的node节点上,即dockerfile中命令添加-v 宿主机目录:容器目录。如:

docker run --itd -name java1 -v /app/applogs/java1/:/data/app_name/logs/ -p8080:8080 image_id

就把容器的data目录下的app目录日志映射到宿主机(或者说是把宿主机路径挂载到容器目录下),此时,只要收集宿主机日志即可,常见做法使用ELK,logstash+filebeat采集分割日志,ES存储和索引,kibana做查询和监控告警等。
如果日志量极大的情况下,考虑保留日志为30天,30天以上的日志进行压缩归档存储到对象存储里面,这样可以极大节约费用。这也是众多公司的主流做法,并不需要额外开发工作。

等等吧 再过个一周 我就测试完elk搭建使用了 就可以发出来文档~~~~