You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@eagle.apache.org by ha...@apache.org on 2016/08/11 05:36:33 UTC
incubator-eagle git commit: [EAGLE-453] Use
META-INF/providers/${appProviderClassName}.xml as default metadata path
Repository: incubator-eagle
Updated Branches:
refs/heads/develop 6d5907daa -> 08abde513
[EAGLE-453] Use META-INF/providers/${appProviderClassName}.xml as default metadata path
https://issues.apache.org/jira/browse/EAGLE-453
Use
META-INF/providers/${APP_PROVDER_CLASS_NAME}.xml
as default metadata xml path convention, for example:
META-INF/providers/org.apache.eagle.security.hbase.HBaseAuditLogAppProvider.xml
as which is physically universal unique and make app developer's life simpler.
Author: Hao Chen <ha...@apache.org>
Closes #329 from haoch/EAGLE-453.
Project: http://git-wip-us.apache.org/repos/asf/incubator-eagle/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-eagle/commit/08abde51
Tree: http://git-wip-us.apache.org/repos/asf/incubator-eagle/tree/08abde51
Diff: http://git-wip-us.apache.org/repos/asf/incubator-eagle/diff/08abde51
Branch: refs/heads/develop
Commit: 08abde5130da77e2d6d65c3940728b2beccb3f52
Parents: 6d5907d
Author: Hao Chen <ha...@apache.org>
Authored: Thu Aug 11 13:36:20 2016 +0800
Committer: Hao Chen <ha...@apache.org>
Committed: Thu Aug 11 13:36:20 2016 +0800
----------------------------------------------------------------------
.../app/spi/AbstractApplicationProvider.java | 21 +-
.../apache/eagle/app/TestStormApplication.java | 5 -
....eagle.app.TestStormApplication$Provider.xml | 111 ++++++++
.../test/resources/TestApplicationMetadata.xml | 111 --------
.../app/example/ExampleApplicationProvider.java | 4 -
.../META-INF/apps/example/metadata.xml | 109 --------
...e.app.example.ExampleApplicationProvider.xml | 109 ++++++++
.../eagle/app/jpm/JPMApplicationProvider.java | 5 -
.../resources/META-INF/apps/jpm/metadata.xml | 109 --------
...che.eagle.app.jpm.JPMApplicationProvider.xml | 109 ++++++++
.../hbase/HBaseAuditLogAppProvider.java | 5 -
.../src/main/resources/META-INF/metadata.xml | 261 -------------------
....security.hbase.HBaseAuditLogAppProvider.xml | 261 +++++++++++++++++++
13 files changed, 609 insertions(+), 611 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/08abde51/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/spi/AbstractApplicationProvider.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/spi/AbstractApplicationProvider.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/spi/AbstractApplicationProvider.java
index 71d2ce6..bc6cdba 100644
--- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/spi/AbstractApplicationProvider.java
+++ b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/spi/AbstractApplicationProvider.java
@@ -1,4 +1,4 @@
-/**
+/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
@@ -31,11 +31,28 @@ import org.slf4j.LoggerFactory;
import javax.xml.bind.JAXBException;
import java.util.List;
+/**
+ * Default metadata path is: /META-INF/providers/${ApplicationProviderClassName}.xml
+ *
+ * @param <T>
+ */
public abstract class AbstractApplicationProvider<T extends Application> implements ApplicationProvider<T> {
private final static Logger LOG = LoggerFactory.getLogger(AbstractApplicationProvider.class);
private final ApplicationDesc applicationDesc;
- protected abstract String getMetadata();
+ private final static String METADATA_RESOURCE_PATH="/META-INF/providers/%s.xml";
+
+ /**
+ * Default metadata path is: /META-INF/providers/${ApplicationProviderClassName}.xml
+ *
+ * You are not recommended to override this method except you could make sure the path is universal unique
+ *
+ * @return metadata file path
+ */
+ protected final String getMetadata(){
+ return String.format(METADATA_RESOURCE_PATH,this.getClass().getName());
+ }
+
protected AbstractApplicationProvider() {
String applicationDescConfig = getMetadata();
applicationDesc = new ApplicationDesc();
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/08abde51/eagle-core/eagle-app/eagle-app-base/src/test/java/org/apache/eagle/app/TestStormApplication.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-app/eagle-app-base/src/test/java/org/apache/eagle/app/TestStormApplication.java b/eagle-core/eagle-app/eagle-app-base/src/test/java/org/apache/eagle/app/TestStormApplication.java
index cd9a42d..5668e6f 100644
--- a/eagle-core/eagle-app/eagle-app-base/src/test/java/org/apache/eagle/app/TestStormApplication.java
+++ b/eagle-core/eagle-app/eagle-app-base/src/test/java/org/apache/eagle/app/TestStormApplication.java
@@ -67,11 +67,6 @@ public class TestStormApplication extends StormApplication{
public final static class Provider extends AbstractApplicationProvider<TestStormApplication> {
@Override
- protected String getMetadata() {
- return "TestApplicationMetadata.xml";
- }
-
- @Override
public TestStormApplication getApplication() {
return new TestStormApplication();
}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/08abde51/eagle-core/eagle-app/eagle-app-base/src/test/resources/META-INF/providers/org.apache.eagle.app.TestStormApplication$Provider.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-app/eagle-app-base/src/test/resources/META-INF/providers/org.apache.eagle.app.TestStormApplication$Provider.xml b/eagle-core/eagle-app/eagle-app-base/src/test/resources/META-INF/providers/org.apache.eagle.app.TestStormApplication$Provider.xml
new file mode 100644
index 0000000..5d76eaa
--- /dev/null
+++ b/eagle-core/eagle-app/eagle-app-base/src/test/resources/META-INF/providers/org.apache.eagle.app.TestStormApplication$Provider.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<application>
+ <type>TEST_APPLICATION</type>
+ <name>Test Monitoring Application</name>
+ <version>0.5.0-incubating</version>
+ <appClass>org.apache.eagle.app.TestStormApplication</appClass>
+ <viewPath>/apps/example</viewPath>
+ <configuration>
+ <property>
+ <name>message.content</name>
+ <displayName>Message</displayName>
+ <value>Hello, example application!</value>
+ <description>Just an sample configuration property</description>
+ </property>
+ </configuration>
+
+ <!-- Output components -->
+ <streams>
+ <stream>
+ <streamId>TEST_STREAM_1</streamId>
+ <description>Example output stream #1</description>
+ <validate>true</validate>
+ <timeseries>true</timeseries>
+ <columns>
+ <column>
+ <name>metric</name>
+ <type>string</type>
+ </column>
+ <column>
+ <name>source</name>
+ <type>string</type>
+ </column>
+ <column>
+ <name>value</name>
+ <type>double</type>
+ <defaultValue>0.0</defaultValue>
+ </column>
+ </columns>
+ </stream>
+ <stream>
+ <streamId>TEST_STREAM_2</streamId>
+ <description>Example output stream #2</description>
+ <validate>true</validate>
+ <timeseries>true</timeseries>
+ <columns>
+ <column>
+ <name>metric</name>
+ <type>string</type>
+ </column>
+ <column>
+ <name>source</name>
+ <type>string</type>
+ </column>
+ <column>
+ <name>value</name>
+ <type>double</type>
+ <defaultValue>0.0</defaultValue>
+ </column>
+ </columns>
+ </stream>
+ </streams>
+ <docs>
+ <install>
+ # Step 1: Create source kafka topic named "${site}_example_source_topic"
+
+ ./bin/kafka-topics.sh --create --topic example_source_topic --replication-factor 1 --replication 1
+
+ # Step 2: Set up data collector to flow data into kafka topic in
+
+ ./bin/logstash -f log_collector.conf
+
+ ## `log_collector.conf` sample as following:
+
+ input {
+
+ }
+ filter {
+
+ }
+ output{
+
+ }
+
+ # Step 3: start application
+
+ # Step 4: monitor with featured portal or alert with policies
+ </install>
+ <uninstall>
+ # Step 1: stop and uninstall application
+ # Step 2: delete kafka topic named "${site}_example_source_topic"
+ # Step 3: stop logstash
+ </uninstall>
+ </docs>
+</application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/08abde51/eagle-core/eagle-app/eagle-app-base/src/test/resources/TestApplicationMetadata.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-app/eagle-app-base/src/test/resources/TestApplicationMetadata.xml b/eagle-core/eagle-app/eagle-app-base/src/test/resources/TestApplicationMetadata.xml
deleted file mode 100644
index f04da60..0000000
--- a/eagle-core/eagle-app/eagle-app-base/src/test/resources/TestApplicationMetadata.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to You under the Apache License, Version 2.0
- ~ (the "License"); you may not use this file except in compliance with
- ~ the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<application>
- <type>TEST_APPLICATION</type>
- <name>Test Monitoring Application</name>
- <version>0.5.0-incubating</version>
- <appClass>org.apache.eagle.app.TestStormApplication</appClass>
- <viewPath>/apps/example</viewPath>
- <configuration>
- <property>
- <name>message.content</name>
- <displayName>Message</displayName>
- <value>Hello, example application!</value>
- <description>Just an sample configuration property</description>
- </property>
- </configuration>
-
- <!-- Output components -->
- <streams>
- <stream>
- <streamId>TEST_STREAM_1</streamId>
- <description>Example output stream #1</description>
- <validate>true</validate>
- <timeseries>true</timeseries>
- <columns>
- <column>
- <name>metric</name>
- <type>string</type>
- </column>
- <column>
- <name>source</name>
- <type>string</type>
- </column>
- <column>
- <name>value</name>
- <type>double</type>
- <defaultValue>0.0</defaultValue>
- </column>
- </columns>
- </stream>
- <stream>
- <streamId>TEST_STREAM_2</streamId>
- <description>Example output stream #2</description>
- <validate>true</validate>
- <timeseries>true</timeseries>
- <columns>
- <column>
- <name>metric</name>
- <type>string</type>
- </column>
- <column>
- <name>source</name>
- <type>string</type>
- </column>
- <column>
- <name>value</name>
- <type>double</type>
- <defaultValue>0.0</defaultValue>
- </column>
- </columns>
- </stream>
- </streams>
- <docs>
- <install>
-# Step 1: Create source kafka topic named "${site}_example_source_topic"
-
-./bin/kafka-topics.sh --create --topic example_source_topic --replication-factor 1 --replication 1
-
-# Step 2: Set up data collector to flow data into kafka topic in
-
-./bin/logstash -f log_collector.conf
-
-## `log_collector.conf` sample as following:
-
-input {
-
-}
-filter {
-
-}
-output{
-
-}
-
-# Step 3: start application
-
-# Step 4: monitor with featured portal or alert with policies
- </install>
- <uninstall>
-# Step 1: stop and uninstall application
-# Step 2: delete kafka topic named "${site}_example_source_topic"
-# Step 3: stop logstash
- </uninstall>
- </docs>
-</application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/08abde51/eagle-examples/eagle-app-example/src/main/java/org/apache/eagle/app/example/ExampleApplicationProvider.java
----------------------------------------------------------------------
diff --git a/eagle-examples/eagle-app-example/src/main/java/org/apache/eagle/app/example/ExampleApplicationProvider.java b/eagle-examples/eagle-app-example/src/main/java/org/apache/eagle/app/example/ExampleApplicationProvider.java
index f3b7939..c207788 100644
--- a/eagle-examples/eagle-app-example/src/main/java/org/apache/eagle/app/example/ExampleApplicationProvider.java
+++ b/eagle-examples/eagle-app-example/src/main/java/org/apache/eagle/app/example/ExampleApplicationProvider.java
@@ -33,10 +33,6 @@ import org.slf4j.LoggerFactory;
*/
public class ExampleApplicationProvider extends AbstractApplicationProvider<ExampleStormApplication> {
private final static Logger LOGGER = LoggerFactory.getLogger(ExampleApplicationProvider.class);
- @Override
- protected String getMetadata() {
- return "/META-INF/apps/example/metadata.xml";
- }
@Override
public ExampleStormApplication getApplication() {
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/08abde51/eagle-examples/eagle-app-example/src/main/resources/META-INF/apps/example/metadata.xml
----------------------------------------------------------------------
diff --git a/eagle-examples/eagle-app-example/src/main/resources/META-INF/apps/example/metadata.xml b/eagle-examples/eagle-app-example/src/main/resources/META-INF/apps/example/metadata.xml
deleted file mode 100644
index 66e734f..0000000
--- a/eagle-examples/eagle-app-example/src/main/resources/META-INF/apps/example/metadata.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to You under the Apache License, Version 2.0
- ~ (the "License"); you may not use this file except in compliance with
- ~ the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<application>
- <type>EXAMPLE_APPLICATION</type>
- <name>Example Monitoring Application</name>
- <version>0.5.0-incubating</version>
- <appClass>org.apache.eagle.app.example.ExampleStormApplication</appClass>
- <viewPath>/apps/example</viewPath>
- <configuration>
- <property>
- <name>message</name>
- <displayName>Message</displayName>
- <value>Hello, example application!</value>
- <description>Just an sample configuration property</description>
- </property>
- </configuration>
- <streams>
- <stream>
- <streamId>SAMPLE_STREAM_1</streamId>
- <description>Sample output stream #1</description>
- <validate>true</validate>
- <timeseries>true</timeseries>
- <columns>
- <column>
- <name>metric</name>
- <type>string</type>
- </column>
- <column>
- <name>source</name>
- <type>string</type>
- </column>
- <column>
- <name>value</name>
- <type>double</type>
- <defaultValue>0.0</defaultValue>
- </column>
- </columns>
- </stream>
- <stream>
- <streamId>SAMPLE_STREAM_2</streamId>
- <description>Sample output stream #2</description>
- <validate>true</validate>
- <timeseries>true</timeseries>
- <columns>
- <column>
- <name>metric</name>
- <type>string</type>
- </column>
- <column>
- <name>source</name>
- <type>string</type>
- </column>
- <column>
- <name>value</name>
- <type>double</type>
- <defaultValue>0.0</defaultValue>
- </column>
- </columns>
- </stream>
- </streams>
- <docs>
- <install>
-# Step 1: Create source kafka topic named "${site}_example_source_topic"
-
-./bin/kafka-topics.sh --create --topic example_source_topic --replication-factor 1 --replication 1
-
-# Step 2: Set up data collector to flow data into kafka topic in
-
-./bin/logstash -f log_collector.conf
-
-## `log_collector.conf` sample as following:
-
-input {
-
-}
-filter {
-
-}
-output{
-
-}
-
-# Step 3: start application
-
-# Step 4: monitor with featured portal or alert with policies
- </install>
- <uninstall>
-# Step 1: stop and uninstall application
-# Step 2: delete kafka topic named "${site}_example_source_topic"
-# Step 3: stop logstash
- </uninstall>
- </docs>
-</application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/08abde51/eagle-examples/eagle-app-example/src/main/resources/META-INF/providers/org.apache.eagle.app.example.ExampleApplicationProvider.xml
----------------------------------------------------------------------
diff --git a/eagle-examples/eagle-app-example/src/main/resources/META-INF/providers/org.apache.eagle.app.example.ExampleApplicationProvider.xml b/eagle-examples/eagle-app-example/src/main/resources/META-INF/providers/org.apache.eagle.app.example.ExampleApplicationProvider.xml
new file mode 100644
index 0000000..432b92f
--- /dev/null
+++ b/eagle-examples/eagle-app-example/src/main/resources/META-INF/providers/org.apache.eagle.app.example.ExampleApplicationProvider.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<application>
+ <type>EXAMPLE_APPLICATION</type>
+ <name>Example Monitoring Application</name>
+ <version>0.5.0-incubating</version>
+ <appClass>org.apache.eagle.app.example.ExampleStormApplication</appClass>
+ <viewPath>/apps/example</viewPath>
+ <configuration>
+ <property>
+ <name>message</name>
+ <displayName>Message</displayName>
+ <value>Hello, example application!</value>
+ <description>Just an sample configuration property</description>
+ </property>
+ </configuration>
+ <streams>
+ <stream>
+ <streamId>SAMPLE_STREAM_1</streamId>
+ <description>Sample output stream #1</description>
+ <validate>true</validate>
+ <timeseries>true</timeseries>
+ <columns>
+ <column>
+ <name>metric</name>
+ <type>string</type>
+ </column>
+ <column>
+ <name>source</name>
+ <type>string</type>
+ </column>
+ <column>
+ <name>value</name>
+ <type>double</type>
+ <defaultValue>0.0</defaultValue>
+ </column>
+ </columns>
+ </stream>
+ <stream>
+ <streamId>SAMPLE_STREAM_2</streamId>
+ <description>Sample output stream #2</description>
+ <validate>true</validate>
+ <timeseries>true</timeseries>
+ <columns>
+ <column>
+ <name>metric</name>
+ <type>string</type>
+ </column>
+ <column>
+ <name>source</name>
+ <type>string</type>
+ </column>
+ <column>
+ <name>value</name>
+ <type>double</type>
+ <defaultValue>0.0</defaultValue>
+ </column>
+ </columns>
+ </stream>
+ </streams>
+ <docs>
+ <install>
+ # Step 1: Create source kafka topic named "${site}_example_source_topic"
+
+ ./bin/kafka-topics.sh --create --topic example_source_topic --replication-factor 1 --replication 1
+
+ # Step 2: Set up data collector to flow data into kafka topic in
+
+ ./bin/logstash -f log_collector.conf
+
+ ## `log_collector.conf` sample as following:
+
+ input {
+
+ }
+ filter {
+
+ }
+ output{
+
+ }
+
+ # Step 3: start application
+
+ # Step 4: monitor with featured portal or alert with policies
+ </install>
+ <uninstall>
+ # Step 1: stop and uninstall application
+ # Step 2: delete kafka topic named "${site}_example_source_topic"
+ # Step 3: stop logstash
+ </uninstall>
+ </docs>
+</application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/08abde51/eagle-jpm/eagle-jpm-app/src/main/java/org/apache/eagle/app/jpm/JPMApplicationProvider.java
----------------------------------------------------------------------
diff --git a/eagle-jpm/eagle-jpm-app/src/main/java/org/apache/eagle/app/jpm/JPMApplicationProvider.java b/eagle-jpm/eagle-jpm-app/src/main/java/org/apache/eagle/app/jpm/JPMApplicationProvider.java
index 9694fd7..685a104 100644
--- a/eagle-jpm/eagle-jpm-app/src/main/java/org/apache/eagle/app/jpm/JPMApplicationProvider.java
+++ b/eagle-jpm/eagle-jpm-app/src/main/java/org/apache/eagle/app/jpm/JPMApplicationProvider.java
@@ -23,11 +23,6 @@ import org.apache.eagle.app.spi.AbstractApplicationProvider;
*/
public class JPMApplicationProvider extends AbstractApplicationProvider<JPMApplication> {
@Override
- protected String getMetadata() {
- return "/META-INF/apps/jpm/metadata.xml";
- }
-
- @Override
public JPMApplication getApplication() {
return new JPMApplication();
}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/08abde51/eagle-jpm/eagle-jpm-app/src/main/resources/META-INF/apps/jpm/metadata.xml
----------------------------------------------------------------------
diff --git a/eagle-jpm/eagle-jpm-app/src/main/resources/META-INF/apps/jpm/metadata.xml b/eagle-jpm/eagle-jpm-app/src/main/resources/META-INF/apps/jpm/metadata.xml
deleted file mode 100644
index a513efa..0000000
--- a/eagle-jpm/eagle-jpm-app/src/main/resources/META-INF/apps/jpm/metadata.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to You under the Apache License, Version 2.0
- ~ (the "License"); you may not use this file except in compliance with
- ~ the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<application>
- <type>JPM_APP</type>
- <name>Job Performance Monitoring Application</name>
- <version>0.5.0-incubating</version>
- <appClass>org.apache.eagle.app.jpm.JPMApplication</appClass>
- <viewPath>/apps/jpm</viewPath>
- <configuration>
- <property>
- <name>default</name>
- <displayName>Message</displayName>
- <value>Hello, example application!</value>
- <description>Just an sample configuration property</description>
- </property>
- </configuration>
- <streams>
- <stream>
- <streamId>SAMPLE_STREAM_1</streamId>
- <description>Sample output stream #1</description>
- <validate>true</validate>
- <timeseries>true</timeseries>
- <columns>
- <column>
- <name>metric</name>
- <type>string</type>
- </column>
- <column>
- <name>source</name>
- <type>string</type>
- </column>
- <column>
- <name>value</name>
- <type>double</type>
- <defaultValue>0.0</defaultValue>
- </column>
- </columns>
- </stream>
- <stream>
- <streamId>SAMPLE_STREAM_2</streamId>
- <description>Sample output stream #2</description>
- <validate>true</validate>
- <timeseries>true</timeseries>
- <columns>
- <column>
- <name>metric</name>
- <type>string</type>
- </column>
- <column>
- <name>source</name>
- <type>string</type>
- </column>
- <column>
- <name>value</name>
- <type>double</type>
- <defaultValue>0.0</defaultValue>
- </column>
- </columns>
- </stream>
- </streams>
- <docs>
- <install>
-# Step 1: Create source kafka topic named "${site}_example_source_topic"
-
-./bin/kafka-topics.sh --create --topic example_source_topic --replication-factor 1 --replication 1
-
-# Step 2: Set up data collector to flow data into kafka topic in
-
-./bin/logstash -f log_collector.conf
-
-## `log_collector.conf` sample as following:
-
-input {
-
-}
-filter {
-
-}
-output{
-
-}
-
-# Step 3: start application
-
-# Step 4: monitor with featured portal or alert with policies
- </install>
- <uninstall>
-# Step 1: stop and uninstall application
-# Step 2: delete kafka topic named "${site}_example_source_topic"
-# Step 3: stop logstash
- </uninstall>
- </docs>
-</application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/08abde51/eagle-jpm/eagle-jpm-app/src/main/resources/META-INF/providers/org.apache.eagle.app.jpm.JPMApplicationProvider.xml
----------------------------------------------------------------------
diff --git a/eagle-jpm/eagle-jpm-app/src/main/resources/META-INF/providers/org.apache.eagle.app.jpm.JPMApplicationProvider.xml b/eagle-jpm/eagle-jpm-app/src/main/resources/META-INF/providers/org.apache.eagle.app.jpm.JPMApplicationProvider.xml
new file mode 100644
index 0000000..564615b
--- /dev/null
+++ b/eagle-jpm/eagle-jpm-app/src/main/resources/META-INF/providers/org.apache.eagle.app.jpm.JPMApplicationProvider.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<application>
+ <type>JPM_APP</type>
+ <name>Job Performance Monitoring Application</name>
+ <version>0.5.0-incubating</version>
+ <appClass>org.apache.eagle.app.jpm.JPMApplication</appClass>
+ <viewPath>/apps/jpm</viewPath>
+ <configuration>
+ <property>
+ <name>default</name>
+ <displayName>Message</displayName>
+ <value>Hello, example application!</value>
+ <description>Just an sample configuration property</description>
+ </property>
+ </configuration>
+ <streams>
+ <stream>
+ <streamId>SAMPLE_STREAM_1</streamId>
+ <description>Sample output stream #1</description>
+ <validate>true</validate>
+ <timeseries>true</timeseries>
+ <columns>
+ <column>
+ <name>metric</name>
+ <type>string</type>
+ </column>
+ <column>
+ <name>source</name>
+ <type>string</type>
+ </column>
+ <column>
+ <name>value</name>
+ <type>double</type>
+ <defaultValue>0.0</defaultValue>
+ </column>
+ </columns>
+ </stream>
+ <stream>
+ <streamId>SAMPLE_STREAM_2</streamId>
+ <description>Sample output stream #2</description>
+ <validate>true</validate>
+ <timeseries>true</timeseries>
+ <columns>
+ <column>
+ <name>metric</name>
+ <type>string</type>
+ </column>
+ <column>
+ <name>source</name>
+ <type>string</type>
+ </column>
+ <column>
+ <name>value</name>
+ <type>double</type>
+ <defaultValue>0.0</defaultValue>
+ </column>
+ </columns>
+ </stream>
+ </streams>
+ <docs>
+ <install>
+ # Step 1: Create source kafka topic named "${site}_example_source_topic"
+
+ ./bin/kafka-topics.sh --create --topic example_source_topic --replication-factor 1 --replication 1
+
+ # Step 2: Set up data collector to flow data into kafka topic in
+
+ ./bin/logstash -f log_collector.conf
+
+ ## `log_collector.conf` sample as following:
+
+ input {
+
+ }
+ filter {
+
+ }
+ output{
+
+ }
+
+ # Step 3: start application
+
+ # Step 4: monitor with featured portal or alert with policies
+ </install>
+ <uninstall>
+ # Step 1: stop and uninstall application
+ # Step 2: delete kafka topic named "${site}_example_source_topic"
+ # Step 3: stop logstash
+ </uninstall>
+ </docs>
+</application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/08abde51/eagle-security/eagle-security-hbase-auditlog/src/main/java/org/apache/eagle/security/hbase/HBaseAuditLogAppProvider.java
----------------------------------------------------------------------
diff --git a/eagle-security/eagle-security-hbase-auditlog/src/main/java/org/apache/eagle/security/hbase/HBaseAuditLogAppProvider.java b/eagle-security/eagle-security-hbase-auditlog/src/main/java/org/apache/eagle/security/hbase/HBaseAuditLogAppProvider.java
index f8f5c90..3da2c98 100644
--- a/eagle-security/eagle-security-hbase-auditlog/src/main/java/org/apache/eagle/security/hbase/HBaseAuditLogAppProvider.java
+++ b/eagle-security/eagle-security-hbase-auditlog/src/main/java/org/apache/eagle/security/hbase/HBaseAuditLogAppProvider.java
@@ -33,11 +33,6 @@ import org.apache.eagle.security.service.JDBCSecurityMetadataDAO;
*/
public class HBaseAuditLogAppProvider extends AbstractApplicationProvider<HBaseAuditLogApplication> {
@Override
- protected String getMetadata() {
- return "/META-INF/metadata.xml";
- }
-
- @Override
public HBaseAuditLogApplication getApplication() {
return new HBaseAuditLogApplication();
}
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/08abde51/eagle-security/eagle-security-hbase-auditlog/src/main/resources/META-INF/metadata.xml
----------------------------------------------------------------------
diff --git a/eagle-security/eagle-security-hbase-auditlog/src/main/resources/META-INF/metadata.xml b/eagle-security/eagle-security-hbase-auditlog/src/main/resources/META-INF/metadata.xml
deleted file mode 100644
index 4c2d670..0000000
--- a/eagle-security/eagle-security-hbase-auditlog/src/main/resources/META-INF/metadata.xml
+++ /dev/null
@@ -1,261 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- ~ /*
- ~ * Licensed to the Apache Software Foundation (ASF) under one or more
- ~ * contributor license agreements. See the NOTICE file distributed with
- ~ * this work for additional information regarding copyright ownership.
- ~ * The ASF licenses this file to You under the Apache License, Version 2.0
- ~ * (the "License"); you may not use this file except in compliance with
- ~ * the License. You may obtain a copy of the License at
- ~ * <p/>
- ~ * http://www.apache.org/licenses/LICENSE-2.0
- ~ * <p/>
- ~ * Unless required by applicable law or agreed to in writing, software
- ~ * distributed under the License is distributed on an "AS IS" BASIS,
- ~ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ * See the License for the specific language governing permissions and
- ~ * limitations under the License.
- ~ */
- -->
-
-<application>
- <type>HBaseAuditLogApplication</type>
- <name>HBase Audit Log Monitoring Application</name>
- <version>0.5.0-incubating</version>
- <appClass>org.apache.eagle.security.hbase.HBaseAuditLogApplication</appClass>
- <viewPath>/apps/example</viewPath>
- <configuration>
- <property>
- <name>dataSourceConfig.topic</name>
- <displayName>dataSourceConfig.topic</displayName>
- <value>sandbox_hbase_audit_log</value>
- <description>data source topic</description>
- </property>
- <property>
- <name>dataSourceConfig.zkConnection</name>
- <displayName>dataSourceConfig.zkConnection</displayName>
- <value>server.eagle.apache.org</value>
- <description>zk connection</description>
- </property>
- <property>
- <name>dataSourceConfig.zkConnectionTimeoutMS</name>
- <displayName>dataSourceConfig.zkConnectionTimeoutMS</displayName>
- <value>15000</value>
- <description>zk connection timeout in milliseconds</description>
- </property>
- <property>
- <name>dataSourceConfig.fetchSize</name>
- <displayName>dataSourceConfig.fetchSize</displayName>
- <value>1048586</value>
- <description>kafka fetch size</description>
- </property>
- <property>
- <name>dataSourceConfig.transactionZKServers</name>
- <displayName>dataSourceConfig.transactionZKServers</displayName>
- <value>server.eagle.apache.org</value>
- <description>zookeeper server for offset transaction</description>
- </property>
- <property>
- <name>dataSourceConfig.transactionZKPort</name>
- <displayName>dataSourceConfig.transactionZKPort</displayName>
- <value>2181</value>
- <description>zookeeper server port for offset transaction</description>
- </property>
- <property>
- <name>dataSourceConfig.transactionZKRoot</name>
- <displayName>dataSourceConfig.transactionZKRoot</displayName>
- <value>/consumers</value>
- <description>offset transaction root</description>
- </property>
- <property>
- <name>dataSourceConfig.consumerGroupId</name>
- <displayName>dataSourceConfig.consumerGroupId</displayName>
- <value>eagle.hbaseaudit.consumer</value>
- <description>kafka consumer group Id</description>
- </property>
- <property>
- <name>dataSourceConfig.transactionStateUpdateMS</name>
- <displayName>dataSourceConfig.transactionStateUpdateMS</displayName>
- <value>2000</value>
- <description>zk upate</description>
- </property>
- <property>
- <name>dataSourceConfig.schemeCls</name>
- <displayName>dataSourceConfig.schemeCls</displayName>
- <value>storm.kafka.StringScheme</value>
- <description>scheme class</description>
- </property>
- <property>
- <name>dataSourceConfig.transactionZKPort</name>
- <displayName>dataSourceConfig.transactionZKPort</displayName>
- <value>2181</value>
- <description>zookeeper server port for offset transaction</description>
- </property>
- <property>
- <name>dataSourceConfig.transactionZKPort</name>
- <displayName>dataSourceConfig.transactionZKPort</displayName>
- <value>2181</value>
- <description>zookeeper server port for offset transaction</description>
- </property>
- <property>
- <name>topology.numOfSpoutTasks</name>
- <displayName>topology.numOfSpoutTasks</displayName>
- <value>2</value>
- <description>number of spout tasks</description>
- </property>
- <property>
- <name>topology.numOfParserTasks</name>
- <displayName>topology.numOfParserTasks</displayName>
- <value>2</value>
- <description>number of parser tasks</description>
- </property>
- <property>
- <name>topology.numOfJoinTasks</name>
- <displayName>topology.numOfJoinTasks</displayName>
- <value>2</value>
- <description>number of external join tasks</description>
- </property>
- <property>
- <name>topology.numOfSinkTasks</name>
- <displayName>topology.numOfSinkTasks</displayName>
- <value>2</value>
- <description>number of sink tasks</description>
- </property>
- <property>
- <name>eagleProps.dataJoinPollIntervalSec</name>
- <displayName>eagleProps.dataJoinPollIntervalSec</displayName>
- <value>30</value>
- <description>interval in seconds for polling</description>
- </property>
- <property>
- <name>eagleProps.eagleService.host</name>
- <displayName>eagleProps.eagleService.host</displayName>
- <value>localhost</value>
- <description>eagle service host</description>
- </property>
- <property>
- <name>eagleProps.eagleService.port</name>
- <displayName>eagleProps.eagleService.port</displayName>
- <value>8080</value>
- <description>eagle service port</description>
- </property>
- <property>
- <name>eagleProps.eagleService.username</name>
- <displayName>eagleProps.eagleService.username</displayName>
- <value>admin</value>
- <description>eagle service username</description>
- </property>
- <property>
- <name>eagleProps.eagleService.password</name>
- <displayName>eagleProps.eagleService.password</displayName>
- <value>secret</value>
- <description>eagle service password</description>
- </property>
- <property>
- <name>dataSinkConfig.topic</name>
- <displayName>dataSinkConfig.topic</displayName>
- <value>sandbox_hbase_audit_log_parsed</value>
- <description>topic for kafka data sink</description>
- </property>
- <property>
- <name>dataSinkConfig.brokerList</name>
- <displayName>dataSinkConfig.brokerList</displayName>
- <value>sandbox.hortonworks.com:6667</value>
- <description>kafka broker list</description>
- </property>
- <property>
- <name>dataSinkConfig.serializerClass</name>
- <displayName>dataSinkConfig.serializerClass</displayName>
- <value>kafka.serializer.StringEncoder</value>
- <description>serializer class Kafka message value</description>
- </property>
- <property>
- <name>dataSinkConfig.keySerializerClass</name>
- <displayName>dataSinkConfig.keySerializerClass</displayName>
- <value>kafka.serializer.StringEncoder</value>
- <description>serializer class Kafka message key</description>
- </property>
- <property>
- <name>metadata.store</name>
- <displayName>metadata.store</displayName>
- <value>org.apache.eagle.security.service.InMemMetadataDaoImpl</value>
- <description>implementation class for metadata store</description>
- </property>
- <property>
- <name>hbase.zookeeper.quorum</name>
- <displayName>hbase.zookeeper.quorum</displayName>
- <value>server.eagle.apache.org</value>
- <description>hbase zookeeper endpoint host</description>
- </property>
- <property>
- <name>hbase.zookeeper.property.clientPort</name>
- <displayName>hbase.zookeeper.property.clientPort</displayName>
- <value>2181</value>
- <description>hbase zookeeper endpoint port</description>
- </property>
- <property>
- <name>zookeeper.znode.parent</name>
- <displayName>zookeeper.znode.parent</displayName>
- <value>/hbase-unsecure</value>
- <description>zookeeper znode parent for hbase</description>
- </property>
- </configuration>
- <streams>
- <stream>
- <streamId>hbase_audit_log_stream</streamId>
- <description>HBase Audit Log Stream</description>
- <validate>true</validate>
- <timeseries>true</timeseries>
- <columns>
- <column>
- <name>action</name>
- <type>string</type>
- </column>
- <column>
- <name>host</name>
- <type>string</type>
- </column>
- <column>
- <name>status</name>
- <type>string</type>
- </column>
- <column>
- <name>timestamp</name>
- <type>long</type>
- </column>
- </columns>
- </stream>
- </streams>
- <docs>
- <install>
-# Step 1: Create source kafka topic named "${site}_example_source_topic"
-
-./bin/kafka-topics.sh --create --topic example_source_topic --replication-factor 1 --replication 1
-
-# Step 2: Set up data collector to flow data into kafka topic in
-
-./bin/logstash -f log_collector.conf
-
-## `log_collector.conf` sample as following:
-
-input {
-
-}
-filter {
-
-}
-output{
-
-}
-
-# Step 3: start application
-
-# Step 4: monitor with featured portal or alert with policies
- </install>
- <uninstall>
-# Step 1: stop and uninstall application
-# Step 2: delete kafka topic named "${site}_example_source_topic"
-# Step 3: stop logstash
- </uninstall>
- </docs>
-</application>
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/08abde51/eagle-security/eagle-security-hbase-auditlog/src/main/resources/META-INF/providers/org.apache.eagle.security.hbase.HBaseAuditLogAppProvider.xml
----------------------------------------------------------------------
diff --git a/eagle-security/eagle-security-hbase-auditlog/src/main/resources/META-INF/providers/org.apache.eagle.security.hbase.HBaseAuditLogAppProvider.xml b/eagle-security/eagle-security-hbase-auditlog/src/main/resources/META-INF/providers/org.apache.eagle.security.hbase.HBaseAuditLogAppProvider.xml
new file mode 100644
index 0000000..04c3925
--- /dev/null
+++ b/eagle-security/eagle-security-hbase-auditlog/src/main/resources/META-INF/providers/org.apache.eagle.security.hbase.HBaseAuditLogAppProvider.xml
@@ -0,0 +1,261 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ ~ /*
+ ~ * Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ * contributor license agreements. See the NOTICE file distributed with
+ ~ * this work for additional information regarding copyright ownership.
+ ~ * The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ * (the "License"); you may not use this file except in compliance with
+ ~ * the License. You may obtain a copy of the License at
+ ~ * <p/>
+ ~ * http://www.apache.org/licenses/LICENSE-2.0
+ ~ * <p/>
+ ~ * Unless required by applicable law or agreed to in writing, software
+ ~ * distributed under the License is distributed on an "AS IS" BASIS,
+ ~ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ * See the License for the specific language governing permissions and
+ ~ * limitations under the License.
+ ~ */
+ -->
+
+<application>
+ <type>HBaseAuditLogApplication</type>
+ <name>HBase Audit Log Monitoring Application</name>
+ <version>0.5.0-incubating</version>
+ <appClass>org.apache.eagle.security.hbase.HBaseAuditLogApplication</appClass>
+ <viewPath>/apps/example</viewPath>
+ <configuration>
+ <property>
+ <name>dataSourceConfig.topic</name>
+ <displayName>dataSourceConfig.topic</displayName>
+ <value>sandbox_hbase_audit_log</value>
+ <description>data source topic</description>
+ </property>
+ <property>
+ <name>dataSourceConfig.zkConnection</name>
+ <displayName>dataSourceConfig.zkConnection</displayName>
+ <value>server.eagle.apache.org</value>
+ <description>zk connection</description>
+ </property>
+ <property>
+ <name>dataSourceConfig.zkConnectionTimeoutMS</name>
+ <displayName>dataSourceConfig.zkConnectionTimeoutMS</displayName>
+ <value>15000</value>
+ <description>zk connection timeout in milliseconds</description>
+ </property>
+ <property>
+ <name>dataSourceConfig.fetchSize</name>
+ <displayName>dataSourceConfig.fetchSize</displayName>
+ <value>1048586</value>
+ <description>kafka fetch size</description>
+ </property>
+ <property>
+ <name>dataSourceConfig.transactionZKServers</name>
+ <displayName>dataSourceConfig.transactionZKServers</displayName>
+ <value>server.eagle.apache.org</value>
+ <description>zookeeper server for offset transaction</description>
+ </property>
+ <property>
+ <name>dataSourceConfig.transactionZKPort</name>
+ <displayName>dataSourceConfig.transactionZKPort</displayName>
+ <value>2181</value>
+ <description>zookeeper server port for offset transaction</description>
+ </property>
+ <property>
+ <name>dataSourceConfig.transactionZKRoot</name>
+ <displayName>dataSourceConfig.transactionZKRoot</displayName>
+ <value>/consumers</value>
+ <description>offset transaction root</description>
+ </property>
+ <property>
+ <name>dataSourceConfig.consumerGroupId</name>
+ <displayName>dataSourceConfig.consumerGroupId</displayName>
+ <value>eagle.hbaseaudit.consumer</value>
+ <description>kafka consumer group Id</description>
+ </property>
+ <property>
+ <name>dataSourceConfig.transactionStateUpdateMS</name>
+ <displayName>dataSourceConfig.transactionStateUpdateMS</displayName>
+ <value>2000</value>
+ <description>zk upate</description>
+ </property>
+ <property>
+ <name>dataSourceConfig.schemeCls</name>
+ <displayName>dataSourceConfig.schemeCls</displayName>
+ <value>storm.kafka.StringScheme</value>
+ <description>scheme class</description>
+ </property>
+ <property>
+ <name>dataSourceConfig.transactionZKPort</name>
+ <displayName>dataSourceConfig.transactionZKPort</displayName>
+ <value>2181</value>
+ <description>zookeeper server port for offset transaction</description>
+ </property>
+ <property>
+ <name>dataSourceConfig.transactionZKPort</name>
+ <displayName>dataSourceConfig.transactionZKPort</displayName>
+ <value>2181</value>
+ <description>zookeeper server port for offset transaction</description>
+ </property>
+ <property>
+ <name>topology.numOfSpoutTasks</name>
+ <displayName>topology.numOfSpoutTasks</displayName>
+ <value>2</value>
+ <description>number of spout tasks</description>
+ </property>
+ <property>
+ <name>topology.numOfParserTasks</name>
+ <displayName>topology.numOfParserTasks</displayName>
+ <value>2</value>
+ <description>number of parser tasks</description>
+ </property>
+ <property>
+ <name>topology.numOfJoinTasks</name>
+ <displayName>topology.numOfJoinTasks</displayName>
+ <value>2</value>
+ <description>number of external join tasks</description>
+ </property>
+ <property>
+ <name>topology.numOfSinkTasks</name>
+ <displayName>topology.numOfSinkTasks</displayName>
+ <value>2</value>
+ <description>number of sink tasks</description>
+ </property>
+ <property>
+ <name>eagleProps.dataJoinPollIntervalSec</name>
+ <displayName>eagleProps.dataJoinPollIntervalSec</displayName>
+ <value>30</value>
+ <description>interval in seconds for polling</description>
+ </property>
+ <property>
+ <name>eagleProps.eagleService.host</name>
+ <displayName>eagleProps.eagleService.host</displayName>
+ <value>localhost</value>
+ <description>eagle service host</description>
+ </property>
+ <property>
+ <name>eagleProps.eagleService.port</name>
+ <displayName>eagleProps.eagleService.port</displayName>
+ <value>8080</value>
+ <description>eagle service port</description>
+ </property>
+ <property>
+ <name>eagleProps.eagleService.username</name>
+ <displayName>eagleProps.eagleService.username</displayName>
+ <value>admin</value>
+ <description>eagle service username</description>
+ </property>
+ <property>
+ <name>eagleProps.eagleService.password</name>
+ <displayName>eagleProps.eagleService.password</displayName>
+ <value>secret</value>
+ <description>eagle service password</description>
+ </property>
+ <property>
+ <name>dataSinkConfig.topic</name>
+ <displayName>dataSinkConfig.topic</displayName>
+ <value>sandbox_hbase_audit_log_parsed</value>
+ <description>topic for kafka data sink</description>
+ </property>
+ <property>
+ <name>dataSinkConfig.brokerList</name>
+ <displayName>dataSinkConfig.brokerList</displayName>
+ <value>sandbox.hortonworks.com:6667</value>
+ <description>kafka broker list</description>
+ </property>
+ <property>
+ <name>dataSinkConfig.serializerClass</name>
+ <displayName>dataSinkConfig.serializerClass</displayName>
+ <value>kafka.serializer.StringEncoder</value>
+ <description>serializer class Kafka message value</description>
+ </property>
+ <property>
+ <name>dataSinkConfig.keySerializerClass</name>
+ <displayName>dataSinkConfig.keySerializerClass</displayName>
+ <value>kafka.serializer.StringEncoder</value>
+ <description>serializer class Kafka message key</description>
+ </property>
+ <property>
+ <name>metadata.store</name>
+ <displayName>metadata.store</displayName>
+ <value>org.apache.eagle.security.service.InMemMetadataDaoImpl</value>
+ <description>implementation class for metadata store</description>
+ </property>
+ <property>
+ <name>hbase.zookeeper.quorum</name>
+ <displayName>hbase.zookeeper.quorum</displayName>
+ <value>server.eagle.apache.org</value>
+ <description>hbase zookeeper endpoint host</description>
+ </property>
+ <property>
+ <name>hbase.zookeeper.property.clientPort</name>
+ <displayName>hbase.zookeeper.property.clientPort</displayName>
+ <value>2181</value>
+ <description>hbase zookeeper endpoint port</description>
+ </property>
+ <property>
+ <name>zookeeper.znode.parent</name>
+ <displayName>zookeeper.znode.parent</displayName>
+ <value>/hbase-unsecure</value>
+ <description>zookeeper znode parent for hbase</description>
+ </property>
+ </configuration>
+ <streams>
+ <stream>
+ <streamId>hbase_audit_log_stream</streamId>
+ <description>HBase Audit Log Stream</description>
+ <validate>true</validate>
+ <timeseries>true</timeseries>
+ <columns>
+ <column>
+ <name>action</name>
+ <type>string</type>
+ </column>
+ <column>
+ <name>host</name>
+ <type>string</type>
+ </column>
+ <column>
+ <name>status</name>
+ <type>string</type>
+ </column>
+ <column>
+ <name>timestamp</name>
+ <type>long</type>
+ </column>
+ </columns>
+ </stream>
+ </streams>
+ <docs>
+ <install>
+ # Step 1: Create source kafka topic named "${site}_example_source_topic"
+
+ ./bin/kafka-topics.sh --create --topic example_source_topic --replication-factor 1 --replication 1
+
+ # Step 2: Set up data collector to flow data into kafka topic in
+
+ ./bin/logstash -f log_collector.conf
+
+ ## `log_collector.conf` sample as following:
+
+ input {
+
+ }
+ filter {
+
+ }
+ output{
+
+ }
+
+ # Step 3: start application
+
+ # Step 4: monitor with featured portal or alert with policies
+ </install>
+ <uninstall>
+ # Step 1: stop and uninstall application
+ # Step 2: delete kafka topic named "${site}_example_source_topic"
+ # Step 3: stop logstash
+ </uninstall>
+ </docs>
+</application>