云监控为您提供企业级开放型一站式监控解决方案。Hologres已经接入云监控的云服务监控,方便您通过云监控全面了解Hologres实例的资源使用、业务运行及健康状况,及时收到异常报警并做出响应,保证应用程序运行顺畅。本文为您介绍如何通过云监控监测Hologres实例的相关指标并上报告警。
前提条件
已开通购买Hologres实例。
使用建议
目前云监控已经支持按照Hologres实例类型(包括实时数仓Hologres(从实例)、实时数仓Hologres(湖仓加速)、实时数仓Hologres(通用型)、实时数仓Hologres(计算组))展示对应实例的监控指标,不同的实例类型对应专属监控指标,以便更好的监控业务异常并处理,建议将实时数仓Hologres的监控切换为对应实例类型下的监控,以获得更好的监控体验。在云监控控制台的实时数仓Hologres页面,顶部提供地域选择器,页签栏可切换不同产品形态的监控视图,包括实时数仓Hologres(从实例)、实时数仓Hologres(湖仓加速)、实时数仓Hologres(通用型)和实时数仓Hologres(计算组)。您可单击创建报警规则或查看报警规则进行报警管理。
云监控指标
当前云监控支持的Hologres实例监控指标详情,更多有关云监控信息请参见Hologres管控台的监控指标。
全量指标与系统事件定义
云监控以指标列表页面统一维护每个云产品推送的监控元数据。您可以在Hologres的指标列表页面查看云监控中Hologres推送的全部时序指标和系统事件。其中,时序指标包含Metric ID、指标含义、单位、维度(Dimensions)和最小统计周期(Min Periods);系统事件包含事件名称、事件含义、事件状态和事件等级。
Hologres在云监控中的命名空间(Namespace)为acs_hologres,不同实例类型对应不同的指标集,您可以按实例类型查看。
实例类型 | 指标列表页面 |
全部( | |
实时数仓Hologres(通用型) | |
实时数仓Hologres(计算组) | |
实时数仓Hologres(湖仓加速) | |
实时数仓Hologres(从实例) |
访问指标列表页面需登录阿里云账号,RAM用户还需具备云监控查看权限,详情请参见授予RAM用户云监控查看权限。
指标列表页面展示的是云监控当前实际推送的指标和事件。若与本文或Hologres管控台的监控指标存在差异,请以指标列表页面为准。
调用云监控API查询监控数据时,所需的Namespace、MetricName、Dimensions和Period均取自该页面,详情请参见API方式访问监控指标。
查看监控指标
您可以直接登录云监控控制台查看。
登录云监控控制台。
在左侧导航栏,单击云产品监控。
在大数据计算区域,单击目标实例类型(实时数仓Hologres(从实例)、实时数仓Hologres(湖仓加速)、实时数仓Hologres(通用型)或实时数仓Hologres(计算组)),进入Hologres监控大盘。
单击地域后的
图标,选择目标地域。单击目标实例ID或操作列的监控图表,查看实例相关指标的状态。
说明您可以自定义查看实例指标的时间段,监控数据最多保留30天。
监控告警实践
一键报警
Hologres支持您在云监控中开启一键报警功能,为所有实例设置默认的告警规则,开启后,会创建CPU使用率、磁盘使用率、内存使用率、连接数等相关报警规则,作用于阿里云账号(主账号)下的所有Hologres实例,方便对多个常见的重要指标进行异常告警,快速发现问题。默认告警规则包括:
如果连接数使用率(Info)连续3次平均值>=95就通知,通知对象为云账号报警联系人。
如果存储水位(Warn)连续3次平均值>90就通知,通知对象为云账号报警联系人。
如果内存水位(Warn)连续3次平均值>=90就通知,通知对象为云账号报警联系人。
如果CPU水位(Info)连续3次平均值>=99就通知,通知对象为云账号报警联系人。
默认每次告警的周期为5分钟,可自定义设置。
创建报警规则
除默认的一键告警外,您还可以根据业务情况,对更多的监控指标设置告警,操作详情如下:
告警设置最佳实践
实例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的连接数使用率(%)
警告(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执行速度降低。
订阅系统事件
除时序指标外,Hologres还将部分运维操作以系统事件的形式接入云监控。您可以订阅这些事件,通过短信、邮件等方式接收通知,及时了解实例中正在进行的运维操作。当前已接入云监控的系统事件如下:
功能 | 系统事件 |
计算组分时弹性 | 计算组分时弹性变配开始、计算组分时弹性变配完成、计算组分时弹性变配失败 |
运维事件 | 创建计划事件、计划事件开始执行、计划事件执行成功、计划事件执行失败、计划事件取消、计划事件执行时间变更 |
查看事件:登录云监控控制台,在左侧导航栏选择,在事件监控页签按云产品、事件级别、事件名称和时间段筛选,其中云产品选择交互式分析。详情请参见查看系统事件。
订阅事件:在系统事件页面单击立即创建,订阅类型选择系统事件,产品选择交互式分析。完整操作步骤请参见设置事件告警。
Hologres在云监控中的产品名称为交互式分析。
系统事件的完整定义(事件名称、事件含义、事件状态和事件等级)请参见Hologres的指标列表页面。
旧版系统事件报警规则功能已不再升级并会逐步下线,建议您使用事件订阅功能。
常见监控问题排查
当监控指标出现不符合业务预期的波动,或者出现告警时,可以通过监控指标常见问题排查监控指标的问题并处理。
API方式访问监控指标
除了云监控控制台,云监控也提供自定义监控大盘、API等方式访问监控指标,以便业务能够更加灵活地访问监控。其中:
调用API前,请先在Hologres的指标列表页面获取目标指标的取值:Namespace取acs_hologres,MetricName取页面中的Metric ID列,Period取页面中的Min Periods列,Dimensions取页面中的Dimensions列(其中userId无需填写,云监控会自动获取当前账号的ID并代入)。取值规则详情请参见附录1 云产品监控指标。
授予RAM用户云监控查看权限
默认情况下,RAM用户无法查看云监控的指标信息。此时需要您对该RAM用户授予云监控查看权限。
您可使用阿里云账号(主账号)登录RAM控制台,为RAM用户授予如下权限,授权方法请参见管理RAM用户的权限。
您也可根据需求自行选择权限。
权限名称 | 权限功能描述 |
AliyunCloudMonitorFullAccess | 管理云监控(CloudMonitor)的权限。 |
AliyunCloudMonitorReadOnlyAccess | 只读访问云监控(CloudMonitor)的权限。 |
AliyunCloudMonitorMetricDataReadOnlyAccess | 访问云监控(CloudMonitor)时序指标数据的权限。 |