Skip to content

配置告警

为什么需要配置告警

监控分析页面(上一章)能帮您看到系统的运行状态,但您不可能 7×24 小时盯着屏幕。告警的作用就是:当系统发生了您关心的事情时,主动通知您或您的团队,让您不必时刻守在电脑前。

矩尺平台的告警体系遵循一条清晰的链路:

发生了什么(告警源) → 满足什么条件(告警配置) → 怎么通知(告警动作 → 通知)

举个实际例子:某台服务器节点突然下线了,"节点下线"是一个系统事件(告警源);您提前创建了一条告警配置,指定"当转发引擎 engine117 上的服务器池出现节点下线事件时,触发告警";告警配置绑定了告警动作,动作里指定了"严重等级,发邮件给运维组"(通知)。

告警源:能对什么配置告警

当前支持的告警源

目前矩尺平台支持对以下两类告警源配置告警:

告警源说明举例
系统事件平台自动产生的事件,表示"系统发生了什么变化"设备上线/下线、虚拟服务启停、SSL 证书即将过期、主备切换、节点上线/下线
操作事件管理员在 Web 控制台的操作记录新增虚拟服务、删除服务器池、修改配置、上传升级包
异常监控指标在短时间内(15 分钟内)发生突升或突降时自动检测吞吐量突降、并发连接数突增、每秒请求数异常波动

注意: 免费版不支持对"异常"配置告警。

未来版本将支持

后续版本将支持直接对监控指标配置告警阈值。例如:虚拟服务的"每秒请求数"连续 5 分钟超过 10000 时触发告警,或者转发引擎的"CPU 使用率"超过 90% 时触发告警。这将让告警更加灵活和精准。

告警配置三步走

完整配置一条告警需要按顺序完成以下三步(后一步依赖前一步):

第一步:创建"通知"        →  定义"通知谁、通过什么渠道"
第二步:创建"告警动作"     →  定义"什么等级、触发哪个通知"
第三步:创建"告警配置"     →  定义"监控哪个对象、监听什么事件/异常、触发哪个告警动作"

下面逐步展开。

第一步:创建通知

通知定义了告警消息的送达方式。入口:【监控与告警 → 通知】。

通知分为两种类型:

邮件通知

在"邮件通知"标签页下点击"新增",可配置:

邮件通知配置

配置项说明
名称便于识别的名称,例如"运维组邮件通知"
收件人可选择多个系统用户(需先在账户管理中创建)
抄送人可选择多个系统用户

脚本通知

在"脚本通知"标签页下点击"新增",可配置:

脚本通知配置

配置项说明
名称便于识别的名称,例如"调用钉钉机器人"
脚本内容支持在页面直接编写 Python 脚本,或上传本地脚本文件

脚本通知是最灵活的通知方式,您可以在脚本中实现:

  • 调用钉钉/企业微信/飞书的 Webhook 机器人发消息
  • 调用短信网关 API 发送短信
  • 调用 ITSM/工单系统自动创建工单
  • 执行自定义的自动化运维操作(如自动扩容)

注意

免费版不支持邮件通知和脚本通知功能。

第二步:创建告警动作

告警动作将"通知"与"告警等级"绑定。入口:【监控与告警 → 告警 → 告警动作】标签页。

告警动作配置

配置项说明
名称便于识别的名称,例如"严重告警-通知运维组"
告警等级选择"严重"、"重要"或"一般",用于区分告警的紧急程度
通知方式勾选第一步中创建的通知(可多选,严重告警可同时发邮件和执行脚本)

设计思路: 告警动作是"等级 + 通知"的封装。同一条通知可以绑定到不同等级的告警动作中。比如"严重"等级触发邮件 + 脚本双通知,"一般"等级只触发邮件通知。

第三步:创建告警配置

告警配置是最终生效的规则,决定了监控什么、触发什么。入口:【监控与告警 → 告警 → 告警配置】标签页。

告警配置

配置项说明
名称自定义告警配置名称,例如"engine117 节点下线告警"
告警源选择"系统事件"或"异常"(免费版仅支持系统事件)
资源类型选择要监控的对象类型:虚拟服务、服务器池、转发引擎、第三方虚拟服务、第三方服务器池、第三方 IP 节点
资源名称选择具体的对象。例如资源类型选了"转发引擎",这里可以指定具体的 engine117
事件/异常类型选择具体要监听的事件或异常类型。当告警源为"系统事件"时,可选如"节点下线"、"设备离线"等
告警动作选择第二步中创建的告警动作
过期时间设置告警记录的保留时间,超过后自动清除(最长保存 7 天)

