[ 
https://issues.apache.org/jira/browse/CHUKWA-389?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12756174#action_12756174
 ] 

Jerome Boulon commented on CHUKWA-389:
--------------------------------------

My proposal is to use Thrift for the communication layer between Log4J and the 
collector. 
I want to use Thrift for 2 reasons, it's available and well debugged with good 
performance and using Thrift will open chukwa to a large number of programming 
language.

The new Log4j Appender will store all logs to an in-memory buffering queue. One 
or more sender will read from the in-memory queue and send the data to the 
collector using Thrift for data serialization and transport. A sender will 
collect up to N messages at regular interval. If the queue's size reach a 
threshold then the sender will be wakeup and the data will be send 
automatically.
A sender will stay with the same collector unless the connection is dropped. In 
that case the sender will reconnect to another collector and send the same data.
Data from the same log4j appender could be sent to different collectors for 
load-balancing and fail-over.

The new ThriftCollector class will act at the same level as the current 
JettyCollector.
The writer interface and all current writers would be reusable without any 
modification. 








> Send chunks directly from a log4j appender to the collector without writing 
> to local drive
> ------------------------------------------------------------------------------------------
>
>                 Key: CHUKWA-389
>                 URL: https://issues.apache.org/jira/browse/CHUKWA-389
>             Project: Hadoop Chukwa
>          Issue Type: New Feature
>          Components: data collection
>            Reporter: Jerome Boulon
>            Assignee: Jerome Boulon
>
> Currently Chukwa required to first write the data to the local drive and run 
> an agent on every single box in order to be able to collect logs.
> This is a good solution if you cannot afford to loose any data but sometime 
> you don't want to run an agent on very single box.
> In that case, a new log4J appender could be used to send data directly from 
> the application to a collector.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to