采集apache日志,因为客户端重复操作(几秒钟内反复刷新、点击检索按钮),现在想实现1分钟内,有超过10条记录就drop,想到的方法是利用fingerprint插件,根据客户端IP、访问URL,计算散列值,再利用metrics插件,添加meter为fingerpinrt值,统计1分钟内的相同fingerpinrt日志条数。现在的问题是:1、
为什么fingerprint值都是重复的,fingerprint具体是什么算法?2、利用metrics插件会生产无数的meter,会严重消耗资源,是不是有更好的办法?如在filter部分构造querydsl语句聚合查询1分钟内的计数值。
fingerprint配置
{
source:["c-ip","url"]
method:"sha1"
key:"0123"
}
为什么fingerprint值都是重复的,fingerprint具体是什么算法?2、利用metrics插件会生产无数的meter,会严重消耗资源,是不是有更好的办法?如在filter部分构造querydsl语句聚合查询1分钟内的计数值。
fingerprint配置
{
source:["c-ip","url"]
method:"sha1"
key:"0123"
}
0 个回复