[
https://issues.apache.org/jira/browse/EAGLE-2?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15021042#comment-15021042
]
Hao Chen commented on EAGLE-2:
------------------------------
Metric Collector Design for Kafka Offset Collection (on behalf of [~libsun])
The steps of generate & store gap metric are
1. Get current consumed offset from zookeeper using CuratorFramework
zknodes: /consumers/hdfs_audit_log/eagle.hdfsaudit.consumer/partition_0
2. Get total offset of kafka topic using SimpleConsumer API
3. Calculate the gap metrics
4. Create a EagleServiceMetricReport instance, register it into MetricManager
(EagleServiceMetricReport receive Metric, convert to GenericMetricEntity
and flush
Flush may be done at a fixed interval or a threashold metric count reached)
5. Send the gap metric to EagleManager
> 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: Hao Chen
> 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)