成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Grafana Loki管理Spring Boot日志實戰

開發 架構
如果在多個應用服務器上部署對應的多個Promtail守護程序就能監視多個應用的靜態日志文件,并通過Loki API將日志推送到Loki中進行聚合式的管理。

[[400021]]

上一篇文章簡單入門了Loki日志平臺的使用,今天又簡單研究了如何在實踐中使用Loki監控Spring Boot應用,特地分享給大家,讓大家對這門新技術有更深的了解。

Loki的日志收集實踐

上一篇文章中我們使用Docker Compose同時啟動了Grafana、Loki、Promtail來監控一個應用。以及整個日志體系的架構。

Loki日志體系

但是實際應用中不可能為每一個應用都建立一個Grafana-Loki-Promtail體系。

Promtail日志代理

目前Promtail可以從兩個來源跟蹤日志:本地日志文件和systemd日志,我們上一篇文章中演示的就是本地日志文件的加載,這種方式是目前我唯一能夠使用的途徑,另一種途徑是通過K8S的服務發現能力。

Loki流程圖

如果在多個應用服務器上部署對應的多個Promtail守護程序就能監視多個應用的靜態日志文件,并通過Loki API將日志推送到Loki中進行聚合式的管理。

Spring Boot日志的部署拓撲

Promtail動態配置

我們只需要為Loki應用部署相關的Promtail守護程序即可。這里我仍然使用Docker對Promtail進行部署,不過我不能再使用默認配置了,這時的config.yml應該是:

  1. server: 
  2.   http_listen_port: 9080 
  3.   grpc_listen_port: 0 
  4.  
  5. positions: 
  6.   filename: /var/log/positions.yaml 
  7.  
  8. client: 
  9.   url: http://${LOKI_HOST}:${LOKI_PORT}/loki/api/v1/push 
  10.  
  11. scrape_configs: 
  12.   - job_name: system 
  13.     pipeline_stages: 
  14.     static_configs: 
  15.       - labels: 
  16.           app: ${APP_NAME} 
  17.           job: varlogs 
  18.           host: ${LOG_HOST} 
  19.           __path__: /var/log/*log 

為了構建一個通用的配置,我將一些參數進行了動態化。這是Loki2.1+版本提供的特性,可以使用${}來引用環境變量,甚至你可以為其指定默認值${VAR:default_value}。但是你必須得知道為了開啟這一特性需要在Promtail啟動命令中添加選項-config.expand-env。

Promtail Docker鏡像改造

根據這個我對Promtail的Docker鏡像進行了改造,具體的Dockerfile為:

  1. FROM grafana/promtail:2.2.1 
  2. LABEL AUTHOR = felord.cn 
  3. VOLUME ["/var/log/"
  4. EXPOSE 9080 
  5. ENV LOKI_HOST="localhost" 
  6. ENV LOKI_PORT=3100 
  7. ENV APP_NAME="APP" 
  8. ENV LOG_HOST="localhost" 
  9. COPY config.yml /etc/promtail/ 
  10. CMD ["-config.file=/etc/promtail/config.yml""-config.expand-env"

你可以通過docker build -t loki-promtail:1.0 .命令構建這個自定義Promtail鏡像。基本的啟動命令:

  1. docker run -d  --name promtail-service --network loki -v c:/docker/log:/var/log/  -e LOKI_HOST=loki -e APP_NAME=SpringBoot  loki-promtail:1.0 

其中掛載的目錄c:/docker/log依然是應用的日志目錄,LOKI_HOST要保證能夠同Loki服務器通信,無論你通過直連還是Docker網絡(這里用了Docker網橋)。你可以可以使用Docker Compose將應用和Promtail進行捆綁,所有的Promtail將把對應的日志發往Loki進行集中式的管理。另外通過自定義的Label我們可以通過應用名稱來搜索日志了。

總結

今天通過更加貼近實戰的方式對Loki收集日志的機理進行了分享,尤其是日志收集器Promtail的改造部署。希望能夠幫助你更加快捷地實戰這個日志新貴。

本文轉載自微信公眾號「碼農小胖哥」,可以通過以下二維碼關注。轉載本文請聯系碼農小胖哥公眾號。

 

責任編輯:武曉燕 來源: 碼農小胖哥
相關推薦

2025-02-10 02:00:00

2022-06-28 08:40:16

LokiPromtail日志報警

2024-02-01 09:48:17

2022-06-29 07:45:53

LogQLLoki日志流選擇器

2022-06-20 14:59:14

讀寫分離模Loki

2023-12-27 18:05:13

2022-11-03 08:02:06

KEDA自動縮放云平臺

2024-12-16 13:00:00

JavaELK開發

2022-05-12 11:38:26

Java日志Slf4j

2021-03-01 23:26:41

日志Spring BootAOP

2023-09-13 08:56:51

2018-11-02 15:45:41

Spring BootRedis數據庫

2020-04-23 15:59:04

SpringKafka集群

2021-06-02 06:02:50

Loki 源碼分析日志

2017-09-20 09:46:38

Spring BootSpring Clou內存

2025-02-21 08:00:00

事務管理SpringBootJava

2024-02-04 00:00:00

Loki性能查詢

2022-12-29 08:00:26

Loki網絡設備

2025-03-26 08:01:18

2021-12-31 08:48:23

Logback日志管理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人国产精品免费观看视频 | 亚洲精品在线免费看 | 欧美成人激情视频 | 日日操夜夜操天天操 | 日本不卡视频在线播放 | 日本高清视频在线播放 | 一本色道精品久久一区二区三区 | 在线免费国产视频 | 欧美一区 | 天天干视频 | 日韩欧美在 | 国产成人精品一区二区三区 | 91天堂网| 久久免费精品 | 欧美日韩电影一区 | 国产精品99久久久久久www | 97色免费视频| 毛片com| 久久久性色精品国产免费观看 | 99精品久久| 中文字幕视频在线免费 | 国产精品国产三级国产aⅴ无密码 | 国产精品久久久久一区二区三区 | 精品一区二区在线观看 | 中文字幕在线观看国产 | 日本国产一区二区 | 成人在线视频免费播放 | 日本三级日产三级国产三级 | 久久久久久成人 | 欧美一级观看 | 久久精品 | 欧美a在线 | 成人一区二区三区在线观看 | 黄色大片在线免费观看 | 91精品国产91久久久久久 | 亚洲精选久久 | 天天曰天天曰 | 日日碰狠狠躁久久躁婷婷 | 欧美精品片| 欧美日韩亚洲系列 | 欧美精品久久 |