sor*_*rin 11 postgresql performance monitoring
我尝试使用 Nagios 脚本来监视 Postgres 数据库上的数据库连接数,但我遇到了这个问题:这些连接数被视为当前打开的连接数,每 5 分钟测量一次。
SELECT sum(numbackends) FROM pg_stat_database;
Run Code Online (Sandbox Code Playgroud)
尽管如此,这似乎错过了大量的短期连接,因此统计数据与现实相去甚远。
我尝试手动运行脚本,我观察到即使在两个连接之间发生了很大的变化,彼此之间的距离也只有几秒钟。
我怎样才能以可靠的方式获得这些信息?像 max(connectios) 发生在一个时间间隔内。
您可以使用 local_preload_libraries 扩展来执行此操作。
像这样的东西:
#include "postgres.h"
#include <string.h>
#ifdef PG_MODULE_MAGIC
PG_MODULE_MAGIC;
#endif
void _PG_init(void)
{
SPI_connect();
int ret = SPI_execute("UPDATE logon_logs SET logged = logged + 1", false, 0);
SPI_finish();
}
/*
* _PG_fini
* Uninstall the hook.
*/
void _PG_fini(void)
{
}
Run Code Online (Sandbox Code Playgroud)
或者通过 NOTIFY 更新
| 归档时间: |
|
| 查看次数: |
12547 次 |
| 最近记录: |