Skip to the content.

PGBADGER

https://github.com/darold/pgbadger

설치

# 압축 해제
tar zxvf /pgbadger-12.4.tar.gz -C /tmp
cd /tmp/pgbadger-12.4

# perl
perl Makefile.PL

# make
make && make install

# Check Version
pgbadger -V

# Delete Temparary Files
rm -rf /tmp/pgbadger-12.4


필요한 파라미터

log_autovacuum_min_duration: 0
log_checkpoints: on
log_connections: on
log_disconnections: on
log_line_prefix: '%t [%p - %l]: error=%e, %qdb=%d, user=%u, remote=%r, app=%a, client=%h, '
log_lock_waits: on
log_min_duration_statement: 100 # 단위 : 1/1000초, 0 : 모든 쿼리를 로깅
log_temp_files: 0


사용

# 기본
pgbadger --prefix 'log_line_prefix' /directroy/postgresql-log-file

# 로그 파일 여러개를 읽기
pgbadger --prefix '%t [%p - %l]: error=%e, %qdb=%d, user=%u, remote=%r, app=%a, client=%h, ' /var/pgsql/data/log/postgresql-2024-12-03_14.log /var/log/postgres/postgresql-2024-12-03_15.log -o /root/0.html

# 시간지정
pgbadger --prefix '%t [%p - %l]: error=%e, %qdb=%d, user=%u, remote=%r, app=%a, client=%h, ' -b "2024-12-03 14:50:00" -e "2024-12-03 15:01:00" /var/log/postgres/postgresql-2024-12-03_*.log -o /root/1.html

# 레포트 작성 시 사용할 CPU 코어 갯수 지정
pgbadger --prefix '%t [%p - %l]: error=%e, %qdb=%d, user=%u, remote=%r, app=%a, client=%h, ' -b "2024-12-03 14:50:00" -e "2024-12-03 15:01:00" /var/log/postgres/postgresql-2024-12-03_*.log -j 2 -o /root/2.html

# 레포트 작성을 매일, 매주 단위로 작성하도록 함 (Incremental 모드 지정)
pgbadger --prefix '%t [%p - %l]: error=%e, %qdb=%d, user=%u, remote=%r, app=%a, client=%h, ' /var/log/postgres/postgresql-*.log -j 2 -I -E -O /home/postgres/report

# 월간 레포트 작성
pgbadger –month-report 2024-12 /var/log/postgres/postgresql-*.log -j 2 -O /home/postgres/report

# 월간 레포트 작성 (-E)
pgbadger -E –month-report 2024-12 /home/postgres/report


옵션

|OPTION|VALUE|DESCRIPTION| |-|-|-| |-a|number|Period 지정 (단위 : 분)| |-b|datetime, timestamp|특정시간지정 (개시)| |-e|datetime, timestamp|특정시간지정 (종료)| |-E||각 데이터베이스 별 표시| |-I||Incremental 모드 활성화| |-j|number|CPU Core 지정| |–month-report|yyyy-mm|월간 레포트 작성| |-o|/directory/filename|파일 Output 지정| |-O|/directory|파일 Output 디렉토리 지정| |--prefix|log_line_prefix|Log 파일의 Prefix 지정| |--retention|number|남겨둘 레포트 기간 (단위 : 주)| |-v||디버그 모드|


체크 항목

|항목| |-| |Overview| |Connections| |Sessions| |Checkpoints| |Temp Files| |Vacuums| |Locks| |Queries| |Top| |Events|