[ 
https://issues.apache.org/jira/browse/HBASE-2014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12786849#action_12786849
 ] 

linden lin commented on HBASE-2014:
-----------------------------------

@stack, User should have a another hbase instance for audit isn't a reasonable 
solution from my view. Acquiring the enough detail, log4j or other logging 
solution is ok (leverage the efforts in implementation). But my consideration 
is how to transfer the log to different kind of sinks with efficient method.
My draft idea, I recommend using the distributional subscriber & receiver model 
for Hbase audit. One Hbase server (or HRegion) is a subscriber (many 
subscribers) for the distributional framework and receiver is the any sink 
which receives the interested content from distributional framework. The key 
point is receiver can divide the subscriber's log for load balance (for 
example, by topic name, topic name is IP address, table name, key range and so 
on). 
Thus, Hbase only needs to add a client plug-in for the distributional framework 
(message bus, etc) and define the log title for router (it is static from 
design).

Normally, the auditing feature is disabled. When user want to enable this 
feature, he should install the specific third-party router cluster 
(distributional, scalable framework), then add the cluster address to Hbase 
configuration. Thus, Hbase cluster can be the subscribers for the router 
cluster. The next things I think they are all customers' task. (Add receiver, 
operate the log and so on)

Meanwhile, should we need to support dynamic subscriber and subscriber content 
in this version?


> [DAC] Audit
> -----------
>
>                 Key: HBASE-2014
>                 URL: https://issues.apache.org/jira/browse/HBASE-2014
>             Project: Hadoop HBase
>          Issue Type: Sub-task
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>             Fix For: 0.22.0
>
>
> Audit: Important actions taken by subjects should be logged for 
> accountability, a chronological record which enables the full reconstruction 
> and examination of a sequence of events, e.g. schema changes or data 
> mutations. Logging activity should be protected from all subjects except for 
> a restricted set with administrative privilege, perhaps to only a single 
> super-user.
> Support dynamic scaling transparently and support multi-tenant. Acquire 
> enough detail and support streamline auditing in time. Should be configurable 
> on a per-table basis to avoid this overhead where it is not wanted.
> Consider logging audit trails to an HBase table (bigtable type schemas are 
> natural for this) and also external options with Java library support - 
> syslog, etc., or maybe commons-logging is sufficient and punt to 
> administrator to set up appropriate commons-logging/log4j configurations for 
> their needs.
> Consider integration with Scribe (http://developers.facebook.com/scribe/) or 
> Chukwa (http://wiki.apache.org/hadoop/Chukwa).
> * Session information (Required)
> ** Client, server, When, How, Where.
> * Command information (Required)
> ** Command detail and intent
> ** Command result and why
> ** Data event (input and output interested data, depends on predefined 
> policy) 
> *** Metadata, data detail, session identity and command identity, data 
> direction, etc.
> ** Command Counts (optional)
> *** Execution duration
> *** Response/request data amount
> *** Resource usage
> * Node status
> ** Node resource counts
> ** Session status
> ** Abnormal events (Required)

-- 
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