最近做了关于postgresql数据库的简单监控,脚本如下:
import psycopg2
import sys
sqlItem = {
'alive': "select 1;", # 监控存活
'active_connections': "select count(*) from pg_stat_activity where state = 'active';", # 当前会话数
'server_connections': "select count(*) from pg_stat_activity where backend_type = 'client backend'", # 服务端进程数
'idle_connections': "select count(*) from pg_stat_activity where state = 'idle'", # 空闲连接
'idle_tx_connections': "select count(*) from pg_stat_activity where state = 'idle in transaction'", # 空闲连接事务
'locks_waiting': "select count(*) from pg_stat_activity where backend_type = 'client backend' and wait_event_type like '%Lock%'", # 锁等待
'server_maxcon': "select setting::int from pg_settings where name