parent
c9e8c4cf55
commit
c87cc5ff22
@ -0,0 +1,70 @@
|
||||
# pgBadger for PostgreSQL
|
||||
|
||||
##############################################################################
|
||||
# Install on PostgreSQL Servers
|
||||
# Using upstream postresql's repos, not Debian's repos.
|
||||
#apt install
|
||||
|
||||
# Configure postgres:
|
||||
vim /etc/postgresql/10/main/postgresql.conf
|
||||
|
||||
# Change:
|
||||
log_min_duration_statement = 1000
|
||||
log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h '
|
||||
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
|
||||
lc_messages='C'
|
||||
|
||||
# Add user to pull logs on pg1 pg2 pg3 pg4
|
||||
adduser pgbadger
|
||||
adduser pgbadger adm
|
||||
|
||||
# Set up key on pgbadger node to enable it to ssh to pg1 pg2 pg3 pg4
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Install on Web Node
|
||||
|
||||
# Set up Debian Stretch node
|
||||
# Install postgres repos:
|
||||
echo 'deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main' > /etc/apt/sources.list.d/pgdg.list
|
||||
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
|
||||
apt update
|
||||
apt install postgresql-client-10
|
||||
|
||||
apt install pgbadger libtext-csv-xs-perl libjson-xs-perl
|
||||
|
||||
adduser pgbadger
|
||||
sudo su - pgbadger
|
||||
ssh-keygen -t ed25519
|
||||
# copy that key to user pgbadger@pg1 pg2 pg3 pg4
|
||||
|
||||
# Set up apache2
|
||||
apt install apache2
|
||||
rm /var/www/html/index.html
|
||||
chown pgbadger:pgbadger /var/www/html
|
||||
mkdir /var/www/html/pg1 /var/www/html/pg2 /var/www/html/pg3 /var/www/html/pg4
|
||||
|
||||
# Set up script for user pgbadger to run:
|
||||
# See script: forksand-pgbadger-gen
|
||||
|
||||
# Run that script in cron as user pgbadger:
|
||||
crontab -e
|
||||
# m h dom mon dow command
|
||||
*/5 * * * * /home/pgbadger/forksand-pgbadger-gen
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Admin Web Client
|
||||
|
||||
# On workstation create tunnel:
|
||||
ssh -N -C -L 55432:localhost:80 pgbadger
|
||||
|
||||
# On workstation, in browser:
|
||||
http://localhost:55432/
|
||||
##############################################################################
|
@ -0,0 +1,46 @@
|
||||
#!/bin/bash
|
||||
# forksand-pgbadger-gen
|
||||
|
||||
pgbadger \
|
||||
--remote-host pg1 \
|
||||
--incremental \
|
||||
--jobs 4 \
|
||||
--outdir /var/www/html/pg1 \
|
||||
--retention 8 \
|
||||
--extra-files \
|
||||
--ssh-user pgbadger \
|
||||
--prefix '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h ' \
|
||||
/var/log/postgresql/postgresql-10-main.log
|
||||
|
||||
pgbadger \
|
||||
--remote-host pg2 \
|
||||
--incremental \
|
||||
--jobs 4 \
|
||||
--outdir /var/www/html/pg2 \
|
||||
--retention 8 \
|
||||
--extra-files \
|
||||
--ssh-user pgbadger \
|
||||
--prefix '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h ' \
|
||||
/var/log/postgresql/postgresql-10-main.log
|
||||
|
||||
pgbadger \
|
||||
--remote-host pg3 \
|
||||
--incremental \
|
||||
--jobs 4 \
|
||||
--outdir /var/www/html/pg3 \
|
||||
--retention 8 \
|
||||
--extra-files \
|
||||
--ssh-user pgbadger \
|
||||
--prefix '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h ' \
|
||||
/var/log/postgresql/postgresql-10-main.log
|
||||
|
||||
pgbadger \
|
||||
--remote-host pg4 \
|
||||
--incremental \
|
||||
--jobs 4 \
|
||||
--outdir /var/www/html/pg4 \
|
||||
--retention 8 \
|
||||
--extra-files \
|
||||
--ssh-user pgbadger \
|
||||
--prefix '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h ' \
|
||||
/var/log/postgresql/postgresql-10-main.log
|
Binary file not shown.
Loading…
Reference in new issue