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>


{i}  (c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.

CollectDaemon/PluginPgsql (ostatnio edytowane 2019-12-07 10:45:23 przez wtps0n)