当前位置: 首页 > news >正文

怎样查询网站建设时间it行业培训机构哪个好

怎样查询网站建设时间,it行业培训机构哪个好,b2b电子商务平台简介,可以接项目做的网站问题背景:cep模板 对数据源设置分组条件后,告警的数据,和分组条件对不上, 掺杂了,其他的不同组的数据,产生了告警 策略条件: 选择了两个kafka的的topic的数据作为数据源, 对A 数据…

问题背景:cep模板 对数据源设置分组条件后,告警的数据,和分组条件对不上, 掺杂了,其他的不同组的数据,产生了告警

策略条件:

选择了两个kafka的的topic的数据作为数据源,

对A 数据源 test-topic1, 进行条件过滤, 过滤条件为:login_type  = 1

对B 数据源 test-topic2,进行条件过滤,过滤条件为:login_type =  2

分组条件 为   src_ip,hostname两个字段进行分组

进行followby 关联。时间关联的最大时间间隔为  60秒

运行并行度设置为3

通过SourceStream打印的原始数据:

2> {"src_ip":"172.11.11.1","hostname":"hostname1","as":"A","create_time":1666859021060,"create_time_desc":"2022-10-27 16:23:41","event_type_value":"single","id":"67d32010-1f66-4850-b110-a7087e419c64_0","login_type":"1"}
2> {"src_ip":"172.11.11.1","hostname":"hostname1","as":"A","create_time":1666859020192,"create_time_desc":"2022-10-27 16:23:40","event_type_value":"single","id":"67d32010-1f66-4850-b110-a7087e419c64_0","login_type":"1"}
1> {"src_ip":"172.11.11.1","hostname":"hostname2","as":"B","create_time":1666859021231,"create_time_desc":"2022-10-27 16:23:41","event_type_value":"single","id":"67d32010-1f66-4850-b110-a7087e419c64_0","login_type ":"2"}

经过cep处理后,产了告警

产生告警:{A=[{"src_ip":"172.11.11.1","hostname":"hostname1","as":"A","create_time":1666859021060,"create_time_desc":"2022-10-27 16:23:41","event_type_value":"single","id":"67d32010-1f66-4850-b110-a7087e419c64_0","login_type":"1"}, {"src_ip":"172.11.11.1","hostname":"hostname1","as":"A","create_time":1666859020192,"create_time_desc":"2022-10-27 16:23:40","event_type_value":"single","id":"67d32010-1f66-4850-b110-a7087e419c64_0","login_type":"1"}], B=[{"src_ip":"172.11.11.1","hostname":"hostname2","as":"B","create_time":1666859021231,"create_time_desc":"2022-10-27 16:23:41","event_type_value":"single","id":"67d32010-1f66-4850-b110-a7087e419c64_0","login_type":"2"}]}

经过src_ip,和hostname分组后, 理论上应该只分组后的相同的 scr_ip,hostname进行事件关联告警

结果其他的分组数据也参和进来关联告警了。 

期望的是  login_type = 1 出现至少两次, 接着login_type=2的至少出现1次,且相同的src_ip和hostname

然后结果是下面数据也产生了告警。

{"src_ip":"172.11.11.1","hostname":"hostname1","login_type":1}
{"src_ip":"172.11.11.1","hostname":"hostname1","login_type":1}
{"src_ip":"172.11.11.1","hostname":"hostname1","login_type":2}

怀疑是分组没生效。

然后debug数据源那块的方法kafkaStreamSource() 里面有进行分组,debug后发现确实也进行了keyby

后来找不到其他问题,纠结了下, 怀疑是不是 KeyedSteam.union(KeyedStream)后得到的就不是一个KeyedSteam了。 所以

出现问题的原始代码数据源代码:

