告警解释
=======
此告警对应指标“DN临时目录大小”超出配置阈值,此指标反映DN组件临时目录大小。
对系统的影响
- 正常情况下,此指标上涨之后在语句执行完成之后会回落。
- 如果此指标持续上涨,异常占用磁盘,可能触发磁盘只读、磁盘满等情况。
可能原因
- 当work_mem不足时,通过落盘的方式处理ORDER BY,DISTINCT和MERGE JOINS等SQL语句。
- 当work_mem不足时,通过落盘的方式处理散列连接、散列为基础的聚集、散列为基础的IN子查询等SQL语句。
- 如果此指标值较大,说明某些语句将数据汇总到DN上进行排序或者哈希表操作。
处理步骤
-
收到告警后,通过查看监控指标查看指标“DN临时目录大小”,确认指标情况以及触发告警的节点和组件。
-
通过查看监控指标查看“集群数据磁盘已使用百分比(sum(DN)/副本数)”指标。
如果指标持续上涨,且接近只读阈值,可以执行如下命令紧急处理,操作后执行3。
gs_guc reload -Z cmserver -N all -I all -c "datastorage_threshold_value_check = 90"
datastorage_threshold_value_check表示只读阈值,可在“DBS运维管理平台 > 实例管理 > 实例详情 > 参数配置”中查看或修改。
-
登录实例节点,登录1中触发告警的节点,进入告警组件的临时目录,确认当前临时目录占用磁盘的大小。
临时目录:
数据目录
/tmp
其中
数据目录
可以参考查看数据目录。
-
执行如下命令确认当前临时目录下是否有临时文件。
ls | wc -l
- 如果多次执行,结果持续为0,说明临时文件已回收,风险解除,持续观察即可。
- 如果多次执行,此结果不为0,说明存在临时文件。
- 如果数量在减小,说明临时文件在回收,持续观察。
- 如果数量在增加,说明临时文件仍然在产生,占用磁盘会持续增加,执行5。
-
登录实例数据库,执行如下命令确认是否有需要落盘的语句在执行。
select pid, sessionid, query, state, usename, now()-query_start as elp from pg_stat_activity where state = 'active' and query ilike '%create%index%' or query ilike '%order by%' or query ilike '%distinct%' or query ilike '%merge joins%' or query ilike '%join%' order by elp desc;elp对应列的值为SQL执行时间,排在前边的语句说明执行时间长。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
不涉及。
更多详情请参考GaussDB 文档中心:doc.hcs.huawei.com/db/zh-cn/ga…