Konfiguracja pluginu postgresql
Konfiguracja postgresql.conf
W pliku postgresql.conf należy zapewnić następującą konfigurację (ustawienia w sekcji jak pokazano):
#------------------------------------------------------------------------------
# RUNTIME STATISTICS
#------------------------------------------------------------------------------
# - Query/Index Statistics Collector -
track_activities = on
track_counts = on
track_io_timing = on
track_functions = none # none, pl, all
Na wszelki wypadek trzeba wykonać restart serwera:
service postgresql stop
service postgresql start
Utworzenie użytkownika w bazie danych
createuser -U pgsql -DESRP collectd
collectd.conf
LoadPlugin postgresql
# [...]
<Plugin postgresql>
<Query custom_deadlocks>
Statement "SELECT deadlocks as num_deadlocks \
FROM pg_stat_database \
WHERE datname = $1;"
Param database
<Result>
Type "pg_xact"
InstancePrefix "num_deadlocks"
ValuesFrom "num_deadlocks"
</Result>
</Query>
<Query database_size>
Statement "SELECT datname AS name, \
pg_catalog.pg_database_size(datname) AS size \
FROM pg_catalog.pg_database;"
<Result>
Type pg_db_size
InstancePrefix "dbsize"
InstancesFrom "name"
ValuesFrom "size"
</Result>
</Query>
# ----------------------------------------------------------------------
#
# PAMI/ETAJ O PONI/ZSZYCH
#
# ----------------------------------------------------------------------
#
# 1. w bazie postgres nie ma danych z tabeli pg_stat_user_tables, gdy/z
# baza postgres jest baz/a systemow/a. Zamiast tego trzeba u/zy/c bazy,
# kt/or/a chce si/e monitorowa/c, np. dspam_db
#
# 2. U/zytkownik collectd musi mie/c nadane uprawnienia do wykonywania
# SELECT-/ow, aby pokazywa/ly si/e jakiekolwiek statystyki. Najlepiej to
# zrobi/c poprzez:
# echo "GRANT SELECT ON ALL TABLES IN SCHEMA public TO collectd;" | psql -U pgsql <database>
#
# 3. Zapytania "domy/slne" (kt/orych definicji nie ma powy/zej) s/a
# umieszczone w pliku /usr/local/share/collectd/postgresql_default.conf
#
<Database postgres>
Host "localhost"
User "collectd"
Password "__haslo_nadane_createuser__"
Query custom_deadlocks
Query backends
Query transactions
Query queries
Query queries_by_table
Query query_plans
Query table_states
Query query_plans_by_table
Query table_states_by_table
Query disk_io
Query disk_io_by_table
Query disk_usage
</Database>
</Plugin>
(c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.
