ALM-5023110 云数据库 GaussDB 节点CPU使用率过高
告警解释
系统每一分钟检查云数据库 GaussDB所有节点的CPU使用率,当连续三次监测到CPU使用率超过设置的阈值90%(默认)时,产生此告警。
告警属性
|
告警ID |
告警级别 |
告警类型 |
告警归属 |
业务类型 |
是否可自动清除 |
|---|---|---|---|---|---|
|
5023110 |
重要 |
业务质量告警 |
租户面 |
云数据库 GaussDB 节点 |
是 |
告警参数
|
类别 |
参数名称 |
参数含义 |
|---|---|---|
|
定位信息 |
区域 |
产生告警的资源所属区域 |
|
云数据库 GaussDB 节点名称 |
产生告警的数据库实例节点名称 |
|
|
云数据库 GaussDB 节点ID |
产生告警的数据库实例节点资源ID |
|
|
附加信息
|
门限值 |
产生告警的指标监控门限值 |
|
当前值 |
产生告警的指标当前值 |
|
|
可能影响 |
产生当前告警对系统的可能影响 |
|
|
级别 |
产生告警的级别 |
|
|
云数据库 GaussDB节点 |
产生告警的数据库实例节点ID |
|
|
云数据库 GaussDB实例 |
产生告警的数据库实例ID |
|
|
阈值规则名称 |
产生告警的阈值告警规则名称 |
对系统的影响
GaussDB节点CPU使用率过高,实例节点响应变慢,导致SQL执行变慢或者超时。
可能原因
- 节点读写时延增加,CPU的io_wait明显增加,导致CPU使用率过高。
- 某个进程启动时占用CPU较多,导致CPU使用率过高,例如全量备份期间启动的gs_roach的master进程等。
- 线程池使用率明显增加,也可能触发CPU使用率过高。
- 某些SQL语句占用大量数据库开销,包括但不限于大量元组扫描、数据排序、表关联等,导致CPU使用率过高。
处理步骤
- 使用浏览器,通过地址“https://ManageOne运维面主页的访问地址:31943”,登录ManageOne运维面,或通过地址“https://ManageOne主门户的访问地址”,登录ManageOne主门户,选择“运维中心(OC)”,进入ManageOne运维面。
- 密码方式:输入账号和密码。
- 默认账号:bss_admin
对于从8.2.0或更早版本升级上来的ManageOne,默认账号为admin。
- 默认密码:参见《华为云Stack 8.3.1 账户一览表》的“A类(Portal)”页签中,“ManageOne运维面”账户对应的默认密码。
- 默认账号:bss_admin
- USB Key方式:插入已预置用户证书的USB Key,选择设备和用户证书,并输入PIN码。
- 密码方式:输入账号和密码。
- 在“告警 > 告警管理 > 当前告警”中查看集中告警,获取告警中的实例ID或者工作ID。
- 在ManageOne运维面右下角“常用链接”栏中单击“ServiceCM”,跳转到ServiceCM插件列表界面。
- 在ServiceCM插件列表界面,单击“自助开发平台 > dbs-ops”,进入DBS运维管理平台。
- 根据告警定位信息处获取的实例ID信息,在DBS运维管理平台搜索对应实例,进入实例详情页。
- 查看当前实例是否有备份或其他工作流在进行。
- 登录运营面,查看发生告警时间段近3小时内的关键指标情况。
- 使用浏览器,通过账号地址“https://域名”登录运营面。
- 在左上角菜单服务列表找到云数据库GaussDB,单击进入实例列表页面。
- 根据获取的实例ID和节点ID,查看对应实例、对应节点。
- 单击发生告警节点的“查看监控指标”按钮,查看节点指标监控。
- 在节点指标监控页面的右上角搜索框中输入指标的关键字“CPU”,进行模糊查询。
- 观察CPU指标变化情况。
- 如果当前业务处于高峰期,则CPU使用率会有所上升。结合业务情况判断是否需要扩容规格。
- 如果非业务高峰期,则需要继续定位。
- 参考登录实例节点,登录发生告警的节点。
- 执行以下命令,查看进程占用情况。
ps ux
- 确认存在除gaussdb进程外大量占用CPU的进程,则需要确定是否为定期开启或者运维相关进程,如全量备份、重分布等。
则根据业务情况决定是否终止对应任务/进程,或者限制进程的启动时间。
- 如果不存在gaussdb进程外占用大量CPU的进程。则继续执行。
- 确认存在除gaussdb进程外大量占用CPU的进程,则需要确定是否为定期开启或者运维相关进程,如全量备份、重分布等。
- 执行如下命令,查看当前节点的IO和CPU占用情况。
iostat -ctmx 1
确认CPU占比较高的项。如果io_wait占比较大,需要确认对应节点的“数据盘每次读取花费的时间”指标是否较高或者有明显上涨。
如果确认有明显上涨,排查方法如下:
- 联系底层运维,确认是否存在共宿主机问题。
如果确认为共宿主机问题,则可以通过主备切换进行规避或者联系底层运维进行虚拟机迁移。
- 排查业务语句是否占用大量IO开销。
监控指标“数据磁盘读吞吐”、“数据磁盘写吞吐”和“IOPS”均同步上升。需要联系用户终止和优化SQL语句。
- 联系底层运维,确认是否存在共宿主机问题。
- 排查是否为慢SQL导致CPU使用率过高。
- 使用gsql连接系统库。
gsql -d postgres -p 8000 -U user -r
user请替换为实际的系统管理员账号,此处需要输入密码。
- 分布式登录CN节点,如果CPU占用率较高的节点上有CN组件,则应连接CPU占用率较高的节点,如果CPU占用率较高的节点不存在CN组件,则登录任意的CN节点。
- 主备版登录主DN节点。
- 执行如下命令,查看指定时间段的慢SQL。
select node_name,substr(query,0,100) from dbe_perf.get_global_slow_sql_by_timestamp('2023-01-17 09:25:55','2023-01-18 19:25:55');
- 开始和结束时间根据实际情况修改。
- 须在系统库中查询,用户库无法查询。
- 联系用户,根据业务情况,优化或者终止慢SQL。
- 使用gsql连接系统库。
- 如果以上操作均无法解决此告警,联系技术支持进行处理。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
不涉及。
浙公网安备 33010602011771号