云数据库ClickHouse支持为集群重要监控项设置告警功能,当监控项的值不在设置的阈值范围内时,系统会向告警联系组中联系人发出告警通知,帮助您迅速定位问题。本文介绍如何为云数据库ClickHouse的集群设置告警则。
前提条件
- 集群为社区兼容版或者企业版。 
- 云数据库ClickHouse的告警依赖于ARMS告警管理服务。如果您是RAM用户,您需要具有管理业务实时监控服务(ARMS)AliyunARMSFullAccess的权限。如何授权,请参见为RAM用户授权。 
注意事项
企业版集群暂不支持通过云监控查看监控信息。
操作步骤
通过云数据库ClickHouse控制台
如果您的集群满足以下两个条件,请参见旧控制台操作步骤。
- 集群的创建时间为2021年12月01日之前。 
- 集群所在的地域是华北1(青岛)和华北5(呼和浩特)。 
- 在页面左上角,选择目标集群所在的地域。 
- 在集群列表页面,选择社区版实例列表或者企业版实例列表,单击目标集群ID。 
- 单击左侧导航栏的监控告警。 
- 在监控信息页面,单击集群告警。 
- 单击创建集群告警规则按钮。 说明- 社区版集群此按钮为创建ClickHouse告警规则。 - 企业版集群此按钮为创建企业版ClickHouse告警规则。 
- 在创建ClickHouse告警规则或者创建企业版ClickHouse告警规则页面设置以下参数。 说明- 云数据库ClickHouse告警规则检测类型分为静态阈值类型和自定义PromQL类型,不同的检测类型配置的参数不同。 - 静态阈值检查类型提供了系统预设的告警指标,通过选择已有的告警指标,快速创建对应的指标项的告警规则。 
- PromQL检测类型用于创建非系统预设的告警指标。 
 - 静态域值- 参数 - 说明 - 示例 - 告警名称 - 告警的名称。 - CPU使用率告警 - 检测类型 - 选择静态阈值。 - 静态阈值 - 集群 - 选择需要创建告警规则的集群。 - cc-bp1lxbo89u95**** - 告警分组 - 选择告警分组。 - 不同Prometheus类型支持的告警分组不同,告警分组备选项会随着选择的Prometheus实例类型的不同产生变化。 - ClickHouse开源版 - 告警指标 - 选择想要配置告警的指标,每个告警分组对应不同的指标。 - CPU使用率 - 告警条件 - 基于告警指标预置内容设置告警事件产生条件。 - 当CPU使用率 - 大于80%时,满足告警条件。- 筛选条件 - 无筛选 - 无 - 数据预览 - 数据预览区域展示告警条件对应的PromQL语句,并以时序曲线的形式展示当前告警规则配置的监控指标的值。 - 默认仅展示一个资源的实时值。 
- 您可以在此区域的筛选框中,选择目标资源和时间区间,以查看不同时间段和不同资源的数值。 
 说明- 告警阈值将会以一条红色直线的形式显示在时序曲线中,满足告警阈值的时序曲线显示为深红色,不满足告警阈值的时序曲线显示为蓝色。 
- 将鼠标悬浮于时序曲线上,可以查看对应时间点的资源详情。 
- 在时序曲线上选中一段时间,可以查看对应时间段的时序曲线。 
 - 无 - 持续时间 - 一旦满足告警条件,将直接生成告警事件:只要有任何一个数据点达到阈值,就会触发告警事件。 
- 当告警条件满足持续N分钟时,才产生告警事件:即只有当满足阈值的时间大于等于N分钟时,才产生告警事件。 
 - 1 - 告警等级 - 自定义告警等级。默认告警等级为默认,告警严重程度从默认、P4、P3、P2、P1逐级上升。 - P2 - 告警内容 - 用户收到的告警信息。您可以使用Go template语法在告警内容中自定义告警参数变量。 - 节点:{{$labels.pod_name}} CPU使用率 {{$labels.metrics_params_opt_label_value}} {{$labels.metrics_params_value}}%,当前值 {{ printf "%.2f" $value }}% - 告警通知 - 极简模式 - 通知对象:告警发生后,要通知的对象。 - 通知时段:只在指定的时间段内产生的告警才会被发送,其它时间产生的告警会被忽略。 - 重复策略:在发生告警时的通知策略。  - 普通模式 - 指定快速指定通知策略。 重要- 快速指定通知策略只能保证当前告警规则产生的告警事件一定能够被所选的通知策略匹配到并且产生对应告警。但是,当前告警规则产生的事件同时也可能被其它设置了模糊匹配的通知策略匹配到并且产生告警。告警规则产生的告警事件和通知策略之间是多对多的匹配关系。 - 不指定通知规则。 