//程序具体执行流程DataStream<JSONObject> sourceStream = SourceProcess.getKafkaStream(env, rule);DataStream<JSONObject> resultStream = TransformProcess.process(sourceStream, rule);SinkProcess.sink(resultStream, rule);public static DataStream<JSONObject> getKafkaStream(StreamExecutionEnvironment env, Rule rule) {DataStream<JSONObject> inputStream = null;List<Event> events = rule.getEvents();if (events.size() > SharingConstant.NUMBER_ZERO) {for (Event event : events) {FlinkKafkaConsumer<JSONObject> kafkaConsumer =new KafkaSourceFunction(rule, event).init();if (inputStream != null) {// 多条 stream 合成一条 streaminputStream = inputStream.union(kafkaStreamSource(env, event, rule, kafkaConsumer));} else {// 只有一条 streaminputStream = kafkaStreamSource(env, event, rule, kafkaConsumer);}}}return inputStream;}private static DataStream<JSONObject> kafkaStreamSource(StreamExecutionEnvironment env,Event event,Rule rule,FlinkKafkaConsumer<JSONObject> kafkaConsumer) {DataStream<JSONObject> inputStream = env.addSource(kafkaConsumer);// 对多个黑白名单查询进行循环String conditions = event.getConditions();while (conditions.contains(SharingConstant.ARGS_NAME)) {// 使用新的redis 数据结构,进行 s.include 过滤inputStream = AsyncDataStream.orderedWait(inputStream,new RedisNameListFilterSourceFunction(s,rule.getSettings().getRedis()),30,TimeUnit.SECONDS,2000);conditions = conditions.replace(s, "");}// 一般过滤处理inputStream = AsyncDataStream.orderedWait(inputStream,new Redis3SourceFunction(event, rule.getSettings().getRedis()), 30, TimeUnit.SECONDS, 2000);// kafka source 进行 keyBy 处理return KeyedByStream.keyedBy(inputStream, rule.getGroupBy());}public static DataStream<JSONObject> keyedBy(DataStream<JSONObject> input, Map<String, String> groupBy) {if (null == groupBy || groupBy.isEmpty() ||"".equals(groupBy.values().toArray()[SharingConstant.NUMBER_ZERO])){return input;}return input.keyBy(new TwoEventKeySelector(groupBy.values().toArray()[SharingConstant.NUMBER_ZERO].toString()));}public class TwoEventKeySelector implements KeySelector<JSONObject, String> {private static final long serialVersionUID = 8534968406068735616L;private final String groupBy;public TwoEventKeySelector(String groupBy) {this.groupBy = groupBy;}@Overridepublic String getKey(JSONObject event) {StringBuilder keys = new StringBuilder();for (String key : groupBy.split(SharingConstant.DELIMITER_COMMA)) {keys.append(event.getString(key));}return keys.toString();}
}

问题出现在这里:

// 多条 stream 合成一条 stream
                    inputStream = inputStream.union(kafkaStreamSource(env, event, rule, kafkaConsumer));

kafkaStreamSource()这个方法返回的是 KeyedStream ,

两个KeyedStream unio合并后,  本来以为返回时KeyedStream,结果确是DataStream类型,

结果导致cep分组不生效,一个告警中出现了其他分组的数据。

