单体的docker服务,你们都是如何管理日志的?

docker单体服务,如果上日志框架又感觉太重了,毕竟没有太大的日志统计需求

软件开发快问快答

java项目的一个做法 logback 滚动日志,存放路径映射出来,我自己是这么用的

直接往控制台输出,抓docker的日志

1 Like

我现在就是这样,感觉太蠢了

我之前也这么搞过,还弄了定时任务自动删除

定好最长的保存天数,超过会自动删除的,我是这么配的

1 Like

日志文件挂载出来,然后就是看你怎么管理服务的日志,和是不是容器就没有区别了

俺觉着不管单体还是集群,日志还是要好好处理的,我们这边惯例放在/data/logs/appname 文件夹下,程序自动进行日志分割,100MB一个或者一天一个。

使用promtail自动将日志打到loki里,使用grafana 对接loki,web查看或者logcli进行terminal查看。

定期使用脚本删除3天前日志。

怎么会呢?应用程序无需关心细节,无脑把日志往 stdout/stderr 打,通过docker logs捞数据。即便是上k8s也是一样捞法。捞出来的数据全都集中投递了,随便你elk还是什么。

5 Likes

控制台+1, 另外可以配置docker container的日志大小, 参见 Local file logging driver | Docker Docs , 只要不是月抛型容器, 最好还是加上这个, 避免磁盘吃的过饱

1 Like

搭了一个ELK 挺好用的

阿里云直接投递sls,在sls里面看,如果是aws就投递到opensearch,在opensearch里面看,如果是idc环境,是像上面的兄弟提到的投递到loki,在grafana里面看

1 Like

我们之前用过华为云的日志和容器平台,总感觉不舒服,可能 跟我们研发开debug日志 有关,搜索不方便。自建会 好一些,尤其是最近 发现logcli真的棒,没有浏览器的束缚,实时终端查看日志。

From #develop:qa to 开发调优