時(shí)間:2024-02-13 10:22作者:下載吧人氣:19
PostgreSQL錯(cuò)誤日志與慢查詢?nèi)罩緦?duì)于線上系統(tǒng)分析、問(wèn)題預(yù)警、問(wèn)題排查起到非常重要的作用,在此不做贅述。
此文檔記錄錯(cuò)誤日志與慢查詢?nèi)罩镜氖占⒎治雠c存儲(chǔ)展示的方法。
PostgreSQL日志輸出可以配置多種多樣的格式,其中以csvlog格式輸出的日志信息最全面。但是CSV日志只能以本地文件的方式收集,不能直接寫(xiě)入網(wǎng)絡(luò),實(shí)時(shí)上傳日志服務(wù)器。
PostgreSQL服務(wù)器分布在不同的機(jī)器,我們使用rsyslog客戶端-服務(wù)器的方式來(lái)收集日志到日志服務(wù)器。具體方法:在PostgreSQL服務(wù)器部署客戶端,在日志服務(wù)器部署服務(wù)器,客戶端監(jiān)控日志文件的變化,實(shí)時(shí)將新增日志上傳到服務(wù)器,服務(wù)器根據(jù)不同客戶端上傳的日志,分別記錄在不同的文件中。
此方法的好處是在PostgreSQL服務(wù)器本地可以保存一份原始的完整的csv日志,供全量信息查看與分析。
使用Logstash進(jìn)行日志分析,Logstash是一個(gè)開(kāi)源數(shù)據(jù)收集引擎,具有實(shí)時(shí)管道功能。Logstash可以動(dòng)態(tài)地將來(lái)自不同文件的數(shù)據(jù)統(tǒng)一起來(lái),進(jìn)行數(shù)據(jù)篩選清洗,并將數(shù)據(jù)標(biāo)準(zhǔn)化到你所選擇的目的地。
使用傳統(tǒng)的Elasticsearch進(jìn)行數(shù)據(jù)存儲(chǔ),Kibana進(jìn)行數(shù)據(jù)展示。
新增以下內(nèi)容到rsyslog配置文件/etc/rsyslog.conf,并重啟rsyslog服務(wù)。
$PreserveFQDN on #用于正確的獲取主機(jī)名
$FileOwner root #存儲(chǔ)的文件屬主
$FileGroup root #文件屬主
$FileCreateMode 0644 #生成的文件權(quán)限
$DirCreateMode 0755 #生成的目錄權(quán)限
$Umask 0022
$PrivDropToUser root #可以刪除日志的用戶
$PrivDropToGroup root #可以刪除日志的用戶組
module(load=”imuxsock”)
module(load=”imklog”)
module(load=”imudp”)
#input(type=”imudp” port=”514″)
module(load=”imtcp” MaxSessions=”500″)
input(type=”imtcp” port=”514″)
$template linefmt,”%msg:2:$%n” #接收日志的格式(去掉開(kāi)頭的空格)
$template pgloglocation,”/data/pglogs/%hostname%/%$YEAR%-%$MONTH%-%$DAY%.csv”
:rawmsg,contains,”pg_5432″ ?pgloglocation;linefmt
##變量:%fromhost-ip%
網(wǎng)友評(píng)論