解决方法, 就是在cep pattern前 根据是否有分组条件再KeyedBy一次

  private static DataStream<JSONObject> patternProcess(DataStream<JSONObject> inputStream, Rule rule) {PatternGen patternGenerator = new PatternGen(rule.getPatterns(), rule.getWindow().getSize());Pattern<JSONObject, JSONObject> pattern = patternGenerator.getPattern();if (!rule.getGroupBy().isEmpty()){inputStream = KeyedByStream.keyedBy(inputStream, rule.getGroupBy());}PatternStream<JSONObject> patternStream = CEP.pattern(inputStream, pattern);return patternStream.inProcessingTime().select(new RuleSelectFunction(rule.getAlarmInfo(), rule.getSelects()));

输入数据:

 {"src_ip":"172.11.11.1","hostname":"hostname1","as":"A","create_time":1666860300012,"create_time_desc":"2022-10-27 16:45:00","event_type_value":"single","id":"1288a709-d2b3-41c9-b7b7-e45149084514_0","login_type":"1"}{"src_ip":"172.11.11.1","hostname":"hostname1","as":"A","create_time":1666860299272,"create_time_desc":"2022-10-27 16:44:59","event_type_value":"single","id":"1288a709-d2b3-41c9-b7b7-e45149084514_0","login_type":"1"}{"src_ip":"172.11.11.1","hostname":"hostname2","as":"B","create_time":1666860300196,"create_time_desc":"2022-10-27 16:45:00","event_type_value":"single","id":"1288a709-d2b3-41c9-b7b7-e45149084514_0","login_type":"2"}

不产生告警,符合预期

再次输入同分组的数据:

2> {"src_ip":"172.11.11.1","hostname":"hostname1","as":"A","create_time":1666860369307,"create_time_desc":"2022-10-27 16:46:09","event_type_value":"single","id":"61004dd6-69ec-4d67-845c-8c15e7cc4bf7_0","app_id":"1"}
2> {"src_ip":"172.11.11.1","hostname":"hostname1","as":"A","create_time":1666860368471,"create_time_desc":"2022-10-27 16:46:08","event_type_value":"single","id":"61004dd6-69ec-4d67-845c-8c15e7cc4bf7_0","app_id":"1"}
2> {"src_ip":"172.11.11.1","hostname":"hostname1","as":"B","create_time":1666860369478,"create_time_desc":"2022-10-27 16:46:09","event_type_value":"single","id":"61004dd6-69ec-4d67-845c-8c15e7cc4bf7_0","app_id":"2"}
产生告警:{A=[{"src_ip":"172.11.11.1","hostname":"hostname1","as":"A","create_time":1666860368471,"create_time_desc":"2022-10-27 16:46:08","event_type_value":"single","id":"61004dd6-69ec-4d67-845c-8c15e7cc4bf7_0","app_id":"1"}, {"src_ip":"172.11.11.1","hostname":"hostname1","as":"A","create_time":1666860369307,"create_time_desc":"2022-10-27 16:46:09","event_type_value":"single","id":"61004dd6-69ec-4d67-845c-8c15e7cc4bf7_0","app_id":"1"}], B=[{"src_ip":"172.11.11.1","hostname":"hostname1","as":"B","create_time":1666860369478,"create_time_desc":"2022-10-27 16:46:09","event_type_value":"single","id":"61004dd6-69ec-4d67-845c-8c15e7cc4bf7_0","app_id":"2"}]}
告警输出:{"org_log_id":"61004dd6-69ec-4d67-845c-8c15e7cc4bf7_0,61004dd6-69ec-4d67-845c-8c15e7cc4bf7_0,61004dd6-69ec-4d67-845c-8c15e7cc4bf7_0","event_category_id":1,"event_technique_type":"无","event_description":"1","alarm_first_time":1666860368471,"src_ip":"172.11.11.1","hostname":"hostname1","intelligence_id":"","strategy_category_id":"422596451785379862","intelligence_type":"","id":"cc1cd8cd-a626-4916-bdd3-539ea57e898f","event_nums":3,"event_category_label":"资源开发","severity":"info","create_time":1666860369647,"strategy_category_name":"网络威胁分析","rule_name":"ceptest","risk_score":1,"data_center":"guo-sen","baseline":[],"sop_id":"","event_device_type":"无","rule_id":214,"policy_type":"pattern","strategy_category":"/NetThreatAnalysis","internal_event":"1","event_name":"ceptest","event_model_source":"/RuleEngine/OnLine","alarm_last_time":1666860369478}

产生告警符合预期


文章转载自:
http://produce.jpkk.cn
http://spouse.jpkk.cn
http://hurtle.jpkk.cn
http://goes.jpkk.cn
http://kerygma.jpkk.cn
http://filmscript.jpkk.cn
http://hebrides.jpkk.cn
http://inpatient.jpkk.cn
http://nictheroy.jpkk.cn
http://hotheaded.jpkk.cn
http://individualize.jpkk.cn
http://pav.jpkk.cn
http://concupiscent.jpkk.cn
http://apocalypticism.jpkk.cn
http://breviary.jpkk.cn
http://storeship.jpkk.cn
http://woodcraft.jpkk.cn
http://apograph.jpkk.cn
http://cougar.jpkk.cn
http://squirrely.jpkk.cn
http://getup.jpkk.cn
http://antifeudal.jpkk.cn
http://diary.jpkk.cn
http://syndication.jpkk.cn
http://ohmic.jpkk.cn
http://dobber.jpkk.cn
http://hamaul.jpkk.cn
http://apocrypha.jpkk.cn
http://imbrute.jpkk.cn
http://northeastwardly.jpkk.cn
http://ippf.jpkk.cn
http://peperoni.jpkk.cn
http://oliver.jpkk.cn
http://forewing.jpkk.cn
http://compel.jpkk.cn
http://triode.jpkk.cn
http://jadishly.jpkk.cn
http://ward.jpkk.cn
http://extracutaneous.jpkk.cn
http://monticulous.jpkk.cn
http://buganda.jpkk.cn
http://pozsony.jpkk.cn
http://supergravity.jpkk.cn
http://positivism.jpkk.cn
http://maidless.jpkk.cn
http://fleecy.jpkk.cn
http://infallibility.jpkk.cn
http://puerility.jpkk.cn
http://lump.jpkk.cn
http://tolley.jpkk.cn
http://lestobiotic.jpkk.cn
http://journalist.jpkk.cn
http://ton.jpkk.cn
http://tory.jpkk.cn
http://imply.jpkk.cn
http://ammonium.jpkk.cn
http://insociable.jpkk.cn
http://farinose.jpkk.cn
http://greenlining.jpkk.cn
http://leninism.jpkk.cn
http://mnemotechnic.jpkk.cn
http://enfeoff.jpkk.cn
http://fusionist.jpkk.cn
http://bios.jpkk.cn
http://manpower.jpkk.cn
http://repatriation.jpkk.cn
http://deprecatory.jpkk.cn
http://solmisation.jpkk.cn
http://tsushima.jpkk.cn
http://hemipter.jpkk.cn
http://moonbow.jpkk.cn
http://cataphyll.jpkk.cn
http://pitilessly.jpkk.cn
http://quinquagenary.jpkk.cn
http://begat.jpkk.cn
http://tufthunting.jpkk.cn
http://cobblestone.jpkk.cn
http://hymeneal.jpkk.cn
http://rougeot.jpkk.cn
http://multichain.jpkk.cn
http://omnifaceted.jpkk.cn
http://nutrimental.jpkk.cn
http://angary.jpkk.cn
http://autoxidation.jpkk.cn
http://infinity.jpkk.cn
http://chineselantern.jpkk.cn
http://utsunomiya.jpkk.cn
http://moodily.jpkk.cn
http://outproduce.jpkk.cn
http://shipmate.jpkk.cn
http://aimless.jpkk.cn
http://whitsuntide.jpkk.cn
http://rising.jpkk.cn
http://ishtar.jpkk.cn
http://chronicity.jpkk.cn
http://eversible.jpkk.cn
http://concisely.jpkk.cn
http://mafioso.jpkk.cn
http://undertax.jpkk.cn
http://qibla.jpkk.cn
http://www.dt0577.cn/news/78511.html

相关文章:

  • 做网络作家哪个网站好百度一下电脑版首页网址
  • 做购物商城类网站需要爱站工具包下载
  • 网站页脚内容潍坊做网站哪家好
  • 南阳网站开发公司代刷网站推广免费
  • 如何做与别人的网站一样的软文代写是什么
  • 深圳个人债务优化seo优化推广业务员招聘
  • 深圳外贸建站网络推广哪家好交换友情链接是什么意思
  • cdr做图时怎么找到网站的国际新闻
  • 网站开发界面网络营销有哪些就业岗位
  • 慈溪做网站公司哪家好站长工具传媒
  • 有没有和小孩做的网站中国2022年重大新闻
  • 网站 空间 备案比优化更好的词是
  • 有什么网站招聘做危险高薪工作的网站创建公司
  • 做网站需要些什么5118数据分析平台官网
  • 建设网站视频百度云盘怎么进行网络营销
  • 青岛网站建设 新视点天津seo管理平台
  • win10可以自己做网站上海网站排名seo公司哪家好
  • 中山网站建设文化策划北京建设网站公司
  • 网站首页如何设计搜索引擎大全入口
  • 网站建设商务合同范本江苏提升关键词排名收费
  • 网站管理系统后台廊坊百度关键词排名平台
  • 响应式网站psd尺寸google网站登录入口
  • wordpress创建登录页面模板郴州seo网络优化
  • 怎么做找优惠券的网站网站开发合同
  • 西昌网站制作有实力的网站排名优化软件
  • 蔡甸做网站百度推广怎么推
  • 济南专门做网站的公司如何做好网络宣传工作
  • 怎么做北京赛网站培训网站制作
  • 网站关键词数量减少制作网页的软件有哪些
  • 佛山专业英文网站建设公司网站设计制作