hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "linden lin (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-2014) [DAC] Audit
Date Wed, 09 Dec 2009 06:15:18 GMT

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

linden lin commented on HBASE-2014:

I give my thoughts for reference.
Routing string is hierarchical and easily matched by order. 

The routing string is as follows:

{Event Type}.{Candidate Router Key}.{Sub Event Item}.{Other items}

{Event Type} indicates the main event type; {Candidate Router Key} is the consideration for
scalability and performance; and {Sub Event Item} will be the more accurate type for filtering
and routing; {Other items} is reserved for future.

{Event Type}:
1.	Session
2.	Command
3.	Data in Command
4.	Counts in Command
5.	Node Status: necessary status and abnormal events.

Relation (A->B: A depends on B):
Counts in Command->Data In Command->Command->Session;
Counts in Command->Command->Session;
Node Status;

{Candidate Router Key} (Only choose one):
1.	Object Name (Recommended, it is table name for Hbase, if there isn't table in the event,
Object name is null. If client query metadata from Zookeeper, use hardcode table name to replace.
Such as "Hbase Metadata".)
2.	HRegion Identity
3.	RegionServer IP
4.	Others.....

{Sub Event Item}: It depends on the {Event Type}.
1.	Session (in current Hbase version, it is the connection, establish connection and close
       Session Login In : 
       Session Login Off:
2.	Command
       Command Request
       Command Response
3.	Data in Command (interested data from input and output command)
       Data metadata and content (only)
4.	Counts In Command
      Counts Set (only)
5.	Node Status
      Performance counts (Resource usage, Session amount, and other performance related counts)
      Abnormal events (defined by user, normally, it includes error event, huge request in
a short time and 
      so on).

BTW, I suggest try to shorten the routing string and keep the capability of dynamic routing.
Fox example:

2.ObjectName.2.Others  => it means Command.ObjectName.CommandResponse.Others (string to
number is only for predefined type).

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

View raw message