syslog日誌系統 日誌採集

2021-08-31 06:56:03 字數 1809 閱讀 9648

日誌採集介面把接收過來的日誌資料寫入到日誌檔案,日誌檔案以天為單位進行儲存。

介面採用@ignoretoken標記不需要進行令牌校驗。

採用@crossorigin標記,讓介面能夠跨域訪問,支援ajax跨域請求。

@apioperation

(value =

"提交日誌"

)@apiimplicitparams()

(path =

"/log/add"

, method = requestmethod.post, produces =

)@ignoretoken

@crossorigin

public responsedata addlog

(@requestbody logdata logdata)

日誌以文字格式儲存,每條日誌按行寫入。

日誌行的格式如下:

時間戳|日誌id|日誌資料json

日誌按行儲存的好處是,可以利用bufferedreader的readline方法進行日誌的按行讀取。

日誌按行儲存,要對日誌資料json部分進行處理,把換行符替換掉。

public string logtofile

(logdata logdata)

fileutil.

(path, sb.

tostring()

);return uuid;

}

利用randomaccessfile類寫入,用檔案瑣控制併發。如果是海量日誌的場合,可以部署多幾個採集點。

public

static

void

(string path, string line)

byte

bytes = line.

getbytes

("utf-8");

fout =

newrandomaccessfile

(file,

"rw");

long filelength = fout.

length()

;//獲取檔案的長度

fout.

seek

(filelength)

;//將檔案的讀寫指標定位到檔案的末尾

channel = fout.

getchannel()

;//開啟檔案通道

filelock filelock = null;

while

(true

)catch

(exception e)

} fout.

write

(bytes)

; fout.

writechar

('\n');

filelock.

release()

; channel.

close()

; fout.

close()

;}catch

(exception e1)

finally

}

通過定時任務,把各個採集點的日誌文字匯入資料庫/大資料儲存。

syslog日誌系統 日誌採集

摘自 日誌採集介面把接收過來的日誌資料寫入到日誌檔案,日誌檔案以天為單位進行儲存。介面採用 ignoretoken標記不需要進行令牌校驗。採用 crossorigin標記,讓介面能夠跨域訪問,支援ajax跨域請求。apioperation value 提交日誌 apiimplicitparams l...

日誌 syslog系統日誌

原創 2017年02月17日 20 47 05 前言 本文列出了在linux系統下的幾個日誌檔案。以及結合message中的日誌記錄,作出了簡單分析。syslog是linux系統預設的日誌守護程序。預設的syslog配置檔案是 etc sysctl.conf檔案 通常,syslog 接受來自系統的各...

syslog介紹 CS架構來採集系統日誌

unix linux系統中的大部分日誌都是通過一種叫做syslog的機制產生和維護的。syslog是一種標準的協議,分為客戶端和伺服器端,客戶端是產生日誌訊息的一方,而伺服器端負責接收客戶端傳送來的日誌訊息,並做出儲存到特定的日誌檔案中或者其他方式的處理。在linux中,常見的syslog伺服器端程...