數(shù)據(jù)庫(kù)日志看看,是不是有什么問(wèn)題?
VI打開(kāi)密密麻麻的一片。還是用grep之類的命令過(guò)濾吧。
怎么這么多warning啊,嚴(yán)重影響看正常的日志。在用grep把這些warning屏蔽掉。
早在xxxx點(diǎn)都出問(wèn)題了,日志已經(jīng)有顯示了,我們一直到現(xiàn)在才發(fā)現(xiàn)。
相信很多DBA同學(xué)遇到過(guò)類似的困擾,今天我們就介紹一下pgBadger,幫助我們分析日志的好工具。
pgBadger是一款開(kāi)源的快速分析PostgreSQL日志的工具,它使用perl語(yǔ)言編寫(xiě)。對(duì)日志進(jìn)行分析之后輸出成HTML文件。它生成的報(bào)告易于閱讀。可以幫助我們查看錯(cuò)誤日志、連接數(shù)、檢查點(diǎn)、臨時(shí)文件、VACUUM、Locks等信息。
到網(wǎng)站https://pgbadger.darold.net/上下載最新安裝包,然后解壓到指定目錄。
在運(yùn)行pgbadger之前,我們需要對(duì)PostgreSQL先進(jìn)行配置。
1.打開(kāi)SQL日志記錄
log_min_duration_statement=0
如果執(zhí)行的SQL語(yǔ)句超過(guò)了這個(gè)參數(shù)設(shè)置的值,就會(huì)記錄到日志里面,類似于MySQL中的慢查詢?nèi)罩?。默認(rèn)值為-1,不記錄到日志。當(dāng)前我們系統(tǒng)設(shè)置的是1000ms,也就是大于1s的SQL語(yǔ)句將被記錄到日志。
2.設(shè)置日志的前綴信息
這個(gè)分兩種情況。和log_destination參數(shù)有關(guān)系。
如果是“stderr”日志格式,log_line_prefix必須至少為:
log_line_prefix=%t[%p]:
日志的前綴也可以添加用戶、數(shù)據(jù)庫(kù)名稱,應(yīng)用程序名稱和客戶端IP地址,如下所示:
log_line_prefix=%t[%p]:user=%u,db=%d,app=%a,client=%h
如果是“syslog”日志格式,log_line_prefix就是:
log_line_prefix=user =%u,db=%d,app=%a,client=%h
3.打開(kāi)其他日志記錄
為了讓pgBadger能夠更好的分析,需要開(kāi)啟一些基礎(chǔ)記錄功能。
log_checkpoints=on
log_connections= on
log_disconnections=on
log_lock_waits=on
log_temp_files=0
log_autovacuum_min_duration=0
log_error_verbosity= default
log_statement=none
這里不要log_statement不要啟用,因?yàn)閜gBadger不會(huì)解析它的日志格式。
4.設(shè)置字符集
最后一個(gè)是設(shè)置字符集。要確保自己的語(yǔ)言環(huán)境是英文的。
lc_messages=en_US.UTF- 8’
lc_messages=C
以上參數(shù)設(shè)置完成之后,進(jìn)入到pgbadger目錄運(yùn)行,指定日志文件輸出成html格式。
. ./pgbadger--prefix %t [%p]: user=%u,db=%d,app=%a,client=%h /pg_data1/pg12/logs/postgresql-2020-11-26_093001.log -o11-26_093001.html
接下來(lái)我們就可以查看報(bào)告了。
報(bào)告有以下信息:
查詢、事件、Vacuum、臨時(shí)文件、會(huì)話數(shù)、連接數(shù)。
接下來(lái)我們來(lái)看下我們需要關(guān)注的一些點(diǎn)。首先是TOPSQL語(yǔ)句。
這里有一個(gè)圖表。顯示了SQL語(yǔ)句的執(zhí)行時(shí)間所在的數(shù)量,比如1-10s,有43個(gè)查詢。大于10秒是11個(gè)查詢。SQL執(zhí)行的SQL語(yǔ)句都會(huì)列出來(lái)。
其次可以看看出現(xiàn)的錯(cuò)誤,通過(guò)圖標(biāo)可以迅速發(fā)現(xiàn)16點(diǎn)是一個(gè)錯(cuò)誤頻發(fā)期。一共出現(xiàn)了11次錯(cuò)誤??梢赃M(jìn)一步查看具體報(bào)的什么錯(cuò)。
會(huì)話數(shù),通過(guò)圖形判斷是否在某個(gè)時(shí)間點(diǎn)出現(xiàn)大量的連接。
查看各個(gè)數(shù)據(jù)庫(kù)占用的會(huì)話數(shù)。
檢查點(diǎn)這里提供了檢查點(diǎn)過(guò)程的信息,包括寫(xiě)入的緩沖區(qū)數(shù),WAL文件以及其他常規(guī)信息。
有了pgBadger工具,我們?cè)诓榭村e(cuò)誤日志的時(shí)候更加的得心應(yīng)手。通過(guò)生成的圖表可以有助于我們提前發(fā)現(xiàn)一些性能問(wèn)題。同時(shí)它是開(kāi)源和免費(fèi)使用的,它的Licence在PostgreSQL下面。
同時(shí)我們可以搞一些高級(jí)的玩法,比如寫(xiě)一個(gè)crontab定期的分析html,還有遠(yuǎn)程分析html、增量分析等等。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/130063.html
摘要:阿里云操作審計(jì)日志實(shí)時(shí)分析概述目前,阿里云操作審計(jì)的已經(jīng)與日志服務(wù)打通,提供實(shí)時(shí)分析與報(bào)表中心的功能。屬性專屬的日志庫(kù)名字是阿里云跟蹤名稱,存放于用戶所選擇日志服務(wù)的項(xiàng)目中。 摘要: 阿里云操作審計(jì)ActionTrail審計(jì)日志已經(jīng)與日志服務(wù)打通,提供準(zhǔn)實(shí)時(shí)的審計(jì)分析、開(kāi)箱機(jī)用的報(bào)表功能。本文介紹背景、配置和功能概覽。 背景安全形式與日志審計(jì)伴隨著越來(lái)越多的企業(yè)采用信息化、云計(jì)算技術(shù)來(lái)...
摘要:環(huán)境要求由,和容器組成使用日志收集器將日志發(fā)送到。若使用自己的部署,分析和可視化日志的概念保持不變。日志可視化以索引數(shù)據(jù)為基礎(chǔ)創(chuàng)建豐富的可視化和儀表板的能力而聞名,事實(shí)上,得到這些數(shù)據(jù)并不容易。 昨天小數(shù)分享的使用ELK處理Docker日志(一)很受歡迎,今天迫不及待的帶來(lái)第二篇,側(cè)重于分析和可視化,期待給您帶來(lái)幫助:) 噓,聽(tīng)說(shuō)數(shù)人云工程師們?cè)趭W斯汀DockerCON2017買了D...
摘要:接下來(lái)我們以余額寶為例,重點(diǎn)剖析天弘基金在日志數(shù)據(jù)分析領(lǐng)域是如何突破的此前,天弘基金一直使用開(kāi)源的日志方案,研發(fā)和運(yùn)維人員通過(guò)對(duì)日志數(shù)據(jù)進(jìn)行處理,使用日志文件進(jìn)行查詢檢索。 雙十一剛剛結(jié)束,其實(shí)最緊張的不是商鋪理貨,也不是網(wǎng)友緊盯大促商品準(zhǔn)備秒殺,而是網(wǎng)購(gòu)幕后的運(yùn)維人員,他們最擔(dān)心:什么網(wǎng)絡(luò)中斷、應(yīng)用卡頓、響應(yīng)速度慢,服務(wù)器宕機(jī)……雙十一作為電商 IT 部門的頭等大事,大促前,運(yùn)維人員就需要...
摘要:容器內(nèi)文件日志平臺(tái)支持的文件存儲(chǔ)是,避免了許多復(fù)雜環(huán)境的處理。以上是數(shù)人云在實(shí)踐容器日志系統(tǒng)過(guò)程中遇到的問(wèn)題,更高層次的應(yīng)用包括容器日志分析等,還有待繼續(xù)挖掘和填坑,歡迎大家提出建議,一起交流。 業(yè)務(wù)平臺(tái)每天產(chǎn)生大量日志數(shù)據(jù),為了實(shí)現(xiàn)數(shù)據(jù)分析,需要將生產(chǎn)服務(wù)器上的所有日志收集后進(jìn)行大數(shù)據(jù)分析處理,Docker提供了日志驅(qū)動(dòng),然而并不能滿足不同場(chǎng)景需求,本次將結(jié)合實(shí)例分享日志采集、存儲(chǔ)以...
摘要:說(shuō)明很多軟件,系統(tǒng)都會(huì)有著自己的日志,記錄日志的主要目的是什么呢??捎脕?lái)分析例子事件查看器里的日志是一個(gè)很好的例子??梢远〞r(shí)轉(zhuǎn)存到日志文件中除了數(shù)據(jù)庫(kù)不推薦外,使用文件還是使用內(nèi)存的可能通過(guò)寫(xiě)入條數(shù)進(jìn)行估算。 說(shuō)明 很多軟件,系統(tǒng)都會(huì)有著自己的日志,記錄日志的主要目的是什么呢。 日志可以記錄誰(shuí)誰(shuí)誰(shuí)在什么時(shí)候做了什么事情,這些記錄可以讓我們知道用戶是怎么操作系統(tǒng)報(bào)的錯(cuò)誤??捎脕?lái)找錯(cuò)也可以...
閱讀 1356·2023-01-11 13:20
閱讀 1707·2023-01-11 13:20
閱讀 1215·2023-01-11 13:20
閱讀 1906·2023-01-11 13:20
閱讀 4165·2023-01-11 13:20
閱讀 2757·2023-01-11 13:20
閱讀 1402·2023-01-11 13:20
閱讀 3671·2023-01-11 13:20