告警解释
当集群中单个CN实例上某个数据库的连接数超过限制时,产生该告警。
告警属性
告警ID | 告警级别 | 可自动清除 |
---|---|---|
37017 | 严重 | 是 |
告警参数
参数名称 | 参数含义 |
---|---|
ServiceName | 产生告警的服务名称 |
RoleName | 产生告警的角色名称 |
HostName | 产生告警的主机名 |
Instance | 产生告警的实例 |
databaseName | 连接的数据库名称 |
dbUserName | 连接数据库的用户名 |
对系统的影响
发生数据库连接数超限时,在该CN实例上无法再以普通用户访问该数据库。
可能原因
当前CN实例上访问当前数据库的连接数超过限制。
处理步骤
-
以数据库管理员用户(该用户有权限创建其他数据库用户,比如omm 访问上报告警的CN实例)。具体操作如下所示。
gsql -d postgres -p 25308 postgres=#
-
检查当前CN实例上所有数据库的连接数限制。可以看到在该CN实例上abc数据库的连接数被限制为3。
postgres=# select * from pg_database; datname | datdba | encoding | datcollate | datctype | datistemplate | datallowconn | datconnlimit | datlastsysoid | datfrozenxid | dattablespace | datacl -----------+--------+----------+------------+----------+---------------+--------------+--------------+---------------+--------------+---------------+---------------------------------------------- template1 | 10 | 0 | C | C | t | t | -1 | 13506 | 1336 | 1663 | {=c/xijie_trunk,xijie_trunk=CTc/xijie_trunk} template0 | 10 | 0 | C | C | t | f | -1 | 13506 | 1335 | 1663 | {=c/xijie_trunk,xijie_trunk=CTc/xijie_trunk} postgres | 10 | 0 | C | C | f | t | -1 | 13506 | 1337 | 1663 | abc | 10 | 0 | C | C | f | t | 3 | 13506 | 1336 | 1663 | (4 rows)
-
可以选择关闭部分连接或者增加连接数限制,来处理该告警。增加连接数限制操作如下。
postgres=# update pg_database set datconnlimit=9 where datname='abc'; UPDATE 1 postgres=# select * from pg_database; datname | datdba | encoding | datcollate | datctype | datistemplate | datallowconn | datconnlimit | datlastsysoid | datfrozenxid | dattablespace | datacl -----------+--------+----------+------------+----------+---------------+--------------+--------------+---------------+--------------+---------------+---------------------------------------------- template1 | 10 | 0 | C | C | t | t | -1 | 13506 | 1336 | 1663 | {=c/xijie_trunk,xijie_trunk=CTc/xijie_trunk} template0 | 10 | 0 | C | C | t | f | -1 | 13506 | 1335 | 1663 | {=c/xijie_trunk,xijie_trunk=CTc/xijie_trunk} postgres | 10 | 0 | C | C | f | t | -1 | 13506 | 1337 | 1663 | abc | 10 | 0 | C | C | f | t | 9 | 13506 | 1336 | 1663 | (4 rows)
-
再连接数据库abc,查看告警是否仍然存在。
- 是,执行5。
- 否,处理完毕。
收集故障信息。
-
在FusionInsight Manager界面,单击"系统设置 > 日志下载"。
-
在"服务"下拉框中勾选"MPPDB",单击"确定"。
-
设置日志收集的"开始时间"和"结束时间"分别为告警产生时间的前后1小时,单击"下载"。