-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/56335/
-----------------------------------------------------------
(Updated Feb. 10, 2017, 10:50 p.m.)
Review request for ranger, Don Bosco Durai, Abhay Kulkarni, Madhan Neethiraj,
and Velmurugan Periasamy.
Changes
-------
Bug number and Branch added
Summary (updated)
-----------------
RANGER-1310: Ranger Audit framework enhancement to provide an option to allow
audit records to be spooled to local disk first before sending it to
destinations
Bugs: RANGER-1310
https://issues.apache.org/jira/browse/RANGER-1310
Repository: ranger
Description (updated)
-------
RANGER-1310: Ranger Audit framework enhancement to provide an option to allow
audit records to be spooled to local disk first before sending it to
destinations
Diffs
-----
agents-audit/src/main/java/org/apache/ranger/audit/destination/HDFSAuditDestination.java
7c37cfa
agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditFileCacheProvider.java
PRE-CREATION
agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditProviderFactory.java
e3c3508
agents-audit/src/main/java/org/apache/ranger/audit/queue/AuditFileCacheProviderSpool.java
PRE-CREATION
Diff: https://reviews.apache.org/r/56335/diff/
Testing
-------
Test all the plugins in Local VM
To enable the file cache provider for each of the components please do the
following
For HDFS Plugin
===============
mkdir -p /var/log/hadoop/hdfs/audit/spool
cd /var/log/hadoop/hdfs/audit/
chown hdfs:hadoop spool
Add the following properties to the "custom ranger-hive-audit” in the
Ambari for hdfs.
xasecure.audit.provider.filecache.is.enabled=true
xasecure.audit.provider.filecache.filespool.file.rollover.sec=300
xasecure.audit.provider.filecache.filespool.dir=/var/log/hadoop/hdfs/audit/spool
NOTE:
xasecure.audit.provider.filecache.is.enabled = true
This property will enable file cache provider which will store the
audit locally first before sending it to destinations to avoid lose of data
xasecure.audit.provider.filecache.filespool.file.rollover.sec=300
This property will close each of local file every 300 sec ( 5 min )
and send it destinations. For testing we maded to 30 sec.
xasecure.audit.provider.filecache.filespool.dir=/var/log/hadoop/hdfs/audit/spool
This property is the directory where the local audit cache is
present.
For Hive Plugin
=============
mkdir -p /var/log/hive/audit/spool
cd /var/log/hive/audit/
chown hdfs:hadoop spool
Add the following properties to the "custom ranger-hive-audit” in the Ambari
for hdfs.
xasecure.audit.provider.filecache.is.enabled=true
xasecure.audit.provider.filecache.filespool.file.rollover.sec=300
xasecure.audit.provider.filecache.filespool.dir=/var/log/hive/audit/spool
Please do the same steps mentioned for all the components which need this
audit file cache provider.
---------------
Issues:
- Audit to HDFS destination gets 0 bytes file or missing records in the
file from HDFS plugin when HDFS get restarted and
audit from hdfs plugin is logged into destination.
- Audit to HDFS destination gets partial records from
HIVE/HBASE/KNOX/STORM plugin when HDFS is restarted and there are active
spooling into hdfs is happening.
Scenarios to test
1) Audit to HDFS / Solr destination with FileCache enabled-
HDFS/HIVESERVER2/HBASE/KNOX/STORM/KAFKA.
- Mentioned issue should not happen.
- Audit will be getting pushed every 5 minutes ( we are setting
it to 300 sec in the parameter)
2) Audit to HDFS / Solr destination with FileCache enabled with one of the
destination is down and brought back up later.
- Audit from the local cache should be present in destination
when the destination is up
- In case of HDFS as destination audit might show up during
next rollover of hdfs file or if the corresponding component
is restarted ( say if it is hiveserver2 plugin, when
Hiveserver2 is restarted audit into HDFS appears as this will close the
existing opened hdfsfile)
- Mentioned issue should not be present
-
-
3) Same has to be done for each for the plugins ( HBASE, STORM, KAFKA, KMS)
Thanks,
Ramesh Mani