上一篇文章简单入门了Loki日志平台的志实战使用,今天又简单研究了如何在实践中使用Loki监控Spring Boot应用,志实战特地分享给大家,志实战让大家对这门新技术有更深的志实战了解。 上一篇文章中我们使用Docker Compose同时启动了Grafana、Loki、志实战Promtail来监控一个应用。志实战以及整个日志体系的志实战架构。 但是志实战实际应用中不可能为每一个应用都建立一个Grafana-Loki-Promtail体系。 Promtail日志代理 目前Promtail可以从两个来源跟踪日志:本地日志文件和systemd日志,志实战我们上一篇文章中演示的志实战就是本地日志文件的加载,这种方式是志实战目前我唯一能够使用的途径,另一种途径是志实战通过K8S的服务发现能力。 Loki流程图 如果在多个应用服务器上部署对应的云南idc服务商志实战多个Promtail守护程序就能监视多个应用的静态日志文件,并通过Loki API将日志推送到Loki中进行聚合式的志实战管理。 Spring Boot日志的部署拓扑 我们只需要为Loki应用部署相关的Promtail守护程序即可。这里我仍然使用Docker对Promtail进行部署,不过我不能再使用默认配置了,这时的config.yml应该是: 为了构建一个通用的配置,我将一些参数进行了动态化。这是Loki2.1+版本提供的特性,可以使用${ }来引用环境变量,甚至你可以为其指定默认值${ VAR:default_value}。但是你必须得知道为了开启这一特性需要在Promtail启动命令中添加选项-config.expand-env。 根据这个我对Promtail的Docker镜像进行了改造,具体的Dockerfile为: 你可以通过docker build -t loki-promtail:1.0 .命令构建这个自定义Promtail镜像。云服务器基本的启动命令: 其中挂载的目录c:/docker/log依然是应用的日志目录,LOKI_HOST要保证能够同Loki服务器通信,无论你通过直连还是Docker网络(这里用了Docker网桥)。你可以可以使用Docker Compose将应用和Promtail进行捆绑,所有的Promtail将把对应的日志发往Loki进行集中式的管理。另外通过自定义的Label我们可以通过应用名称来搜索日志了。 今天通过更加贴近实战的方式对Loki收集日志的机理进行了分享,尤其是日志收集器Promtail的改造部署。希望能够帮助你更加快捷地实战这个日志新贵。 本文转载自微信公众号「码农小胖哥」,可以通过以下二维码关注。转载本文请联系码农小胖哥公众号。香港云服务器Loki的志实战日志收集实践
Loki日志体系
Promtail动态配置
Promtail Docker镜像改造
总结