PostgreSQL日志分析工具


PostgreSQL日志分析工具


PostgreSQL日志審計可以配合 pgbench、jmeter...測試工具制定測試計划測試性能,由於日志審計比較影響性能,在不需要問題排查或測試的時候可以關閉。

 

 

1. pgBadger安裝

pgBadger:主頁
pgBadger:下載地址
Text-CSV_XS-1.39:下載地址

環境

  • Red Hat Enterprise Linux Server release 7.4
  • PostgreSQL 9.6.0

安裝包版本

分析csv格式日志需要Text-CSV_XS

  • Text-CSV_XS-1.39
  • pgbadger-10.3

安裝

  1. 上傳tar包到任意目錄

  2. 切換到tar包目錄執行安裝

plugs=`echo -e "Text-CSV_XS-1.39\npgbadger-10.3"`;
baseDir=`pwd`; 
for plug in ${plugs}; 
do 
    tar zxf ${plug}.*; 
    cd ${baseDir}/${plug}; 
    perl Makefile.PL && make && make install; 
    cd ${baseDir};
done;

2. PostgreSQL日志審計配置

postgresql.conf增加配置后重啟數據庫

# 指定csv格式日志
log_destination = 'csvlog'
logging_collector = on log_directory = 'pg_log'
log_filename = 'postgresql-%w.log'
log_file_mode = 0640 log_truncate_on_rotation = off log_rotation_age = 1d log_line_prefix = '%t [%r]-[%p]: %l user=%u,db=%d'
log_lock_waits = off log_checkpoints = off log_connections = off log_disconnections = off log_duration = off log_min_duration_statement = 0

3. 日志生成

訪問數據庫

# 初始化pgbenth依賴表
pgbench -U postgres -d postgres -i -s 5
# 5客戶端壓力10秒
pgbench -U postgres -d postgres -v -c 5 -T 10

生成日志

# 開啟httpd服務
systemctl start httpd.service
# 創建日志輸出目錄
mkdir -p /var/www/html/pgbadger/;
# 查找一下pgbadger命令所在目錄
which pgbadger
# 指定命令路徑 -> 指定日志路徑(名稱根據log_filename參數來的) -> 指定httpd的服務為輸出目錄: 增量生成日志
/usr/local/bin/pgbadger -I -q /data/pgdata/pg_log/postgresql-*.csv -O /var/www/html/pgbadger/

定時任務

# /etc/cron.d目錄下創建文件 pgbadger_cron 並添加如下內容
# 凌晨2點補全目錄
0 2 * * * root /usr/bin/mkdir -p /var/www/html/pgbadger/
# 凌晨2點10分分析前天統計日志
10 2 * * * root /usr/local/bin/pgbadger -I -q /data/pgdata/pg_log/postgresql-`date -d "now -1 days" "+%w"`.csv -O /var/www/html/pgbadger/
 # 重啟crond
systemctl restart crond.service

結果示例

 

增量日志索引頁
增量日志索引頁

 

 

概覽頁
概覽頁

 

 

SQL統計
SQL統計

 

等等....


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM