|
Rozmiar: 1802
Komentarz: *** KREACJA ***
|
← Wersja 5 z 2019-12-07 10:45:23 ⇥
Rozmiar: 2989
Komentarz:
|
| Usunięcia zostały oznaczone w ten sposób. | Dodatki zostały oznaczone w ten sposób. |
| Linia 4: | Linia 4: |
| == Konfiguracja pluginu postgresql == | === Konfiguracja pluginu postgresql === |
| Linia 6: | Linia 6: |
| === Konfiguracja postgresql.conf === | ==== Konfiguracja postgresql.conf ==== |
| Linia 27: | Linia 27: |
| === Utworzenie użytkownika w bazie danych === | ==== Utworzenie użytkownika w bazie danych ==== |
| Linia 32: | Linia 32: |
| == collectd.conf == | ==== collectd.conf ==== |
| Linia 48: | Linia 48: |
| <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 # |
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.
