NewsBlur/archive/munin/postgres_connections
2022-02-16 21:16:24 -08:00

34 lines
1,021 B
Python
Executable file

#!/srv/newsblur/venv/newsblur3/bin/python
from vendor.munin.postgres import MuninPostgresPlugin
class MuninPostgresConnectionsPlugin(MuninPostgresPlugin):
dbname_in_args = False
title = "Postgres active connections"
args = "-l 0 --base 1000"
vlabel = "Active connections"
info = "Shows active Postgresql connections"
@property
def fields(self):
c = self.cursor()
c.execute("SHOW max_connections")
row = c.fetchone()
return (
('connections', dict(
label = "Active connections",
info = "Active connections",
type = "GAUGE",
warning = int(int(row[0]) * 0.7),
critical = int(int(row[0]) * 0.8),
)),
)
def execute(self):
c = self.cursor()
c.execute("SELECT COUNT(1) FROM pg_stat_activity")
row = c.fetchone()
return dict(connections = row[0])
if __name__ == "__main__":
MuninPostgresConnectionsPlugin().run()