通知和告警

概述

为了保证您的集群和应用随时处于健康状态,提高组织的生产力,您需要知悉集群和项目内出现的计划内事件和计划外事件。事件会触发您设置的告警,您就会收到通知,您可以根据通知作出对应的操作。

通知和告警是基于Prometheus Alertmanager构建的,借助这些工具,Rancher 可以通知集群所有者项目所有者集群内发生的事件,由他们决定如何处理触发告警的事件。

收到告警信息之前,您需要在集群层级设置至少一个通知

只有Rancher 管理员集群所有者或集群成员项目所有者有权限管理告警。

告警的作用范围

Rancher 的告警可以作用于集群层级或项目层级。

在项目层级,Rancher 监控特定的部署,发出的告警信息主要和以下几个方面相关:

  • 部署是否可用
  • 工作负载的状态
  • Pod 的状态
  • Prometheus 表达式类型的告警是否超过了设定的阈值

项目层级的默认告警

当您启用项目监控的时候,Rancher 提供了一些项目层级的默认告警。如果您已经在集群层级配置了通知,当项目触发任意一个默认告警的时候,您就可以通过 Slack、电子邮件、微信、webhook 等方式收到相关的告警。项目层级的默认告警如下表所示。

告警解释
Less than half workload available工作负载的键值对是 appworkload时,如果只有少于一半的工作负载可以使用,Rancher 会触发这条重要的告警。
Memory usage close to the quota如果工作负载占用的内存超过了工作负载的内存资源配额,会触发这条告警。您可以从 Rancher UI 中的安全和主机配置查看工作负载的内存限制。

除了上述的默认告警以外,Rancher 还有其他的默认告警,详情请参考集群监控的默认告警

添加项目告警组

先决条件: 收到项目告警信息前,您必须添加项目层级的告警提醒。

  1. 单击 全局,打开全局视图的下拉菜单,选择到您需要设置告警的项目。

  2. 单击工具,从下拉菜单中单击告警,进入告警页面。如果您使用的是 v2.2.0 之前的版本,请选择 资源 > 告警

  3. 单击 添加告警组,添加告警组。

  4. 输入告警的名称,名称应该总结这一组告警的作用,您可以将多个告警放到同一个告警组中。如有需要,您可以单击添加描述,在文本框中添加告警组的描述。 Rancher 支持创建的告警分为四类:Pod 告警(Pod Alerts)、工作负载告警(Workload Alerts)、工作负载 Selector 告警(Workload Selector Alerts)和表达式告警(Metric Expression Alerts)。根据告警类别的不同,您需要完成以下步骤。

Pod 告警(Pod Alerts)

Pod 告警的作用是监控 Pod 的状态。

  1. 输入告警的名称。

  2. 选择 Pod 选项,从下拉菜单中选择一个 Pod。

  3. 选择一个触发告警的 Pod 状态:

    • 未运行
    • 未调度
    • 在最近的 x 分钟内重启 x 次
  4. 选择告警的重要程度,有以下三个等级供您选择:

    • 危险: 最紧急,已经对 Pod 产生了影响,需要用户进行一些操作,修正这个影响。

    • 警告: 一般紧急,暂时对 Pod 没有影响。

    • 信息: 最不紧急,仅仅是通知用户,Pod 内发生了一个事件。

      告警的重要程度由集群状态决定。举个例子,Pod 完成了一次任务运行后,向用户发送告警,这种情况只是知会用户,Pod 运行了一次,没有故障也不会对 Pod 产生潜在的影响,所以这种告警应该匹配的是信息等级。但是,如果一个重要的 Pod 出现调度失败的情况,这可能会影响后续操作,这种告警应该匹配的是危险等级。

  5. 配置高级选项。默认状态下,一个告警组内的所有的告警规则都会继承告警组中的这些选项。但配置告警规则的时候,您也可以覆盖告警组中的这些高级设置。

    • 告警组等待时长: 第一次发送告警信息前,等待时间,默认为 30 秒。
    • 告警组间隔时长: 在发送了第一次的告警之后有新告警产生时,等待是否有告警触发,经过这个时间后,可以把这段时间的告警批量发送给接受者,默认为 3 分钟。
    • 重复间隔: 发送两条相同的告警之间的时间间隔,默认为 1 小时。

工作负载告警(Workload Alerts)

工作负载告警的作用是监控工作负载的可用性。

  1. 输入告警的名称。

  2. 选择Workload ,然后从下拉菜单中选择一个工作负载。

  3. 选择可用百分比。当工作负载的可用百分比低于这个数值时,会触发告警。

  4. 选择告警的重要程度。

    • 危险: 最紧急,已经对工作负载产生了影响,需要用户进行一些操作,修正这个影响。

    • 警告: 一般紧急,暂时对工作负载没有影响。

    • 信息: 最不紧急,仅仅是通知用户,工作负载内发生了一个事件。

      建议您在选择告警重要程度的时候,综合考虑设置的百分比和工作负载的重要程度。

  5. 配置高级选项。默认状态下,一个告警组内的所有的告警规则都会继承告警组中的这些选项。但配置告警规则的时候,您也可以覆盖告警组中的这些高级设置。

    • 告警组等待时长: 第一次发送告警信息前,等待时间,默认为 30 秒。
    • 告警组间隔时长: 在发送了第一次的告警之后有新告警产生时,等待是否有告警触发,经过这个时间后,可以把这段时间的告警批量发送给接受者,默认为 3 分钟。
    • 重复间隔: 发送两条相同的告警之间的时间间隔,默认为 1 小时。

