02-Log-Pilot + Elasticsearch + Kibana 多行日志收集


阿里雲 官方 Log-Pilot + Elasticsearch + Kibana
https://help.aliyun.com/document_detail/86552.html

log-Pilot 有兩種工具對日志進行收集

  1. fluentd
  2. filebeat

我使用的是filebeat 對日志文件進行采集。
為了更好的對java 的日志進行采集 需要進行多行的日志收集
公司java 日志 一般以"^[" 進行段落區分

操作如下:

1. 拉取代碼 修改模板

git clone https://github.com/AliyunContainerService/log-pilot.git
cd log-pilot
vim log-pilot/assets/filebeat/filebeat.tpl

添加以下行

{{range .configList}}
- type: log
  enabled: true
  paths:
      - {{ .HostDir }}/{{ .File }}
  multiline.pattern:  '^\['                            #新增正則條件,以[開頭
  multiline.negate: true                                           #新增
  multiline.match: after                                           #新增
  multiline.max_lines: 10000                                       #新增
  scan_frequency: 10s
  fields_under_root: true
  {{if .Stdout}}
  docker-json: true
  {{end}}
  {{if eq .Format "json"}}
  json.keys_under_root: true
  {{end}}
  fields:
      {{range $key, $value := .Tags}}
      {{ $key }}: {{ $value }}
      {{end}}
      {{range $key, $value := $.container}}
      {{ $key }}: {{ $value }}
      {{end}}
  tail_files: false
  close_inactive: 2h
  close_eof: false
  close_removed: true
  clean_removed: true
  close_renamed: false

{{end}}

2. 打包鏡像

cd log-pilot/ && ./build-image.sh

打包成功后,鏡像打tag ,並push到私有倉庫
docker tag 原鏡像名稱 新鏡像名稱
docker push 新鏡像名稱

3. 部署

根據阿里雲的官方文檔操作即可
注意鏡像需要替換成我們自己制作的鏡像。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM