进程监控

最近更新时间:2024-05-17 09:32:21

我的收藏

功能背景

在一些通用场景下,客户应用不仅需要数据库实例整体的监控信息,同时也需要通过实例中的进程监控信息来判断业务健康度,从而进一步做业务逻辑的决策。典型的,在 SaaS 场景中,用户的一个租户单独使用一个数据库实例的 database。业务方通过监控连接到 database 进程的资源使用情况,能进一步判断租户当前的健康度等情况。

功能介绍

云数据库 PostgreSQL 提供了数据库实例的进程监控信息。系统提供了一个视图 tencentdb_process_system_usage,该视图包含如下信息,说明如下:
字段名
说明
pid
进程号。
username
用户名。
datname
数据库名。
backend_type
进程类型。可能的类型为 autovacuum launcher, autovacuum worker, logical replication launcher, logical replication worker, parallel worker, background writer, client backend, checkpointer, startup, walreceiver, walsender and walwriter。除此以外,由扩展注册的后台 Worker 可能有额外的类型。
query
当前正在执行的查询语句。
cpu_usage
当前查询采样期间的 CPU 使用率,对于采样时间间隔,系统提供参数 tencentdb_system_stat.sampling_interval 可以设置,该参数的单位为毫秒,默认为1000。
memory_bytes
当前采样期间内存使用率,单位字节。

使用说明

1. 新建插件,具体语句如下:
postgres=> create extension tencentdb_system_stat;
CREATE EXTENSION
postgres=>
2. 视图 tencentdb_process_system_usage 的使用跟其他视图一样,只需要登录数据库 PostgreSQL 实例,进行查询即可,如下语句所示:
select * from tencentdb_process_system_usage;