open-falcon / falcon-plus

An open-source and enterprise-level monitoring system.
Apache License 2.0
7.27k stars 1.53k forks source link

报警聚合之后长度超过数据库TEXT限制,数据库插入失败无法查看 #927

Closed qlans closed 3 years ago

qlans commented 3 years ago

[P3][PROBLEM] 103 value. e.g. xxxx detail in email 报警群有时候会收到如上的信息,正常应该是一个访问连接,很少发生,一般在报警数量比较多的情况下会出现。

这个信息出现在combiner.go中,因为插入错误或者返回为空。请求的是Dashboard/portal/links/store接口 image

Dashboard中代码如下 image 分析发现是因为alert_link表的context字段是text,最多存65535个字节,查过之后插入会报_mysql_exceptions.DataError: (1406, "Data too long for column 'content' at row 1")错误。

修复: 1、Dashboard插入限制长度,但由于中文等字符可能占用多个字节,字节限制并不好处理 2、修改text为mediumtext,大小由64KB增大到16MB,使用场景中没有再出现超限问题