告警转发是日志易企业版提供的功能:将日志易系统的告警通过HTTP接口POST给接收机器,从而非常方便的与客户现有的告警监控系统相集成。
经过配置后(具体配置方式请咨询日志易售后支持人员),用户通过Web页配置的告警信息将在日志易系统中触发后也同时发送到配置中指定的地址。
接口使用HTTP方式用POST方法发送给指定的地址,告警内容在HTTP的body中,格式如下:
{ "_alert_id": Number, // 对应这个告警在表中的ID "_alert_meta": String, // 对应插件中的META信息 "send_time": Number, //往接收服务发送的时间点,unix时间戳。模板内是python的datetime对象 "is_alert_recovery": false // 默认不是告警恢复邮件结果 "exec_time": Number, //搜索的执行时间点,unix时间戳。模板内是python的diatomite对象。 "name": String, // 对应Web页面上告警名 "description": String, // 对应Web页面上告警的描述 "check_interval": Number, // 检测时间间隔 "search": { "name": String, // 对应Web上已存搜索的名字 "source_group": String, // 日志分组 "query": String, // query内容 "filter": String // filter内容 "extend_search_name": String, // 告警扩展搜索(可以没有)对应Web上已存搜索的名字 "extend_source_group": String, // 告警扩展搜索(可以没有)的日志分组 "extend_query": String, // 告警扩展搜索(可以没有)的query内容 "extend_filter": String // 告警扩展搜索(可以没有)的filter内容 }, "result": { "total": Number, //命中了多少条日志 "hits": [ { "appname": String, "tag": String, "hostname": String, "raw_message": String }// 一个hit只包含这四项 {// 或者当是spl的统计型的结果的时候 // hit的字段是key:value分别为用户 // eval的值 } ..... ], // 命中的日志的内容,只有count统计和spl统计才有命中的具体日志 "terms": [ { "key": String, "doc_count": Number }, ], // 字段统计告警中的独立数统计才有的结果 "columns": [ { "name": String, // 当spl时候列名的顺序是有意义的 "type": String, } ], // 当时spl统计才有的结果 "value": Number // 连续统计告警,基线告警的结果。字段统计告警里的最大最小平均值统计的结果。 "extend_total": Number, //告警扩展搜索(可以没有)命中了多少条日志,当为spell的transaction和stats型结果时候是transaction的group和stats结果有多少行,而不是与之关联的事件数。 "extend_hits": [// (可以没有) {// 普通事件结果 "appname": String, "tag": String, "raw_message": String, "hostname": String }// 当扩展搜索是spl搜索的stats结果时候,是在spl中eval出来的字段的值 ], //告警扩展搜索(可以没有)搜索出来的内容 }, "strategy": { "name": "count|field_stat|sequence_stat|baseline_cmp|spl_query",// 五种告警策略方式 "description": "事件数告警|字段统计告警|连续统计告警|基线对比告警|spl告警", // 策略中文描述,对应网页上 "trigger": { "field": String, // 字段,策略count没有此字段 "start_time": Number, // 这次告警查询的开始时间。 "end_time": Number, // 这次告警查询的结束时间。 "method": "count|cardinality|sum|avg|max|min", //统计方法,count策略的method是count "method_as_string": String, "threshold": Number, //只有连续告警统计有阈值 "baseline_base_value": Number, //只有基线告警才有,基线的百分比的100%代表的数值。 "baseline_start_time": Number, // 对照基线的时间范围开始时间 "baseline_end_time": Number, // 对照基线的时间范围结束时间 "compare": ">|<|in|ex", // 大于或小于,基线告警专有的还有in和ex "compare_style": String, // 合法值为fixed或者relative "compare_value": [ Number ] // Array[Number]比较的值,除了基线告警都是一个值比较,基线告警因为有in和ex这里会是两个值 } // 触发条件 } }