云监控为您提供企业级开放型一站式监控解决方案。Hologres已经接入云监控的云服务监控,方便您通过云监控全面了解Hologres实例的资源使用、业务运行及健康状况,及时收到异常报警并做出响应,保证应用程序运行顺畅。本文为您介绍如何通过云监控监测Hologres实例的相关指标并上报告警。
前提条件
已开通Hologres,详情请参见PSQL客户端。
使用建议
目前云监控已经支持按照Hologres实例类型(包括实时数仓Hologres(从实例)、实时数仓Hologres(湖仓加速)、实时数仓Hologres(通用型)、实时数仓Hologres(计算组))展示对应实例的监控指标,不同的实例类型对应专属监控指标,以便更好的监控业务异常并处理,建议将实时数仓Hologres的监控切换为对应实例类型下的监控,以获得更好的监控体验。
云监控指标
当前云监控支持的Hologres实例监控指标详情,请参见Hologres管控台的监控指标。更多有关云监控信息
查看监控指标
您可以直接登录云监控控制台查看。
登录云监控控制台。
在左侧导航栏,单击云产品监控。
在大数据(数加)区域,单击目标实例类型(实时数仓Hologres(从实例)、实时数仓Hologres(湖仓加速)、实时数仓Hologres(通用型)或实时数仓Hologres(计算组)),进入Hologres监控大盘。
单击地域后的图标,选择目标地域。
单击目标实例ID或操作列的监控图表,查看实例相关指标的状态。
说明您可以自定义查看实例指标的时间段,监控数据最多保留30天。
监控告警实践
一键报警
Hologres支持您在云监控中开启一键报警功能,为所有实例设置默认的告警规则,开启后,会创建CPU使用率、磁盘使用率、内存使用率、连接数等相关报警规则,作用于阿里云账号(主账号)下的所有Hologres实例,方便对多个常见的重要指标进行异常告警,快速发现问题。默认告警规则包括:
如果连接数使用率(Info)连续3次平均值>=95就通知,通知对象为云账号报警联系人。
如果存储水位(Warn)连续3次平均值>90就通知,通知对象为云账号报警联系人。
如果内存水位(Warn)连续3次平均值>=90就通知,通知对象为云账号报警联系人。
如果CPU水位(Info)连续3次平均值>=99就通知,通知对象为云账号报警联系人。
默认每次告警的周期为5分钟,可自定义设置。
自定义报警
除默认的一键告警外,您还可以根据业务情况,对更多的监控指标设置告警,详情请参见创建报警规则。
告警设置最佳实践
Hologres对于不同监控指标,推荐设置的告警如下:
实例CPU使用率(%)
该指标反映了Hologres的资源是否存在瓶颈,也反映了您的资源使用是否充分。推荐的告警如下:
告警规则:
紧急(Critical):“实例CPU使用率连续60个周期(1周期=1分钟),监控值>=99%”,有效监测集群的资源水位,长期打满需要扩容。
警告(Warn):“实例CPU使用率连续10个周期(1周期=1分钟),监控值>=99%”,可以及时观测是否因为业务变动导致CPU打满。
不建议出现一次实例CPU使用率达到100%就告警。短时间内的CPU使用率达到100%并不表示系统过载或异常,而是代表了高效的资源利用。
不建议CPU的告警水位设置过低。因为没有任务运行时,也可能有系统组件在运行,会占用一定资源。
Worker节点CPU使用率(%)
该指标反映了Hologres中每个Worker资源是否存在瓶颈,也反映了资源使用是否充分。推荐告警如下:
告警规则
紧急(Critical):“Worker节点CPU使用率连续60个周期(1周期=1分钟),监控值>=99%”,有效监测每个Worker的资源水位,长期打满需要扩容。
警告(Warn):“Worker节点CPU使用率连续10个周期(1周期=1分钟),监控值>=99%”,可以及时观测是否因为业务变动导致CPU打满。
不推荐出现一次Worker节点CPU使用率达到100%就告警。短时间内的CPU使用率达到100%并不表示系统过载或异常,而是代表了高效的资源利用。
不推荐CPU的告警水位设置过低,因为没有任务运行时,也可能有系统组件在运行,会占用一定资源。
实例内存使用率(%)
该指标反映了实例的内存使用情况。推荐的告警如下:
告警规则
紧急(Critical):“实例内存使用率连续60个周期(1周期=1分钟),监控值>=99%”,有效监测集群的内存水位,长期打满建议扩容。
警告(Warn):“实例内存使用率连续10个周期(1周期=1分钟),监控值>=99%”,可以及时观测是否因为业务变动导致内存打满。
不推荐内存指标的告警水位设置过低。因为内存不仅用于Query运行,也用于Meta、Cache等部分,在实例任务空闲时也有一定的内存使用。
Worker节点内存使用率(%)
该指标反映了Worker的内存使用情况。推荐的告警如下:
告警规则
紧急(Critical):“Worker节点内存使用率连续60个周期(1周期=1分钟),监控值>=99%”,有效监测集群的内存水位,长期打满建议扩容。
警告(Warn):“Worker节点内存使用率连续10个周期(1周期=1分钟),监控值>=99%”,可以及时观测是否因为业务变动导致内存打满。
不推荐内存指标的告警水位设置过低,因为内存不仅用于Query运行,也用于Meta、Cache等部分,在实例任务空闲时也有一定的内存使用。
连接数使用率最高的FE的连接数使用率(%)
该指标反映了当前每个FE的连接数使用率最大值。推荐的告警规则如下:
警告(Warn):“连接数使用率最高的FE的连接数使用率连续5个周期(1周期=1分钟),监控值>=95%”,可以有效监测集群的连接数使用情况,及时清理空闲连接。
wal sender使用率最高的FE的wal sender使用率(%)
该指标反映了当前每个FE的Walsender使用率最大值。推荐的告警规则如下:
警告(Warn):“wal sender使用率最高的FE的wal sender使用率连续5个周期(1周期=1分钟),监控值>=95%”,可以有效监测集群的Walsender使用情况。
本实例正在运行中Query最长的时长(milliseconds)
该指标可以有效监测实例中当前时刻是否有长时间运行的Query。推荐的告警规则如下:
警告(Warn):“本实例正在运行中Query最长的时长连续10个周期(1周期=1分钟),监控值>=3600000milliseconds”。
正在运行的 Serverless Computing 的查询中,最长的时长(milliseconds)
该指标可以有效监测Serverless集群中的任务运行情况,如果运行时间过长,可以及时取消相关任务。推荐的告警规则如下:
警告(Warn):“正在运行的Serverless Computing的查询中,最长的时长连续10个周期(1周期=1分钟),监控值>=3600000milliseconds”。
失败Query QPS(countS)
该指标反映了实例中运行Query的失败情况,可以针对失败Query设置告警,方便及时了解实例中Query运行情况。推荐的告警规则如下:
警告(Warn):“失败Query QPS中,连续10个周期(1周期=1分钟),监控值>=10countS”。如果实例中失败Query较多,建议根据慢Query日志查看详情失败详情,并针对性治理。
FE replay延迟(milliseconds)
该指标反映了每个FE的replay时间,如果时间过长,说明replay慢,可能原因为FE卡住,导致Query卡住,需要及时处理。推荐的告警如下:
告警规则
警告(Warn):“FE replay延迟连续10个周期(1周期=1分钟),监控值>=300000milliseconds”,出现告警时,前往HoloWeb活跃Query查看是否有长时间运行的Query,并尝试取消Query。
不推荐FE replay延迟设置的时间过短。因为实例中有元数据的修改就有FE的replay,通常情况下,FE的replay时间在秒级都属于正常现象。
主从同步延迟(milliseconds)
该指标仅在从实例中展示,反映了主从同步的延迟情况,推荐的告警规则如下:
警告(Warn):“主从同步延迟连续10个周期(1周期=1分钟),监控值>=600000milliseconds”。
每个DB统计信息缺失的表个数(countS)
该指标反映了Auto Analyze的质量,如果长时间存在缺失统计信息的表,可以对表手动执行Analyze命令,详情请参见ANALYZE和AUTO ANALYZE。推荐的告警如下:
告警规则
警告(Warn):“每个DB统计信息缺失的表个数连续60个周期(1周期=1分钟),监控值>=10countS”。
不建议监控值设置过低。因为实例中表数量太多时,也会导致Auto Analyze执行速度降低。
常见监控问题排查
当监控指标出现不符合业务预期的波动,或者出现告警时,可以通过监控指标常见问题排查监控指标的问题并处理。
API方式访问监控指标
除了云监控控制台,云监控也提供自定义监控大盘、API等方式访问监控指标,以便业务能够更加灵活地访问监控。其中:
授予RAM用户云监控查看权限
默认情况下,RAM用户无法查看云监控的指标信息。此时需要您对该RAM用户授予云监控查看权限。
您可使用阿里云账号(主账号)登录RAM控制台,为RAM用户授予如下权限,授权方法请参见为RAM用户授权。
您也可根据需求自行选择权限。
权限名称 | 权限功能描述 |
AliyunCloudMonitorFullAccess | 管理云监控(CloudMonitor)的权限。 |
AliyunCloudMonitorReadOnlyAccess | 只读访问云监控(CloudMonitor)的权限。 |
AliyunCloudMonitorMetricDataReadOnlyAccess | 访问云监控(CloudMonitor)时序指标数据的权限。 |