Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Plain View
Flume >> mail # user >> How to use Esper in Flume

Jintao Guan 2013-06-04, 18:06
Shekhar Sharma 2013-06-04, 18:41
Jintao Guan 2013-06-04, 18:49
Jintao Guan 2013-06-05, 15:02
Roshan Naik 2013-06-06, 23:41
Copy link to this message
RE: How to use Esper in Flume
Jintao, take a look here: http://flume.apache.org/FlumeDeveloperGuide.html#sink

It's pretty straight forward (coming from a .net guy :)
1.       Create your sink based on the dev guide into a jar

2.       Set your config file to use that sink type:
                                spool-agent.sources = spooler
spool-agent.channels = FileChannel-1
spool-agent.sinks = mysink
                                spool-agent.sinks.mysink.type = com.domain.flume.sink.esper.EsperSink
spool-agent.sinks.mysink.esperAddress =    //can read this value in your configure(Context context) implementation
spool-agent.sinks.mysink.channel = FileChannel-1

3.       Add your sink jar to the classpath


Phil Scala
Software Developer / Architect
Global Relay


866.484.6630  |  [EMAIL PROTECTED]<https://ex1.globalrelay.net/owa/redir.aspx?C=01df0579a4cc42feb9f7e2801368f729&URL=mailto%3ainfo%40globalrelay.net>  |  globalrelay.com<https://ex1.globalrelay.net/owa/redir.aspx?C=01df0579a4cc42feb9f7e2801368f729&URL=http%3a%2f%2fwww.globalrelay.com%2f>

From: Jintao Guan [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, June 04, 2013 2:49 PM
Subject: Re: How to use Esper in Flume

Hi Shekhar,

Thank you for your email. The first solution is what I am looking for.
I really want to know the details of the custom sink.

1. The first thing I want to know is that how to install the custom sink ? Compile it then put the ***.jar into $FLOME_HOME/lib ?
2. Is there any material about how to write custom sink ?

Thank you.

On Tue, Jun 4, 2013 at 2:41 PM, Shekhar Sharma <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>> wrote:
You have two options :

(1) You can write a custom flume sink for esper..Disadvantage would be you cant change the esper queries at run time

(2) YOu can write esper service (Rest API) and the flume sink will send the java pojo to Esper service..The advantage is that you will have the ability to change the queries at run time..

I have tried both the approaches..let me know if you would like to know more...
The first approach is very simple, just need to extend the sink from flume Abstract sink and override the process method..
In the constructor of the flume you need to initialze the esper engine, as well as esper statements and esper queries..
Make sure your listeners are attached as well when constructing the object..
While you receive the events in the process method, you need to convert the Flume SimpleEvent to POJO and call EsperEngine's sendevent() method...

For the second method you can have your queries,listeners and statements defined in XML file and you parse them when the service starts and have a thread that looks for the change of this xml file..

Hope that helps.
Som Shekhar Sharma

On Tue, Jun 4, 2013 at 11:36 PM, Jintao Guan <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>> wrote:
Hello guys,

I want to use Esper in Flume Agents, so that I can monitor all of the messages and logs and trigger alerts when there are Error logs.

 Does it seem like a plugin ?  How do I install the custom interceptor ?

Does anyone have any idea ?