- 已创建的通知策略。 说明- 可以通过单击新建通知策略按钮,创建新的通知策略,具体操作,请参见通知策略。 
 - 不定通知策略 - 高级设置 - 告警检查周期 - 告警规则每隔N分钟进行一次检查,判断数据是否满足告警条件。默认值为1分钟,至少设置为1分钟。 - 1分钟 - 数据完整后再检查 - 等待数据采集传输写入存储后,再进行告警检查。默认选择“是”,一般情况下不需要修改。 - 是 - 标签 - 设置告警标签,设置的标签可用作通知策略匹配规则的选项。 - 无 - 注释 - 设置告警的注释。 - 无 - PromQL类型- 参数 - 说明 - 示例 - 告警名称 - 告警的名称。 - Pod的CPU使用率大于8% - 检测类型 - 设置为自定义PromQL。 - 自定义PromQL - 集群 - 选择需要创建告警规则的集群。 - cc-bp1lxbo89u95**** - 参考告警分组 - 选择告警分组。 - 不同Prometheus类型支持的告警分组不同,告警分组备选项会随着选择的Prometheus实例类型的不同产生变化 - ClickHouse开源版 - 参考告警指标 - 可选。参考指标中包括了常见指标的自定义PromQL配置方法,您可以选择已有的类似指标来进行填充,然后参考对应指标的配置方式进行修改以完成告警配置。 - 参考指标参数会根据选择的Prometheus实例类型自动过滤支持的告警指标。 - HTTP连接数 - 自定义PromQL语句 - 使用PromQL语句设置告警则表达式。 - clickhouse_http_conn_usage_count{} > 1000- 数据预览 - 持续时间 - 当告警条件满足时,直接产生告警事件:有任何一个数据点满足阈值,就会产生告警事件。 
- 当告警条件满足持续N分钟时,才产生告警事件:即只有当满足阈值的时间大于等于N分钟时,才会产生告警事件。 
 - 1 - 告警等级 - 自定义告警等级。默认告警等级为默认,告警严重程度从默认、P4、P3、P2、P1逐级上升。 - 默认 - 告警内容 - 用户收到的告警信息。您可以使用Go template语法在告警内容中自定义告警参数变量。 - 命名空间:{{$labels.namespace}}/Pod: {{$labels.pod_name}}/磁盘设备:{{$labels.device}} 使用率超过90%,当前值{{ printf "%.2f" $value }}% - 告警通知 - 极简模式 - 通知对象:告警发生后,要通知的对象。 - 通知时段:只在指定的时间段内产生的告警才会被发送,其它时间产生的告警会被忽略。 - 重复策略:在发生告警时的通知策略。  - 普通模式 - 指定快速指定通知策略。 重要- 快速指定通知策略只能保证当前告警规则产生的告警事件一定能够被所选的通知策略匹配到并且产生对应告警。但是,当前告警规则产生的事件同时也可能被其它设置了模糊匹配的通知策略匹配到并且产生告警。告警规则产生的告警事件和通知策略之间是多对多的匹配关系。 - 不指定通知规则。 
- 已创建的通知策略。 说明- 可以通过单击新建通知策略按钮,创建新的通知策略,具体操作,请参见通知策略。 
 - 不定通知策略 - 高级设置 - 告警检查周期 - 指告警规则每隔N分钟进行一次检查,判断数据是否满足告警条件。默认1分钟,最少设置1分钟。 - 1分钟 - 数据完整后再检查 - 等待数据采集传输写入存储后,再进行告警检查。默认选择“是”,一般情况下不需要修改。 - 是 - 标签 - 设置告警标签,所设置的标签可用作通知策略匹配规则的选项。 - 无 - 注释 - 设置告警的注释。 - 无 
