PgBadger - анализатор логов PostgreSQL
pgBadger это анализатор логов PostgreSQL. Это небольшой perl скрипт призванный заменить собой такой инструмент как pgFouine который уже долгое время не развивается. pgBadger написан на чистом perl и для построения графиков использует javascript библиотеку, поэтому для их корректного отображения не придется устанавливать дополнительных модулей или пакетов. Лишь для работы с логами в CVS формате необходимо установить Text::CVS_XS модуль.Возможности pgBadger:
- общая статистика по запросам;
- самые часто выполняющиеся запросы;
- информация по медленным запросам;
- информация об ошибках;
- почасовая статистика;
- статистика по временным файлам и контрольным точкам (checkpoints);
- статистика по блокировкам;
- возможность разделения по типам запросов;
- данные о соединениях и сессиях;
- автоматическое определение формата лога;
- возможность создания сценария для tsung (очень годный бенчмарк);
- и многое другое...
Установка pgBadger сводится к скачиванию архива исходных кодов и сборке скрипта. После чего его можно использовать по назначению
# wget http://sourceforge.net/projects/pgbadger/files/2.3/pgbadger-2.3.tar.gz
# tar xvzf pgbadger.tar.gz
# cd pgbadger-2.3/
# perl Makefile.pl
# make && make install
Предпочитаемая конфигурация PostgreSQL (postgresql.conf):
log_destination = 'stderr'
logging_collector = on
log_min_duration_statement = 0
log_checkpoints = on
log_connections = on
log_disconnections = on
# префикс строки для stderr формата журнала
log_line_prefix = '%t [%p]: [%l-1] '
# префикс строки для syslog формата журнала
log_line_prefix = 'db=%d,user=%u '
log_lock_waits = on
log_temp_files = 0
lc_messages = 'C'
Не рекомендуется включать log_statement так как это формат не подходит для обработки pgBadger'ом.
Как пользоваться: на обработку можно отдать как один файл так и сразу несколько. Также можно передать данные лог-файла через стандартный ввод (не работает в случае если используется cvslog формат).
формирование отчета из лога
# pgbadger /var/log/postgresql.log
формирование отчета из текущего лога и сротированных сжатых логов
# pgbadger /var/log/postgres.log.2.gz /var/log/postgres.log.1.gz /var/log/postgres.log
формирование отчета из логов попадающих в маску
# pgbadger /var/log/postgresql/postgresql-2012-05-*
исключение запросов
# pgbadger --exclude-query="^(COPY|COMMIT)" /var/log/postgresql.log
построение отчета по определенному временному промежутку
# pgbadger -b "2013-02-01 12:00:00" -e "2013-02-01 18:00:00" /var/log/postgresql.log
передача лога в stdin
# cat /var/log/postgres.log | pgbadger -
определение префикса строки для лога в stderr формате
# pgbadger --prefix '%t [%p]: [%l-1] user=%u,db=%d,client=%h' /var/log/postgresql.log
или
# pgbadger --prefix '%m %u@%d %p %r %a : ' /var/log/postgresql.log
определение префикса строки для лога в syslog формате
# pgbadger --prefix 'user=%u,db=%d,client=%h,appname=%a' /var/log/postgresql.log
формирование XML сценария с SELECT запросами для Tsung
# pgbadger -S -o sessions.tsung --prefix '%t [%p]: [%l-1] user=%u,db=%d ' /var/log/postgresql.log
На главную "Virtualizing Linux"
Комментариев нет:
Отправить комментарий