工作负载 Selector 告警(Workload Selector Alerts)

工作负载 Selector 告警的作用是监控添加了某个标签的全部工作负载的可用性。

  1. 输入告警的名称。

  2. 选择Workload Selector 选项,单击添加选择器 ,输入标签的键值对。如果有工作负载符合这个描述,就会触发告警。

  3. 选择告警的重要程度。

    • 危险: 最紧急,已经对工作负载产生了影响,需要用户进行一些操作,修正这个影响。
    • 警告: 一般紧急,暂时对工作负载没有影响。
    • 信息: 最不紧急,仅仅是通知用户,工作负载内发生了一个事件。

    建议您在选择告警重要程度的时候,综合考虑设置的百分比和工作负载的重要程度。

  4. 配置高级选项。默认状态下,一个告警组内的所有的告警规则都会继承告警组中的这些选项。但配置告警规则的时候,您也可以覆盖告警组中的这些高级设置。

    • 告警组等待时长: 第一次发送告警信息前,等待时间,默认为 30 秒。
    • 告警组间隔时长: 在发送了第一次的告警之后有新告警产生时,等待是否有告警触发,经过这个时间后,可以把这段时间的告警批量发送给接受者,默认为 3 分钟。
    • 重复间隔: 发送两条相同的告警之间的时间间隔,默认为 1 小时。

    建议您在选择告警重要程度的时候,综合考虑设置的百分比和工作负载的重要程度。

表达式告警(Metric Expression Alerts)

v2.2.4 或更新版本可用

如果您启用了项目监控,这个告警类型使用 Prometheus 表达式查询的项目是否过载。

  1. 输入告警的名称。

  2. 输入一个新的表达式,或选择一个已有的表达式,下拉菜单展示了 Prometheus 自带的监控指标

  3. 选择触发告警的方式。

    • 等于: 表达式的值与阈值相等时触发告警。
    • 不等于:表达式的值与阈值不相等时触发告警。
    • 大于:表达式的值大于阈值时触发告警。
    • 小于:表达式的值小于阈值时触发告警。
    • 大于或等于:表达式的值大于或等于阈值时触发告警。
    • 小于或等于:表达式的值小于或等于阈值时触发告警。
  4. 输入触发告警的阈值。

  5. 输入一个持续时间,表示在这条告警在指定的时间段内一直是有效的。

  6. 选择告警的重要程度。

    • 危险: 最紧急,已经对工作负载产生了影响,需要用户进行一些操作,修正这个影响。
    • 警告: 一般紧急,暂时对工作负载没有影响。
    • 信息: 最不紧急,仅仅是通知用户,工作负载内发生了一个事件。

    建议您基于告警对操作的影响,选择告警的重要程度。例如,您设定了两条关于容器内存限制的告警,一条告警规定了内存使用率超过 60%时发出告警信息,另一条告警规定了内存使用率超过 95%时发出告警信息;您可以将前者的重要程度设置为信息,将后者的重要程度设置为危险

  7. 配置高级选项。默认状态下,一个告警组内的所有的告警规则都会继承告警组中的这些选项。但配置告警规则的时候,您也可以覆盖告警组中的这些高级设置。

    • 告警组等待时长: 第一次发送告警信息前,等待时间,默认为 30 秒。
    • 告警组间隔时长: 在发送了第一次的告警之后有新告警产生时,等待是否有告警触发,经过这个时间后,可以把这段时间的告警批量发送给接受者,默认为 3 分钟。
    • 重复间隔: 发送两条相同的告警之间的时间间隔,默认为 1 小时。

后续操作

  1. (可选)添加其他告警规则 到这个告警组内。

  2. 返回告警组页面,单击 ... > 升级 ,进入编辑告警组页面,在页面最下方告警 到旁边的文本框中选择发送告警消息的方式,和告警消息的收件人。您可以选择多种方式发送告警信息, 也可以随时修改收件人的名单。

结果: 完成告警和告警信息的配置。触发告警时,告警信息会通过您指定的方式发送给指定的收件人。

管理项目告警

打开项目,导航到您需要调整的告警。然后选择工具 > 告警。在 v2.2.0 之前的版本,您可以选择资源 > 告警。管理项目告警提供了以下功能:

  • 停用告警/重新激活告警
  • 修改告警相关参数
  • 删除多余的告警规则
  • 对已触发的告警开启静音
  • 对已静音的告警取消静音
最后由 niusmallnan更新 于