[ https://issues.apache.org/jira/browse/EAGLE-2?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15043788#comment-15043788 ]
Hao Chen commented on EAGLE-2: ------------------------------ {code} Exception in thread "main" java.lang.UnsupportedOperationException: output fields should be declared in sub class of KafkaSourcedSpoutProvider at org.apache.eagle.dataproc.impl.storm.kafka.KafkaSourcedSpoutScheme.getOutputFields(KafkaSourcedSpoutScheme.java:63) at backtype.storm.spout.SchemeAsMultiScheme.getOutputFields(SchemeAsMultiScheme.java:39) at storm.kafka.KafkaSpout.declareOutputFields(KafkaSpout.java:185) at backtype.storm.topology.TopologyBuilder.getComponentCommon(TopologyBuilder.java:226) at backtype.storm.topology.TopologyBuilder.createTopology(TopologyBuilder.java:110) at org.apache.eagle.datastream.StormTopologyCompiler.buildTopology(StormTopologyCompiler.scala:91) at org.apache.eagle.datastream.StormExecutionEnvironment.execute(ExecutionEnvironment.scala:96) at org.apache.eagle.datastream.ExecutionEnvironmentBase.execute(ExecutionEnvironment.scala:88) at org.apache.eagle.datastream.kafka.KafkaStreamMonitorApp$delayedInit$body.apply(KafkaStreamMonitor.scala:30) at scala.Function0$class.apply$mcV$sp(Function0.scala:40) at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12) at scala.App$$anonfun$main$1.apply(App.scala:71) at scala.App$$anonfun$main$1.apply(App.scala:71) at scala.collection.immutable.List.foreach(List.scala:309) at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:32) at scala.App$class.main(App.scala:71) at org.apache.eagle.datastream.kafka.KafkaStreamMonitorApp.main(KafkaStreamMonitor.scala:22) at org.apache.eagle.datastream.TestKafkaStreamMonitor.main(TestKafkaStreamMonitor.java:27) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) {code} > watch message process backlog in Eagle UI > ----------------------------------------- > > Key: EAGLE-2 > URL: https://issues.apache.org/jira/browse/EAGLE-2 > Project: Eagle > Issue Type: Improvement > Environment: production > Reporter: Edward Zhang > Assignee: Libin, Sun > Original Estimate: 96h > Remaining Estimate: 96h > > Message latency is a key factor for Eagle to enable realtime security > monitoring. For hdfs audit log monitoring, kafka is used as datasource. So > there is always some gap between current max offset in kafka and processed > offset in eagle. The gap is the backlog which eagle should consume quickly as > much as quickly. If the gap can be sampled for every minute or 20 seconds, > then we understand if eagle is catching up or is lagging behind more. > The command to get current max offset in kafka is > bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list xxxx --topic > hdfs_audit_log --time -1 > and Storm-kafka spout would store processed offset in zookeeper, in the > following znode: > /consumers/hdfs_audit_log/eagle.hdfsaudit.consumer/partition_0 > So technically we can get the gap and write that to eagle service then in UI > we can watch the backlog -- This message was sent by Atlassian JIRA (v6.3.4#6332)