指定监控对象的粒度

告警配置的一个重要特性是可以精确指定监控对象。您不需要对全局所有同类资源一刀切:

  • 只想监控某个重要的服务器池?在资源名称中只选它。
  • 只想监控某台关键的转发引擎?在资源名称中只选它。
  • 想监控所有虚拟服务?不指定具体资源名称即可。

这样您可以对核心业务配置严格的多渠道告警(邮件 + 脚本),对非核心业务只配置简单的邮件告警,避免告警疲劳。

查看告警记录

告警触发后,您可以在【监控与告警 → 告警 → 所有告警】标签页中查看所有告警记录。

所有告警

支持按告警源、资源类型、事件类型、告警等级、产生时间等条件筛选。每条告警记录包含产生时间、告警源、资源类型、资源名称、告警配置、告警等级、过期时间、通知结果等信息。

  • 告警源:可点击链接跳转到对应的事件或异常详情
  • 通知结果:可展开查看这条告警的通知是否成功送达

此外,在各个资源对象(虚拟服务、服务器池等)的详情页中,切换到"告警"标签页,可以查看该对象专属的告警记录,方便在排查问题时集中查看相关告警。

监控分析告警

配置示例

示例一:服务器节点下线邮件告警

场景: 当服务器池"核心交易池"中的任意节点下线时,发邮件通知运维组。

配置步骤:

  1. 创建通知(监控与告警 → 通知 → 邮件通知 → 新增):

    • 名称:运维组邮件
    • 收件人:选择运维组成员的系统账号
  2. 创建告警动作(监控与告警 → 告警 → 告警动作 → 新增):

    • 名称:重要告警-邮件通知
    • 告警等级:重要
    • 通知方式:勾选 运维组邮件
  3. 创建告警配置(监控与告警 → 告警 → 告警配置 → 新增):

    • 名称:核心交易池节点下线告警
    • 告警源:系统事件
    • 资源类型:服务器池
    • 资源名称:核心交易池
    • 事件类型:选择 节点下线
    • 告警动作:重要告警-邮件通知
    • 过期时间:7天

效果: 任何时候"核心交易池"中有节点下线,运维组会收到告警邮件。

示例二:转发引擎异常 + 脚本通知

场景: 当转发引擎 engine117 出现任何异常时,通过 Python 脚本调用钉钉机器人发送告警消息。

配置步骤:

  1. 创建通知(监控与告警 → 通知 → 脚本通知 → 新增):
    • 名称:钉钉告警脚本
    • 脚本内容(示例):
python
import requests
import json
import os

# 矩尺平台会将告警信息通过环境变量传入
alarm_info = {
    "source": os.environ.get("ALARM_SOURCE"),
    "resource": os.environ.get("ALARM_RESOURCE"),
    "level": os.environ.get("ALARM_LEVEL"),
    "time": os.environ.get("ALARM_TIME")
}

webhook_url = "https://oapi.dingtalk.com/robot/send?access_token=xxx"
message = {
    "msgtype": "text",
    "text": {
        "content": f"【矩尺告警】{alarm_info['level']}\n"
                   f"对象:{alarm_info['resource']}\n"
                   f"详情:{alarm_info['source']}\n"
                   f"时间:{alarm_info['time']}"
    }
}
requests.post(webhook_url, json=message)
  1. 创建告警动作(监控与告警 → 告警 → 告警动作 → 新增):

    • 名称:严重告警-钉钉通知
    • 告警等级:严重
    • 通知方式:勾选 钉钉告警脚本
  2. 创建告警配置(监控与告警 → 告警 → 告警配置 → 新增):

    • 名称:engine117 异常告警
    • 告警源:异常
    • 资源类型:转发引擎
    • 资源名称:engine117
    • 告警动作:严重告警-钉钉通知
    • 过期时间:7天

效果: engine117 出现任何异常时,钉钉群会收到告警消息。


更多告警配置细节请参考用户手册 告警通知