跳转到主要内容

在 Flashduty On-call

您可通过以下2种方式,获取一个集成秘钥,任选其一即可。

使用专属集成

当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。
  1. 进入 Flashduty 控制台,选择 协作空间,进入某个空间的详情页面
  2. 选择 集成数据 tab,点击 添加一个集成,进入添加集成页面
  3. 选择 ElastAlert 2 集成,点击 保存,生成卡片。
  4. 点击生成的卡片,可以查看到 集成秘钥,复制备用,完成。

使用共享集成

当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。
  1. 进入 Flashduty 控制台,选择 集成中心=>告警事件,进入集成选择页面。
  2. 选择 ElastAlert 2 集成:
    • 集成名称:为当前集成定义一个名称。
  3. 配置默认路由,并选择对应的协作空间(集成创建后可以前往 路由 进行更多路由规则的配置)。
  4. 点击 保存 后,复制当前页面的新生成的 集成秘钥 备用。
  5. 完成。

在 ElastAlert 2


配置 ElastAlert 2 告警

遵循 ElastAlert Flashduty 推送配置文档
  1. 创建或编辑告警规则文件,例如 rules/elastalert2_alert.yaml
  2. alert 字段中填写 flashduty 告警类型。
  3. flashduty_integration_key 字段中填写集成的 集成秘钥
  4. 其中 flashduty_titleflashduty_event_status 是必填字段,其他字段可以按需填写,字段释义请参考下表:
字段必含类型释义
titlestring告警标题,不超过512个字符,超出后将自动截断。
event_statusstring告警状态。

枚举值(首字母大写):Critical:严重,Warning:警告,Info:提醒,Ok:恢复。

当指定为Ok时,意味着对告警进行自动恢复。
alert_keystring告警标识,用于对已经存在的告警进行更新或自动恢复。

您可以自定义此值,但不可超过255个字符。您也可以依赖系统自动生成,该值会在响应中返回。

如果您上报的是恢复事件,则此值必须存在。
descriptionstring告警描述
checkstring告警检查项
resourcestring告警资源
servicestring告警服务名
metricstring告警指标名
groupstring告警发生的组
clusterstring告警发生的集群
appstring告警发生的应用
envstring告警发生的环境
示例:

name: "elastalert2 告警"
type: "frequency"
index: "pgy_audit*"
is_enabled: true
num_events: 1
realert:
  minutes: 1
terms_size: 50
scan_entire_timeframe: true
timeframe:
  minutes: 60
timestamp_field: "created_at"
timestamp_type: "unix_ms"
use_strftime_index: false
alert_subject: "Test {0} 123 aa☃ {1}"
alert_subject_args:
  - "account_id"
  - "operation"
alert_text: "Test {0}  123 bb☃ {1}"
alert_text_args:
  - "request_id"
  - "operation_name"
filter:
  - query:
      query_string:
        query: "created_at:*"

# ------- Flashduty ----------------
alert: flashduty
flashduty_integration_key: "xxxx"
flashduty_title: "elastalert2 告警"
flashduty_event_status: "Warning"
flashduty_alert_key: "abc"
flashduty_description: "log error"
flashduty_check: "log error"
flashduty_resource: "10.1.1.1"
flashduty_service: "service1"
flashduty_metric: "error"
flashduty_group: "group1"
flashduty_cluster: "bj"
flashduty_app: "app1  "
flashduty_env: "dev"
# ------- Flashduty ----------------
5.重启 ElastAlert,等待告警触发。