前言
日志統一規范化方便開發人員查看日志和排查問題,在進行容器化部署時,例如k8s內的日志查詢,通常是用于運維層面進行查看日志的,而開發人員需要一套屬于自己的日志工具,
方案一:普羅米修斯那套,包括洛基(日志收集),Grafana可視化,比較輕量級而且與k8s兼容友好,在此不介紹,自行百度
方案二:有錢上收費,類似阿里的sls等
方案三:elk,這里介紹elk
一、專案開發日志規范
首先保證以下幾點:
1、日志格式json,方便格式化
2、運維層面日志清洗階段
3、logstash基于jvm,比較消耗資源,可以選擇go開發的filebeat,我們將日志統一映射到某個磁盤,因此不再進行pod內filebeat,直接使用logstash
二、logstash配置:
下載es對應的logstash版本,非docker,docker部署需要掛載容器內部檔案
tar -zxvf xxx.tar.gz //解壓 mv xxx logstash //重命名
進入config目錄修改jvm.options,xms等配置合適引數

隨便什么位置新建一個啟動組態檔logstash.conf,重要引數都在這里
input {
file {
path => "/usr/local/my.log"
start_position => "beginning"
type => "infolog"
sincedb_path => "/dev/null"
}
file {
path => "/usr/local/my1.log"
start_position => "beginning"
type => "errlog"
sincedb_path => "/dev/null"
}
}
filter {
json {
source => "message"
}
date {
match => ["timestamp", "dd/MMM/yyyy:HH:mm:ss Z"] #匹配timestamp欄位
target => "@timestamp" #將匹配到的資料寫到@timestamp欄位中
}
}
output {
if [type] == "infolog" {
elasticsearch {
hosts => ["test:9200"]
index => "infolog-%{+YYYY.MM.dd}"
}
} else if [type] == "errlog" {
elasticsearch {
hosts => ["test:9200"]
index => "errlog-%{+YYYY.MM.dd}"
}
}
}
./bin/logstash -f /usr/local/mydata/logstash/logstash.conf 啟動后到kibana配置索引

創建索引模式,輸入對應索引名稱 ->下一步->選擇時間戳->finish
然后到儀表盤查看即可


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/297097.html
標籤:其他
上一篇:Python爬蟲實戰之爬淘寶商品并做資料分析,現在賺錢沒點技識訓真不行!
下一篇:大資料必經之路-認識Spark