- 设置完成后,单击完成。 
通过云监控控制台
- 登录云监控控制台。 
- 单击左侧导航栏。 
- 在报警规则页面,单击创建报警规则。 
- 在创建报警规则面板,设置以下参数。 - 参数 - 说明 - 产品 - 填写云数据库ClickHouse的集群类型。取值: - 云数据库Clickhouse:2021年12月01日之前购买的云数据库ClickHouse社区兼容版。 
- 云数据库Clickhouse社区兼容版:2021年12月01日之后购买的云数据库ClickHouse社区兼容版。 
 - 资源范围 - 报警规则作用的资源范围。取值: - 全部资源:报警规则作用于指定云产品的全部资源上,对于新加入的资源生效。 
- 应用分组:报警规则作用于指定云产品的指定应用分组内的全部资源上,对于新加入的资源生效。 
- 实例:报警规则作用于指定云产品的指定资源上。 
 - 规则描述 - 报警规则的主体。当监控数据满足报警条件时,触发报警规则。规则描述的设置方法如下: - 单击添加规则。 
- 在设置规则描述面板,先输入规则名称,再设置规则条件。 - 单指标:先选择监控指标,再为其设置阈值和报警级别。 
- 多指标:先选择报警级别,再为两个或两个以上的监控指标设置报警条件。 
- 智能阈值:关于智能阈值的更多信息,请参见概览和创建智能阈值报警规则。 
 
- 单击确定。 
 说明- 关于如何设置复杂的报警条件,请参见报警规则表达式说明。 - 通道沉默周期 - 报警发生后未恢复正常,间隔多久重复发送一次报警通知。取值:5分钟、15分钟、30分钟、60分钟、3小时、6小时、12小时和24小时。 - 某监控指标达到报警阈值时发送报警,如果监控指标在通道沉默周期内持续超过报警阈值,在通道沉默周期内不会重复发送报警通知;如果监控指标在通道沉默周期后仍未恢复正常,则云监控再次发送报警通知。 - 例如:当通道沉默周期选择12小时时,如果报警未恢复正常,则间隔12小时后,云监控会再次发送报警通知。 - 生效时间 - 报警规则的生效时间。报警规则仅在生效期内才会发送报警通知。 说明- 当报警规则不在生效期时,不会发送报警通知,但是报警历史记录仍然会显示在报警历史列表中。 - 报警联系人组 - 发送报警的联系人组。 - 应用分组的报警通知会发送给该报警联系人组中的报警联系人。报警联系人组是一组报警联系人,可以包含一个或多个报警联系人。 - 关于如何创建报警联系人和报警联系人组,请参见创建报警联系人或报警联系人组。 - 标签 - 报警规则的标签。包括标签名称和标签值。 说明- 您最多可设置6组标签。 - 高级设置 - 报警回调 - 公网可访问的URL,用于接收云监控通过POST请求推送的报警信息。目前仅支持HTTP协议。关于如何设置报警回调,请参见使用阈值报警回调。 - 当您需要测试报警回调地址的连通性时,可以执行以下操作。 - 单击回调地址正后方的测试。 - 在WebHook测试面板,您可以通过Webhook返回的状态码和测试结果详情对报警回调地址的连通性进行判断和排查。 说明- 您还可以设置Webhook的回调模板类型和语言,再次单击测试,获取对应的测试结果详情。 
- 单击关闭。 
 - 弹性伸缩 - 如果您打开弹性伸缩开关,当报警发生时,会触发相应的伸缩规则。您需要设置弹性伸缩的地域、弹性伸缩组和弹性伸缩规则。 - 日志服务 - 如果您打开日志服务开关,当报警发生时,会将报警信息发送至日志服务的日志库。您需要设置日志服务的地域、ProjectName和Logstore。 - 关于如何创建Project和Logstore,请参见快速入门。 - 轻量消息队列(原 MNS)— topic - 如果您打开消息服务MNS-Topic开关,当报警发生时,会将报警信息发送至轻量消息队列(原 MNS)的主题。 - 开启此开关,您需要设置轻量消息队列(原 MNS)的地域和主题。如何创建主题,请参见创建主题。 - 函数计算 - 如果您打开函数计算开关,当报警发生时,会将报警通知发送至函数计算进行格式处理。您需要设置函数计算的地域、服务和函数。 - 关于如何创建服务和函数,请参见快速创建函数。 - 无数据处理方法 - 无监控数据时报警的处理方式。取值: - 不做任何处理(默认值) 
- 发送无数据报警 
- 视为恢复 
 
(可选)旧控制台操作步骤
后续步骤
管理通过ClickHouse控制台设置的告警规则,请参见告警规则管理。
相关文档
如果您还不了解云监控,请参见什么是云监控。