【问题标题】:monitoring number of postgresql connections监控postgresql连接数
【发布时间】:2016-07-28 19:41:10
【问题描述】:

我想在我的 Zabbix 服务器上监控并发 PostgreSQL 连接的数量,所以我创建了一个 cron 作业,将 pg_stat_activity 上的 COUNT 行输出到一个文件,zabbix 每分钟读取一次.

我的问题是,我可能会遇到这样的情况:我得到一个 COUNT,比如说 10,然后有 50 个连接的快速峰值,回到 10,我再次执行 COUNT。 在这种情况下,峰值不会被注意到。

我想知道某些计数器在每次连接/断开时都会增加/减少,但没有想到如何做到这一点。 我也可以以更高的频率进行 COUNT 并保持每分钟的平均值,但这并不能解决问题。

对此有什么想法吗?

谢谢, 加布里埃尔

【问题讨论】:

  • 您需要尝试,如果您遇到特定问题,请在此处发布一个最小示例。

标签: postgresql zabbix


【解决方案1】:

使用日志文件。这是 Linux 的快速教程。

1)

找出postgres.conf文件的位置:

postgres=# show config_file;
┌──────────────────────────────────────────┐
│               config_file                │
├──────────────────────────────────────────┤
│ /etc/postgresql/9.5/main/postgresql.conf │
└──────────────────────────────────────────┘

2)

在其中查找和编辑参数(将副本存储在之前的某个位置):

log_connections = on
log_disconnections = on
log_destination = 'csvlog'
logging_collector = on

3)

重启 PostgreSQL:

sudo service postgresql restart

(不确定但可能sudo service postgresql reload 就足够了)

4)

找出日志的存储位置:

postgres=# show data_directory; show log_directory;
┌──────────────────────────────┐
│        data_directory        │
├──────────────────────────────┤
│ /var/lib/postgresql/9.5/main │
└──────────────────────────────┘

┌───────────────┐
│ log_directory │
├───────────────┤
│ pg_log        │
└───────────────┘

5)

快完成了。在文件/var/lib/postgresql/9.5/main/pg_log/*.csv 中,您将找到有关连接/断开连接的记录。如何处理这些信息取决于您。

【讨论】:

    猜你喜欢
    • 2012-12-12
    • 2012-01-04
    • 2012-11-07
    • 2021-07-25
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    相关资源
    最近更新 更多