日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
GrafanaLoki管理SpringBoot日志實(shí)戰(zhàn)

上一篇文章簡(jiǎn)單入門了Loki日志平臺(tái)的使用,今天又簡(jiǎn)單研究了如何在實(shí)踐中使用Loki監(jiān)控Spring Boot應(yīng)用,特地分享給大家,讓大家對(duì)這門新技術(shù)有更深的了解。

Loki的日志收集實(shí)踐

上一篇文章中我們使用Docker Compose同時(shí)啟動(dòng)了Grafana、Loki、Promtail來監(jiān)控一個(gè)應(yīng)用。以及整個(gè)日志體系的架構(gòu)。

Loki日志體系

但是實(shí)際應(yīng)用中不可能為每一個(gè)應(yīng)用都建立一個(gè)Grafana-Loki-Promtail體系。

Promtail日志代理

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

Loki流程圖

如果在多個(gè)應(yīng)用服務(wù)器上部署對(duì)應(yīng)的多個(gè)Promtail守護(hù)程序就能監(jiān)視多個(gè)應(yīng)用的靜態(tài)日志文件,并通過Loki API將日志推送到Loki中進(jìn)行聚合式的管理。

Spring Boot日志的部署拓?fù)?/p>

Promtail動(dòng)態(tài)配置

我們只需要為L(zhǎng)oki應(yīng)用部署相關(guān)的Promtail守護(hù)程序即可。這里我仍然使用Docker對(duì)Promtail進(jìn)行部署,不過我不能再使用默認(rèn)配置了,這時(shí)的config.yml應(yīng)該是:

 
 
 
 
  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 

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

Promtail Docker鏡像改造

根據(jù)這個(gè)我對(duì)Promtail的Docker鏡像進(jìn)行了改造,具體的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 .命令構(gòu)建這個(gè)自定義Promtail鏡像。基本的啟動(dòng)命令:

 
 
 
 
  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依然是應(yīng)用的日志目錄,LOKI_HOST要保證能夠同Loki服務(wù)器通信,無論你通過直連還是Docker網(wǎng)絡(luò)(這里用了Docker網(wǎng)橋)。你可以可以使用Docker Compose將應(yīng)用和Promtail進(jìn)行捆綁,所有的Promtail將把對(duì)應(yīng)的日志發(fā)往Loki進(jìn)行集中式的管理。另外通過自定義的Label我們可以通過應(yīng)用名稱來搜索日志了。

總結(jié)

今天通過更加貼近實(shí)戰(zhàn)的方式對(duì)Loki收集日志的機(jī)理進(jìn)行了分享,尤其是日志收集器Promtail的改造部署。希望能夠幫助你更加快捷地實(shí)戰(zhàn)這個(gè)日志新貴。

本文轉(zhuǎn)載自微信公眾號(hào)「碼農(nóng)小胖哥」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系碼農(nóng)小胖哥公眾號(hào)。


當(dāng)前題目:GrafanaLoki管理SpringBoot日志實(shí)戰(zhàn)
鏈接URL:http://m.5511xx.com/article/dpoosee.html