Add more retrics
This commit is contained in:
parent
1e72d34f5f
commit
7c3fe0ba40
13
pgmon-metrics.cfg
Normal file
13
pgmon-metrics.cfg
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# Discovery metrics
|
||||||
|
metric=discover_dbs:set::SELECT datname FROM pg_database
|
||||||
|
metric=discover_rep:set::SELECT client_addr || '_' || regexp_replace(application_name, '[ ,]', '_', 'g') AS repid, client_addr, state FROM pg_stat_replication
|
||||||
|
|
||||||
|
# Cluster-wide metrics
|
||||||
|
metric=version:value::SHOW server_version_num
|
||||||
|
metric=max_frozen_age:value::SELECT max(age(datfrozenxid)) FROM pg_database
|
||||||
|
|
||||||
|
# Per-database metrics
|
||||||
|
metric=db_stats:row::SELECT * FROM pg_stat_database WHERE datname = '{datname}'
|
||||||
|
|
||||||
|
# Per-replication metrics
|
||||||
|
metric=rep_stats:row::SELECT * FROM pg_stat_database WHERE client_addr || '_' || regexp_replace(application_name, '[ ,]', '_', 'g') = '{repid}'
|
||||||
@ -52,6 +52,7 @@
|
|||||||
host=/var/run/postgresql
|
host=/var/run/postgresql
|
||||||
#port=5432
|
#port=5432
|
||||||
#user=postgres
|
#user=postgres
|
||||||
|
user=zbx_monitor
|
||||||
#password=None
|
#password=None
|
||||||
|
|
||||||
# Default database to connect to when none is specified for a metric
|
# Default database to connect to when none is specified for a metric
|
||||||
@ -64,9 +65,4 @@ host=/var/run/postgresql
|
|||||||
# Metrics
|
# Metrics
|
||||||
#metrics={}
|
#metrics={}
|
||||||
|
|
||||||
|
include=/etc/zabbix/pgmon-metrics.cfg
|
||||||
|
|
||||||
metric=max_frozen_age:value::SELECT max(age(datfrozenxid)) FROM pg_database
|
|
||||||
metric=db_stats:row::SELECT * FROM pg_stat_database WHERE datname='{datname}'
|
|
||||||
metric=discover_dbs:set::SELECT datname FROM pg_database
|
|
||||||
|
|
||||||
|
|||||||
4
pgmon.py
4
pgmon.py
@ -181,7 +181,7 @@ class Config:
|
|||||||
raise InvalidConfigError("{}: {}", config_file, line)
|
raise InvalidConfigError("{}: {}", config_file, line)
|
||||||
|
|
||||||
if key == 'include':
|
if key == 'include':
|
||||||
self.read_file(value, read_metric)
|
self.read_file(value, read_metrics)
|
||||||
elif key == 'pid_file':
|
elif key == 'pid_file':
|
||||||
self.pid_file = value
|
self.pid_file = value
|
||||||
elif key == 'ipc_socket':
|
elif key == 'ipc_socket':
|
||||||
@ -676,7 +676,7 @@ class Worker(threading.Thread):
|
|||||||
req.set_result(json.dumps(res[0]))
|
req.set_result(json.dumps(res[0]))
|
||||||
elif metric.type == 'column':
|
elif metric.type == 'column':
|
||||||
req.set_result(json.dumps([list(r.values())[0] for r in res]))
|
req.set_result(json.dumps([list(r.values())[0] for r in res]))
|
||||||
elif metric_type == 'set':
|
elif metric.type == 'set':
|
||||||
req.set_result(json.dumps(res))
|
req.set_result(json.dumps(res))
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user