[service]
flush 1 #buffer裡的資料每隔1秒寫到output外掛程式裡,這裡寫到es裡。
log_level info #fluent-bit的日誌級別
daemon off
parsers_file parsers.conf #指向了另外乙個配置檔案,裡面配置所有的parser。
name tail #指定了input外掛程式的型別,這裡是tail型別
tag }_}_}_}給採集的日誌打個標籤,後面filter和output根據這個標籤選擇資料來源
path /var/log/pods/$/}/*.log
path_key filename
parser docker
db /var/log/pods/$/}/flb_std.db#記錄哪個檔案採集到哪一行
db.sync full #internal sqlite engine用哪種方法同步資料到磁碟,full為安全優先
#key log
mem_buf_limit 5mb #一旦buffer裡的資料超過mem_buf_limit,tail就會暫停採集,直到buffer資料被flush到output。
skip_long_lines on #跳過長度大於buffer_max_size的行
buffer_chunk_size 32k #tail命令的buffer初始大小,具體作用和對效能的影響還需進一步研究
buffer_max_size 32k #tail命令的buffer最大值,具體作用和對效能的影響還需進一步研究
refresh_interval 10 #定時掃瞄磁碟上的新檔案的間隔。
rotate_wait 5 #檔案rotate後的等待一段時間後再繼續監控這個檔案,以防flush一些pending data, 具體作用和對效能的影響還需進一步研究
ignore_older 10d #忽略近十天來未更改的檔案
[filter]
name modify #外掛程式的型別
match * #匹配到任何資料來源
add node_name $
add node_ip $
add pod_name $
[output]
name es #外掛程式的型別
match }_}* #匹配到tag為}_}*的資料來源
host } #es的hostname 可以是網域名稱和ip
port } #es的埠
pipeline #不要用
logstash_format on #是否採用類似logstash的index,可以根據時間設定index名字
logstash_prefix logstash #索引名稱的字首
logstash_dateformat %y.%m.%d #名稱字尾格式
time_key tail-time #logstash_format enabled的時候,每條記錄會新產生乙個時間戳
time_key_format %y-%m-%dt%h:%m:%s #新時間戳的格式
generate_id on #對記錄去重,可能有效能消耗。
trace_output off #列印elasticsearch api calls 除錯的時候用。
logstash_prefix_key ttt #
retry_limit 5 #傳輸失敗後重試次數,預設為2,設定為false時,無限次重試
parsers.conf
[parser]
name docker
format json
time_key time
time_format %y-%m-%dt%h:%m:%s.%l %z
decode_field escaped_utf8 log
[parser]
name json_parse
format json
time_key time
time_keep on
time_format %y-%m-%dt%h:%m:%s
關於es中的時間理解:
預設日誌入es時會加上@timestamp欄位,時間取值為日誌入es的時間,如果在parser中對日誌中的時間字段(如time)進行解析,並且解析正確。則將解析正確的時間值賦給@timestamp欄位。顯現象如下:
ruby cucumber環境配置問題及解決方法
一 安裝ruby 安裝完之後在命令視窗執行ruby v 提示ruby 不是內部命令或外部命令,也不是可執行的程式或批處理檔案 原因 安裝的時候提示說自動新增path 什麼的,那 兩個選項都應該打鉤 二 安裝devkit 的安裝目錄 在命令列下轉到devkit 的目錄 執行 ruby dk.rb in...
webpack 巧解環境配置問題
專案的開發和測試和生產環境一般都不是同乙個,有時候就會產生需要前端專案需要根據不同的環境進行不同的配置的情況。比較經典的情況就是後端的介面 hostname 的問題。在開發環境的時候可能使用的是dev.api.xx.com,測試環境需要使用test.api.xx.com,而線上環境需要使用api.x...
Spring Cloud 微服務之配置中心解決方案
關於配置中心這一篇博文,本來想分很多篇去介紹的,但是仔細想想,覺得太繁複而且囉嗦,所以還是寫一篇介紹其中的核心原理,並不做任何示例,如果想要檢視具體用法可以自行檢視官方文件或者度娘。因為配置中心太多了,不說其他的spring cloud就整合了好幾種框架作為配置中心比如 spring cloud c...