summaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/datalake-handler/admin/src/src/app/app.module.ts3
-rw-r--r--components/datalake-handler/admin/src/src/app/database/database-list/database-add-modal/database-add-modal.component.html154
-rw-r--r--components/datalake-handler/admin/src/src/app/database/database-list/database-list.component.html105
-rw-r--r--components/datalake-handler/admin/src/src/app/database/database-list/database-list.component.ts8
-rw-r--r--components/datalake-handler/admin/src/src/app/feeder/feeder.component.ts3
-rw-r--r--components/datalake-handler/admin/src/src/app/topics/topic-list/topic-list.component.html192
-rw-r--r--components/datalake-handler/admin/src/src/styles.css4
-rw-r--r--components/datalake-handler/feeder/src/assembly/scripts/init_db.sql36
-rw-r--r--components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/config/ApplicationConfiguration.java3
-rwxr-xr-xcomponents/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/controller/DesignTypeController.java54
-rw-r--r--components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/controller/PortalController.java125
-rw-r--r--components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/controller/PortalDesignController.java192
-rw-r--r--components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/controller/TopicController.java2
-rw-r--r--components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/domain/DesignType.java53
-rw-r--r--components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/domain/Portal.java79
-rw-r--r--components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/domain/PortalDesign.java90
-rw-r--r--components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/dto/PortalConfig.java50
-rwxr-xr-xcomponents/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/dto/PortalDesignConfig.java50
-rwxr-xr-xcomponents/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/repository/DesignTypeRepository.java35
-rw-r--r--components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/repository/PortalDesignRepository.java39
-rw-r--r--components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/repository/PortalRepository.java42
-rwxr-xr-xcomponents/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/service/DesignTypeService.java56
-rwxr-xr-xcomponents/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/service/PortalDesignService.java153
-rw-r--r--components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/service/PortalService.java79
-rw-r--r--components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/util/HttpClientUtil.java64
-rw-r--r--components/datalake-handler/feeder/src/main/resources/application.properties3
-rw-r--r--components/datalake-handler/feeder/src/main/resources/druid/AAI-EVENT-kafka-supervisor.json373
-rw-r--r--components/datalake-handler/feeder/src/main/resources/druid/EPC-kafka-supervisor.json247
-rw-r--r--components/datalake-handler/feeder/src/main/resources/druid/EPC-sample-format.json51
-rw-r--r--components/datalake-handler/feeder/src/main/resources/druid/HW-aggs-kafka-supervisor.json1131
-rw-r--r--components/datalake-handler/feeder/src/main/resources/druid/HW-aggs-sample-format.json179
31 files changed, 3306 insertions, 349 deletions
diff --git a/components/datalake-handler/admin/src/src/app/app.module.ts b/components/datalake-handler/admin/src/src/app/app.module.ts
index a5393d9a..575e9b78 100644
--- a/components/datalake-handler/admin/src/src/app/app.module.ts
+++ b/components/datalake-handler/admin/src/src/app/app.module.ts
@@ -61,6 +61,7 @@ import { DatabaseListComponent } from "./database/database-list/database-list.co
import { NgxDatatableModule } from "@swimlane/ngx-datatable";
import { CouchbaseComponent } from "./database/database-list/dbs-modal/couchbase/couchbase.component";
import { MongodbComponent } from "./database/database-list/dbs-modal/mongodb/mongodb.component";
+import { HdfsComponent } from "./database/database-list/dbs-modal/hdfs/hdfs.component";
import { DatabaseAddModalComponent } from "./database/database-list/database-add-modal/database-add-modal.component";
import { ElasticsearchComponent } from "./database/database-list/dbs-modal/elasticsearch/elasticsearch.component";
import { DruidComponent } from "./database/database-list/dbs-modal/druid/druid.component";
@@ -94,6 +95,7 @@ import { EditTemplateModalComponent } from './dashboard-setting/template/templat
DatabaseListComponent,
CouchbaseComponent,
MongodbComponent,
+ HdfsComponent,
DatabaseAddModalComponent,
ElasticsearchComponent,
DruidComponent,
@@ -136,6 +138,7 @@ import { EditTemplateModalComponent } from './dashboard-setting/template/templat
DruidComponent,
ElasticsearchComponent,
MongodbComponent,
+ HdfsComponent,
TopicDetailModalComponent,
TopicConfigModalComponent,
CreateDashboardComponent,
diff --git a/components/datalake-handler/admin/src/src/app/database/database-list/database-add-modal/database-add-modal.component.html b/components/datalake-handler/admin/src/src/app/database/database-list/database-add-modal/database-add-modal.component.html
index b454f61e..490bf49e 100644
--- a/components/datalake-handler/admin/src/src/app/database/database-list/database-add-modal/database-add-modal.component.html
+++ b/components/datalake-handler/admin/src/src/app/database/database-list/database-add-modal/database-add-modal.component.html
@@ -41,6 +41,8 @@ limitations under the License.
<a class="nav-link" id="v-pills-search-tab" data-toggle="pill" href="#v-pills-search" role="tab"
aria-controls="v-pills-search" aria-selected="false">Search Engine</a>
+ <a class="nav-link" id="v-pills-hadoop-tab" data-toggle="pill" href="#v-pills-hadoop" role="tab"
+ aria-controls="v-pills-hadoop" aria-selected="false">Hadoop</a>
</div>
</div>
@@ -87,6 +89,14 @@ limitations under the License.
aria-selected="true">Elasticsearch</a>
</div>
</div>
+
+ <!-- Hadoop -->
+ <div class="tab-pane fade" id="v-pills-hadoop" role="tabpanel" aria-labelledby="v-pills-hadoop-tab">
+ <div class="nav flex-column nav-pills" id="menu-tab2" role="tablist" aria-orientation="vertical">
+ <a class="nav-link" (click)="this.clickItem('HDFS')" data-toggle="pill" role="tab"
+ aria-selected="true">HDFS</a>
+ </div>
+ </div>
</div>
<div class="d-flex mt-auto justify-content-end p-3">
@@ -109,147 +119,5 @@ limitations under the License.
</div>
</div>
- <!-- <div class="container-fluid p-0">
- <div class="row m-0 p-0">
- <div class="col-md-4 border-right"></div>
- <div class="col-md-8"></div>
- </div>
- <div class="row m-0 p-0 border border-danger" style="height: 350px;">
- <div class="col-md-4 border-right">
- <div class="nav flex-column nav-pills" id="v-pills-tab" role="tablist" aria-orientation="vertical">
- <a class="nav-link active" id="v-pills-all-tab" data-toggle="pill" href="#v-pills-all" role="tab"
- aria-controls="v-pills-all" aria-selected="true">All</a>
- </div>
- </div>
- <div class="col-md-8">
- <div class="tab-content" id="v-pills-tabContent">
- <div class="tab-pane fade show active" id="v-pills-all" role="tabpanel" aria-labelledby="v-pills-all-tab">
- 1111111111111111
- </div>
- </div>
- </div>
- </div>
-
- <div class="row m-0 p-0 border border-info">
- <div class="col-md-6 p-0">
-
- </div>
- <div class="col-md-3 p-1">
- <span>
- <button type="button" class="btn dl-btn-dark btn-block" (click)="this.passBack()">
- Next
- </button>
- </span>
- </div>
- <div class="col-md-3 p-1">
- <span>
- <button type="button" class="btn dl-btn-light btn-block" (click)="activeModal.close('Close click')">
- Cancel
- </button>
- </span>
- </div>
- </div>
-
- <div class="d-flex justify-content-center">
-
- <div class="p-0 border-right">
- <div class="nav flex-column nav-pills" id="v-pills-tab" role="tablist" aria-orientation="vertical">
- <a class="nav-link active" id="v-pills-all-tab" data-toggle="pill" href="#v-pills-all" role="tab"
- aria-controls="v-pills-all" aria-selected="true">All</a>
- </div>
- </div>
-
- <div class="p-0">
- <div class="tab-content" id="v-pills-tabContent">
- <div class="tab-pane fade show active" id="v-pills-all" role="tabpanel" aria-labelledby="v-pills-all-tab">
- 1111111111111111
- </div>
- </div>
- </div>
- </div>
-
- <div class="d-flex">
- <div class="mb-auto">
- <div class="row">
- <div class="col-md-6 p-0">
-
- </div>
- <div class="col-md-3 p-1">
- <span>
- <button type="button" class="btn dl-btn-dark btn-block" (click)="this.passBack()">
- Next
- </button>
- </span>
- </div>
- <div class="col-md-3 p-1">
- <span>
- <button type="button" class="btn dl-btn-light btn-block" (click)="activeModal.close('Close click')">
- Cancel
- </button>
- </span>
- </div>
- </div>
- </div>
- </div> -->
-
-
- <!-- <div class="row">
- <div class="col-sm-4">
- <div class="nav flex-column nav-pills" id="v-pills-tab" role="tablist" aria-orientation="vertical">
- <a class="nav-link active" id="v-pills-home-tab" data-toggle="pill" href="#v-pills-home" role="tab"
- aria-controls="v-pills-home" aria-selected="true">Home</a>
- <a class="nav-link" id="v-pills-profile-tab" data-toggle="pill" href="#v-pills-profile" role="tab"
- aria-controls="v-pills-profile" aria-selected="false">Profile</a>
- <a class="nav-link" id="v-pills-messages-tab" data-toggle="pill" href="#v-pills-messages" role="tab"
- aria-controls="v-pills-messages" aria-selected="false">Messages</a>
- <a class="nav-link" id="v-pills-settings-tab" data-toggle="pill" href="#v-pills-settings" role="tab"
- aria-controls="v-pills-settings" aria-selected="false">Settings</a>
- </div>
-
- </div>
- <div class="col-sm-8">
- <div class="tab-content" id="v-pills-tabContent">
- <div class="tab-pane fade show active" id="v-pills-home" role="tabpanel" aria-labelledby="v-pills-home-tab">
- 1111111111111111
- </div>
- <div class="tab-pane fade" id="v-pills-profile" role="tabpanel" aria-labelledby="v-pills-profile-tab">
- 2222222222222222222
- </div>
- <div class="tab-pane fade" id="v-pills-messages" role="tabpanel" aria-labelledby="v-pills-messages-tab">
- 33333333333333333
- </div>
- <div class="tab-pane fade" id="v-pills-settings" role="tabpanel" aria-labelledby="v-pills-settings-tab">
- 4444444444444
- </div>
- </div>
- </div>
- </div> -->
-
-
</div>
-</div>
-
-
-<!-- <div class="modal-footer">
- <div class="container">
- <div class="row">
- <div class="col-md-6 p-0">
-
- </div>
- <div class="col-md-3 p-1">
- <span>
- <button type="button" class="btn dl-btn-dark btn-block" (click)="this.passBack()">
- Next
- </button>
- </span>
- </div>
- <div class="col-md-3 p-1">
- <span>
- <button type="button" class="btn dl-btn-light btn-block" (click)="activeModal.close('Close click')">
- Cancel
- </button>
- </span>
- </div>
- </div>
- </div>
- </div> -->
+</div> \ No newline at end of file
diff --git a/components/datalake-handler/admin/src/src/app/database/database-list/database-list.component.html b/components/datalake-handler/admin/src/src/app/database/database-list/database-list.component.html
index a675270d..8b71f529 100644
--- a/components/datalake-handler/admin/src/src/app/database/database-list/database-list.component.html
+++ b/components/datalake-handler/admin/src/src/app/database/database-list/database-list.component.html
@@ -128,6 +128,111 @@ limitations under the License.
</svg>
</span>
</div>
+
+ <!-- HDFS -->
+ <div class="p-0" *ngIf="db.name == 'HDFS'">
+ <span class="pr-1" data-toggle="tooltip" title="HDFS">
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="100" height="100"
+ viewBox="290 -397 2500 1875" style="enable-background:new 290 -397 2500 1875;" xml:space="preserve">
+ <style type="text/css">
+ .st0 {
+ fill: #313032;
+ }
+
+ .st1 {
+ fill: #FFFFFF;
+ }
+
+ </style>
+ <path class="st0"
+ d="M2149.4,171.3c-85.6,46.1-167.6,92.4-211.3,180C1938,240.2,2049.6,191.3,2149.4,171.3 M1921-47.2
+ c-63.6,43.3-108.5,130.8-102.9,216c-20.7-73.8-13.4-143.5,50.2-194.5c10.7-5.2,21.5-10.4,32.2-15.6 C1907.4-43.3,1914.2-45.2,1921-47.2" />
+ <path class="st0" d="M2776.4,154c-11.5-72.7-30.6-143.2-57.2-194c-3.2-6.2-8.1-12.5-14.2-18.5c-13.2-13-32.7-25.3-52.8-32.2
+ c-21.3-7.3-43.9-8.8-61.7,0.5c-4.6,2.4-9,5.6-12.8,9.5c-11.6,11.7-21.3,26-31.1,40.2c-10.9,15.9-21.8,31.9-34.9,43
+ c-15.2,13-34.1,20.8-52,28c-7.5-18.3-16.6-35.9-27.1-52.6c-12.2-19.5-26.2-37.8-41.5-56.1c-11.2-13.5-23.9-25.6-37.9-36.2
+ c-13.2-10.1-26.8-18.6-42.5-28.4c-42.3-26.5-78.2-58-114.9-90.2c-16.7-14.6-33.5-29.4-50-43c-87.4-72.1-168.9-107-256.1-112.5
+ c-86.6-5.4-178,18.3-286,63.8c-52.1,21.9-90.8,47.8-124.5,79c-32.2,29.8-59.5,64.1-89.6,104.1c-17.5,1.2-33,3.8-48.8,10.2
+ c-17.4,7-35,18.3-56,36.8c-14.6,12.9-29,26.1-43,39.7c-12.8,12.5-25.5,25.1-37.8,38.1c-98.3,15.8-178.4,33.2-250.1,61
+ c-73.3,28.4-138,67.5-204.4,126.4c-26.1,23.1-50,48.7-71.2,76.4c-20.2,26.5-37.5,54.3-52.6,83.6c-13.3,14.7-26.6,29.5-41,42.5
+ c-14,12.6-29,23.3-45.8,29.8l0,0c-9.8,3.8-13.8,6-14.2,5.8c-0.5-0.3-0.8-1.7-1.4-4.4c24.1-23,27.9-56.8,30.1-90.3
+ c2.9,3.5,5.7,7.7,8.5,12.2c3.2,4.9,6.4,10,10.4,14.9l16.4,20.6l5.7-25.7c4.8-21.6,8.4-50.3,2.8-75.2c-3.6-16.2-11.1-30.6-24.2-40.8
+ c1.2-3.3,2.4-6.3,3.6-9.2c4.1-10.5,8.3-21.3,11.9-31.4l7.1-20.2l-21.1,3.7c-28.1,4.9-88.4,38-130.9,82.1
+ c-15.8,16.4-29.3,34.5-38.2,53.5c-9.3,19.8-13.4,40.4-9.8,61.1c3.1,18.1,12.2,35.8,28.6,52.6c3,12.1,5.8,22.6,8.7,32
+ c3.4,10.8,7,20.4,11.6,29.8c12.4,25.7,32.1,41.4,54.9,48.7c18.3,5.9,38.6,6.2,58.5,1.8c-4,23.7-6.5,47.6-7.3,71.6
+ c-1.3,33.5,0,70.6,3.7,113.6c0.8,9.4,2,19.8,3.6,31.1c1.4,9.6,3,19.1,4.7,28.5c-3.7,10.1-7.5,20.3-11.2,30.4L534,846.9l-38.2,37.8
+ c-11.9,11.7-23.8,23.5-35.6,35.3c-1,1-5,4.8-8.6,8.3c-24.1,23.2-28.8,27.8-22,68.5c4.4,26.1,12.9,51.3,25.2,74.7
+ c11.8,22.5,27.7,44.4,48,64.8c25.4,25.4,67,57.1,110.6,73.6c24.9,9.5,50.6,14.1,74.7,10.2c-1.2,3.7-2.4,7.4-3.8,11.1
+ c-3.8,10.6-8,21-12.7,31.2c-29.6,64.8,0.8,98.6,48,120.2c23.6,10.7,51.6,18,77.7,24.8c5.3,1.4,10.7,2.8,17.4,4.6
+ c30.9,8.3,84.2,23.7,132.9,26.7c53.2,3.4,101.1-7.6,114-55.3c5.1-18.9,8-33.4,9.2-47.6c1.1-13.2,0.7-26.5-0.9-42.9
+ c15.2-33.6,21.6-43,32.7-59.2c2.2-3.2,4.8-7,5.6-8.2c11.9-17.6,17.5-30.1,19.5-44.2c2-13.6,0.3-27.1-2.2-47.8
+ c-0.2-2-0.6-4.8-1.1-8.6c30.6,4,61.4,6.1,92.3,6.3c15.5,0.1,31-0.4,46.4-1.2c-4,2-7.8,4-12.1,6.2l-5.8,3
+ c-41.1,21.1-42.8,61.1-29.9,102.2c11.6,37.1,35.4,75,50.4,98c31.4,48.5,61.5,89.5,97.8,111.8c38.1,23.4,81.7,26.1,137.9-4.3
+ c28.6-15.5,37.6-31.3,49.8-52.6c3.7-6.5,7.8-13.6,12.4-20.6c11.8-7.8,41.2-32.1,70.1-56c9.8-8.1,19.7-16.2,30.7-25.2
+ c7.6,5.6,16.9,9.5,28,12.2c14.5,3.5,31.7,5,52.4,6.5c15.5,1.1,65.9,1.1,98.4,1.1c10.1,0,18.4,0,23.4,0c33.6,0.2,60.8-1.6,81.3-13.2
+ c21.9-12.4,34.8-34.3,37.6-73.7c1.2-17.5,1.5-28.3-1-39.3c-2.3-10.3-6.7-19.7-14.3-33.3c-0.5-17-0.9-34-1.4-51
+ c-0.5-18-1-36.1-1.4-54.1c-0.6-21.3-2.9-38.6-7.2-55.6c-4.3-16.9-10.4-33.1-18.6-52.6c-5.1-12.3-9.9-24.7-14.4-37.2l-11.8,4.3
+ l1.8-0.7l10-3.7v0c-7-19-14-37.4-23.7-57.2c0.6-3.8,1.3-7.9,1.9-12.3l18.7,18.1l27.6,26.6c21.1,20.3,40.3,38.8,63,52.1
+ c23.4,13.8,49.7,21.8,83.8,20.2c35.7-1.7,73.9-16.7,105.3-39.9c30.4-22.5,54.8-52.7,65-86.2l8.8-29.1l7.1-23.2
+ c50,8.5,103.7,11.2,155.6,5.8c50.1-5.3,98.4-18,140.1-40.3c61.3-32.7,107.3-80.9,140.3-138.1h0c36.9-63.9,57.6-139.3,65.4-216.8
+ C2792.8,320.1,2789.3,235.5,2776.4,154L2776.4,154z M2128.1,676.7c-28.8-9.7-48.9-23.9-74.2-39.8c6.9,31.1,10,64,0.8,95
+ c-14.6,49.2-38.1,129.8,28.7,144.6c25.4,5.6,37,4.8,72.9-13.7c-29.1,6.6-43.7,5-63.7,1.3c-18.1-3.3-27.7-14.8-32.8-28.4
+ c6.3,4.6,16.6,7,34.3,11.3c49.6,12,96.8-11.9,106-46.3c5.4-20.1,4.5-30.6,15.9-58c10.3,3.2,20.8,6.1,31.7,8.7l-18.4,60
+ c-15.9,52-78,93.8-132.8,92.9c-50.6-0.9-82.8-32.6-117.7-63.7c-24.1-21.4-47.3-41.9-70.2-62.3c-63-19.9-113.6-43.1-172.1-86.4
+ c41.6,48.9,69.9,76,127.9,100.4c-8.4,86.1-38.4,148.9-63.9,231.4c-11.6,37.3-102.7,186.6-128,201.2c-18,10.4-130.9,105.4-152.1,118
+ c-15.8,21-29.7,50-53.5,62.6c-72.4,38.3-119-35-158-97c-17.7-28.2-67-109.5-24.1-132.3c40.6-21.5,63.4-36.9,104.8-64.1
+ c6.1,11.1,16.5,21.8,23.3,32.9l-4.5-36.4c-2.7-22-2.6-39.8-0.9-61.9c1.7-21.4,3.4-42.8,5.1-64.2c-6.2,21.8-18.7,43.5-24.9,65.3
+ c-2.5,8.7-4.6,15.7-5.7,22.3c-93,19-185.3,20.2-278.4,3.6c-5.9-34.4-13.2-70.3-19.2-96.1c-1.8,28.8-0.7,108.5-0.8,153.1
+ c-0.1,34.6-1.6,46.4-19.4,75.8c-16.7,27.5-23.7,33.8-47.1,80.3c2,29.3,2,48.7-5.8,76.6c-13,46.3-143.8,10.4-178.2,1
+ c-42.5-11.6-130.3-28.9-108.2-85.5c19.4-49.8,31.8-102.4,41.3-172.1c-77.8-112.1-150.2-265.8-164.1-402
+ c-10.8-105.7-4.3-170.8,18.6-235.4c36.2-102.5,87-191.2,168.3-262.6c109.8-96.3,212.4-135,373-159.5c-38.6,43.3-76.9,89-118.5,138
+ c-42.2,49.6-67.2,99.8-94,154.1c-37,75-36.2,103.5,12.8,169.4c42.3,56.7,65.1,82.3,83.5,137.8c-15.2,31.4-20.8,58-25.9,100.8
+ c51.7,56.6,90.2,95.3,140.4,107.3c49.3,11.7,90.4,9.5,134.5-13.1c97.9-50.1,188.5-114.7,299-117.4c51.1-125.6,45.9-230.6,21.4-352.2
+ c-16.8-83-23.5-161.6-28.7-246.2c-20.7,87.2-24.6,163.8-9.2,250.6c18.5,104.6,32.9,220.2-18.6,312.2c-99.9,7.6-185.5,68.4-275.5,115
+ c-36.2,18.8-73.9,20.6-113.9,9.6c-37.2-10.2-62.3-34.8-102.3-81c-0.6-46.4,9.8-67.8,31.1-109.8c34.2-67.5,72-130.2,113.4-196.6
+ c-50.7,61.3-98.8,112.4-138.8,174c-15.3-43.5-37.1-65.6-73.3-114.6c-35.3-47.8-39-68.8-12.6-124.2c26.6-55.6,49.1-104.5,94.3-153.3
+ c78.1-84.3,149.6-178.2,235.1-261.3c46.4-45.1,65.2-43.5,126.7-52.9c55.6-8.4,109.9-19.1,166.6-32.2c-54.8,5.1-107.8,7-161.2,8.3
+ l-1.7,0c52.5-67.1,83-104.5,168.3-141.5c210-91.2,343.5-101.1,508.5,37.6c42.8,36,80.1,70.8,123.5,101.9
+ c-15.7,1.3-29.3,4.2-47.2,11.2c21.8-4.2,47,0,69.6,4.1c6.3,4.1,12.9,8.1,19.6,12.1c30.6,18,48,28,68.7,56.8
+ c21.9,30.5,40.1,60.9,56.2,94.5c-10.5-3.8-19.4-6.9-27.2-9.3c-17.8-8.2-38.6-6.9-55.2,3.4l-1.3,0.6c-16.9,8.3-43.2,17.6-60.7,20.5
+ c9,3.1,28.8,4.2,38.1,0.5c1.2-0.5,2.5-0.9,3.8-1.2c-4.3,7.4-7,15.6-7.8,24.1c-1.1,11.2,1.1,22.5,6.3,32.6l0,0.1
+ c1.6,3.7,3.8,7.2,6.2,9.6c-8,3-16.2,6.3-24.7,10c39.2-6,74.4-7,112.6-2c2.5,12,5.1,24.8,7.4,37.8l-14.2,1.1c-0.4,0-0.8,0.1-1.1,0.1
+ c-18.1-14.4-38.2-12-65.7-5.7c-83.7,19.1-64,66-102.5,136.8c40-48.8,37-100,102.1-115.4c15.2-3.6,25.5-8.1,35.8-6.5
+ c-18.5,9.3-34.5,24.7-40.8,42.6c-17.9,50.5-6.8,93-26.4,140.2c24.3-42.1,25.8-83.3,47.5-127.6c7.8-15.9,36.8-41.4,54.6-41.8
+ l14.6-0.3c4.3,28,6.9,55.9,5.2,79c-3,42.2-14,104.8-20.5,128.7c22-28.3,32.1-88.3,41.7-130.6c10.1-44,7.5-96.7-1.3-144
+ c-12.1-64.8,54.6-54.3,93.4-84.8c28.5-22.5,48.1-58.3,74.2-83.7c25.9-25.2,66.7,11.8,76.9,36.4c44.2,106.9,64.3,275.1,52.6,382.8
+ c-13.1,120.9-71.5,252.9-178.2,312.5C2423.5,768.5,2263.2,722.2,2128.1,676.7L2128.1,676.7z M1934.9,1213.7
+ c-4.4,49.9-21.1,53.2-64.9,52.4c-19.9-0.4-99.2-0.7-119.3-2.4c-28.4-2.5-44.4-5-53.1-11.5c44.6-32.8,120.5-168.1,135.3-214.7
+ c15.6-49.2,32.8-92.2,45.5-137.7c5.9,19,10.5,37.9,19,58c14.2,33.7,21.2,54.6,22.2,90.8l3.2,114.6
+ C1935.1,1184.7,1937.1,1189.3,1934.9,1213.7L1934.9,1213.7z M591.2,835.8c28.3,98.1,76.7,194.5,130.2,275.5v1.4
+ c-3.4,13.9-7.2,27.5-15.4,38.4c-38.3,51.2-135.6-24-163.8-52.7c-30.8-31.5-51.4-68.7-56.3-103.6c-3.6-25.5-0.1-26.1,17.7-44.1
+ l71.9-72.8L591.2,835.8L591.2,835.8z M537.1,219c-7.3,15.6-12.4,27.4-15.9,39.6c-15.3,52.7,6.9,99.8-41,138
+ c22.5,45.4,21.5,63.5,73.8,42.5c20.2-8.1,36.8-19.4,51.7-32.9c-7.2,18.7-13.8,37.6-19.8,56.7c-1,3.2-2,6.5-3,9.7
+ c-37.4,15.9-86.6,26-105.4-13.3c-9.1-19.1-14.3-37.8-21-61.9C394.8,333.5,486.9,249.2,537.1,219L537.1,219z M567.3,286.6
+ c-7.6-7.6-13.7-12.8-23.5-11.7c0.8-6.4,1.9-12.7,3.5-18.5c0.8-3,1.6-6,2.5-8.9C562.6,254.9,565.9,268.4,567.3,286.6L567.3,286.6z
+ M2414.8,48.2c2.3,4.9,4.6,9.9,6.9,14.9c-1.9,1.4-3.6,2.8-5.3,4.3c-3-7.1-7.4-13.5-12.9-18.9C2407.1,48.4,2410.9,48.2,2414.8,48.2
+ L2414.8,48.2z M636,337.9L636,337.9L636,337.9L636,337.9z M1109.6,1110.4L1109.6,1110.4L1109.6,1110.4z M1665,1276.2L1665,1276.2
+ L1665,1276.2z M1890.6,847.2L1890.6,847.2L1890.6,847.2L1890.6,847.2z M543.4,414.6L543.4,414.6l-0.4-1.1L543.4,414.6L543.4,414.6z
+ M2710,592.7l0.3,0.2L2710,592.7z M326,399.3c9.8-111,31.4-158.9,110.3-242.5C337.3,226.5,312.7,258.2,326,399.3" />
+ <path class="st0" d="M300.5,308.6c10.9-50,21-68.8,51.9-109.8C302.4,233.7,295.9,248,300.5,308.6 M1461.1-387.9
+ c-59.3,14.3-70.6,25.2-88.3,83.3C1401.2-347.1,1417.5-360.9,1461.1-387.9" />
+ <path class="st0" d="M1554.6-396.3c-117.5,28.8-152.1,49.3-191.1,185.5C1413.1-310.6,1450.7-347.3,1554.6-396.3 M1807.8,100.3
+ c12.5-55.5,34.8-109,121-150.4C1814.5-21.5,1793.1,26.5,1807.8,100.3 M2534.8,104.1c67.7-24.1,100.3-78.5,116.5-142.5
+ c-26.5,53.6-67.4,98.5-122.9,126c-29.8,14.7-48.8,9.6-82.1,6.4C2480.1,103.8,2501.6,116,2534.8,104.1 M2073.8,158.5
+ c-8.7-18.2-24.2-32.3-43.1-39.2c16.6-8.9,32.9-18.2,45.6-29.7c-37.3,17.2-80.6,13-112.6,34.6c-28.2,19-67,79.3-95.6,104.9
+ c20.7-8,40.7-22,59.1-36.6c0.2,28.4,16.1,54.3,41.2,67.4c-10.6,13.9-19,29.2-25,45.6c54.5-64.6,133.5-113.3,207.8-134.2
+ c-20.8-0.3-45.3,3.6-70.4,11.8C2079.9,174.6,2077.5,166.3,2073.8,158.5 M1995.4,646.4c-2.6,16.7-6.3,37.5-8.9,54.2
+ c7.1-18.9,15.6-40.9,23.8-59c8.7-19.1,13.6-20.9,32.2-31c13.1-7.1,37-17,50.1-24.1c-13.5,2.3-37.7,7.2-51.2,9.5
+ C2005.3,602.2,2001,610.9,1995.4,646.4 M1378.9,0.9c-41.9,41.4-82.6,183.5-95.6,240.4c20.5-47.2,71.7-179.3,111-212.9
+ c10.9-9.3,18.4-15,26.6-19.1c-28.1,47.2-26.1,58.9-16.2,122.2c8.4-64.3,30.6-89.1,67.1-137.1c40-10,77.4-22.1,118.4-38
+ c-46.2,5.2-92.4,10-138.7,14.4C1412.7-25.7,1406.4-26.3,1378.9,0.9" />
+ <path class="st1"
+ d="M1949.6,242.8c-7.6-16-0.8-35.2,15.2-42.8c16.1-7.6,35.4-0.8,43,15.3c0.7,1.4,1.3,2.9,1.7,4.5
+ c-15.3,11.4-29.3,24.7-41.1,40.2C1960.5,256.8,1953.5,251,1949.6,242.8 M2307.3,104.4c1.3-13.2,12.6-23,25.8-21.7
+ c13.3,1.3,23,13.1,21.7,26.3c-0.3,2.7-1,5.4-2.2,7.9c-12.1,2.1-24.2,5.6-36.7,10.2C2310.7,121.8,2306.6,112,2307.3,104.4" />
+ </svg>
+ </span>
+ </div>
</div>
<div class="mt-auto">
diff --git a/components/datalake-handler/admin/src/src/app/database/database-list/database-list.component.ts b/components/datalake-handler/admin/src/src/app/database/database-list/database-list.component.ts
index d0c3a1cb..13a6274a 100644
--- a/components/datalake-handler/admin/src/src/app/database/database-list/database-list.component.ts
+++ b/components/datalake-handler/admin/src/src/app/database/database-list/database-list.component.ts
@@ -37,6 +37,7 @@ import { CouchbaseComponent } from "./dbs-modal/couchbase/couchbase.component";
import { DruidComponent } from "./dbs-modal/druid/druid.component";
import { ElasticsearchComponent } from "./dbs-modal/elasticsearch/elasticsearch.component";
import { MongodbComponent } from "./dbs-modal/mongodb/mongodb.component";
+import { HdfsComponent } from "./dbs-modal/hdfs/hdfs.component";
import { AlertComponent } from "src/app/core/alert/alert.component";
// Notify
@@ -190,6 +191,13 @@ export class DatabaseListComponent implements OnInit {
});
break;
}
+ case "HDFS": {
+ modalRef = this.modalService.open(HdfsComponent, {
+ size: "lg",
+ centered: true
+ });
+ break;
+ }
default: {
break;
}
diff --git a/components/datalake-handler/admin/src/src/app/feeder/feeder.component.ts b/components/datalake-handler/admin/src/src/app/feeder/feeder.component.ts
index b3c766d1..f5d05bb7 100644
--- a/components/datalake-handler/admin/src/src/app/feeder/feeder.component.ts
+++ b/components/datalake-handler/admin/src/src/app/feeder/feeder.component.ts
@@ -52,8 +52,7 @@ export class FeederComponent implements OnInit {
this.adminService.setTitle("SIDEBAR.FEDDFER");
this.restApiService.getTopicsFromFeeder().subscribe(
res => {
- // TODO: -1, because __consumer_offsets
- this.topicContent = (res.length - 1).toString();
+ this.topicContent = res.length.toString();
setTimeout(() => {
this.spinner.hide();
}, 500);
diff --git a/components/datalake-handler/admin/src/src/app/topics/topic-list/topic-list.component.html b/components/datalake-handler/admin/src/src/app/topics/topic-list/topic-list.component.html
index 8c84e447..1e4ed1cc 100644
--- a/components/datalake-handler/admin/src/src/app/topics/topic-list/topic-list.component.html
+++ b/components/datalake-handler/admin/src/src/app/topics/topic-list/topic-list.component.html
@@ -343,6 +343,198 @@ limitations under the License.
</g>
</svg>
</span>
+
+ <!-- HDFS enable -->
+ <span *ngIf="row.sinkdbs.includes('HDFS')" class="pr-1" placement="bottom" ngbTooltip="HDFS"
+ container="body" tooltipClass="dl-db-icon-hover-enable" [openDelay]="300" [closeDelay]="300">
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
+ y="0px" width="20" height="20" viewBox="290 -397 2500 1875"
+ style="enable-background:new 290 -397 2500 1875;" xml:space="preserve">
+ <path style="fill:#5DBEBB" d="M2150,170.1c-85.6,46.1-167.6,92.4-211.3,180C1938.6,239,2050.2,190.1,2150,170.1 M1921.6-48.4
+ c-63.6,43.3-108.5,130.8-102.9,216c-20.7-73.8-13.4-143.5,50.2-194.5c10.7-5.2,21.5-10.4,32.2-15.6
+ C1908-44.5,1914.8-46.4,1921.6-48.4" />
+ <path style="fill:#5DBEBB"
+ d="M2777,152.8c-11.5-72.7-30.6-143.2-57.2-194c-3.2-6.2-8.1-12.5-14.2-18.5c-13.2-13-32.7-25.3-52.8-32.2
+ c-21.3-7.3-43.9-8.8-61.7,0.5c-4.6,2.4-9,5.6-12.8,9.5c-11.6,11.7-21.3,26-31.1,40.2c-10.9,15.9-21.8,31.9-34.9,43
+ c-15.2,13-34.1,20.8-52,28c-7.5-18.3-16.6-35.9-27.1-52.6c-12.2-19.5-26.2-37.8-41.5-56.1c-11.2-13.5-23.9-25.6-37.9-36.2
+ c-13.2-10.1-26.8-18.6-42.5-28.4c-42.3-26.5-78.2-58-114.9-90.2c-16.7-14.6-33.5-29.4-50-43c-87.4-72.1-168.9-107-256.1-112.5
+ c-86.6-5.4-178,18.3-286,63.8c-52.1,21.9-90.8,47.8-124.5,79c-32.2,29.8-59.5,64.1-89.6,104.1c-17.5,1.2-33,3.8-48.8,10.2
+ c-17.4,7-35,18.3-56,36.8c-14.6,12.9-29,26.1-43,39.7c-12.8,12.5-25.5,25.1-37.8,38.1c-98.3,15.8-178.4,33.2-250.1,61
+ c-73.3,28.4-138,67.5-204.4,126.4c-26.1,23.1-50,48.7-71.2,76.4c-20.2,26.5-37.5,54.3-52.6,83.6c-13.3,14.7-26.6,29.5-41,42.5
+ c-14,12.6-29,23.3-45.8,29.8l0,0c-9.8,3.8-13.8,6-14.2,5.8c-0.5-0.3-0.8-1.7-1.4-4.4c24.1-23,27.9-56.8,30.1-90.3
+ c2.9,3.5,5.7,7.7,8.5,12.2c3.2,4.9,6.4,10,10.4,14.9l16.4,20.6l5.7-25.7c4.8-21.6,8.4-50.3,2.8-75.2c-3.6-16.2-11.1-30.6-24.2-40.8
+ c1.2-3.3,2.4-6.3,3.6-9.2c4.1-10.5,8.3-21.3,11.9-31.4l7.1-20.2l-21.1,3.7c-28.1,4.9-88.4,38-130.9,82.1
+ c-15.8,16.4-29.3,34.5-38.2,53.5c-9.3,19.8-13.4,40.4-9.8,61.1c3.1,18.1,12.2,35.8,28.6,52.6c3,12.1,5.8,22.6,8.7,32
+ c3.4,10.8,7,20.4,11.6,29.8c12.4,25.7,32.1,41.4,54.9,48.7c18.3,5.9,38.6,6.2,58.5,1.8c-4,23.7-6.5,47.6-7.3,71.6
+ c-1.3,33.5,0,70.6,3.7,113.6c0.8,9.4,2,19.8,3.6,31.1c1.4,9.6,3,19.1,4.7,28.5c-3.7,10.1-7.5,20.3-11.2,30.4l-17.4,47.2l-38.2,37.8
+ c-11.9,11.7-23.8,23.5-35.6,35.3c-1,1-5,4.8-8.6,8.3c-24.1,23.2-28.8,27.8-22,68.5c4.4,26.1,12.9,51.3,25.2,74.7
+ c11.8,22.5,27.7,44.4,48,64.8c25.4,25.4,67,57.1,110.6,73.6c24.9,9.5,50.6,14.1,74.7,10.2c-1.2,3.7-2.4,7.4-3.8,11.1
+ c-3.8,10.6-8,21-12.7,31.2c-29.6,64.8,0.8,98.6,48,120.2c23.6,10.7,51.6,18,77.7,24.8c5.3,1.4,10.7,2.8,17.4,4.6
+ c30.9,8.3,84.2,23.7,132.9,26.7c53.2,3.4,101.1-7.6,114-55.3c5.1-18.9,8-33.4,9.2-47.6c1.1-13.2,0.7-26.5-0.9-42.9
+ c15.2-33.6,21.6-43,32.7-59.2c2.2-3.2,4.8-7,5.6-8.2c11.9-17.6,17.5-30.1,19.5-44.2c2-13.6,0.3-27.1-2.2-47.8
+ c-0.2-2-0.6-4.8-1.1-8.6c30.6,4,61.4,6.1,92.3,6.3c15.5,0.1,31-0.4,46.4-1.2c-4,2-7.8,4-12.1,6.2l-5.8,3
+ c-41.1,21.1-42.8,61.1-29.9,102.2c11.6,37.1,35.4,75,50.4,98c31.4,48.5,61.5,89.5,97.8,111.8c38.1,23.4,81.7,26.1,137.9-4.3
+ c28.6-15.5,37.6-31.3,49.8-52.6c3.7-6.5,7.8-13.6,12.4-20.6c11.8-7.8,41.2-32.1,70.1-56c9.8-8.1,19.7-16.2,30.7-25.2
+ c7.6,5.6,16.9,9.5,28,12.2c14.5,3.5,31.7,5,52.4,6.5c15.5,1.1,65.9,1.1,98.4,1.1c10.1,0,18.4,0,23.4,0c33.6,0.2,60.8-1.6,81.3-13.2
+ c21.9-12.4,34.8-34.3,37.6-73.7c1.2-17.5,1.5-28.3-1-39.3c-2.3-10.3-6.7-19.7-14.3-33.3c-0.5-17-0.9-34-1.4-51
+ c-0.5-18-1-36.1-1.4-54.1c-0.6-21.3-2.9-38.6-7.2-55.6c-4.3-16.9-10.4-33.1-18.6-52.6c-5.1-12.3-9.9-24.7-14.4-37.2l-11.8,4.3
+ l1.8-0.7l10-3.7l0,0c-7-19-14-37.4-23.7-57.2c0.6-3.8,1.3-7.9,1.9-12.3l18.7,18.1l27.6,26.6c21.1,20.3,40.3,38.8,63,52.1
+ c23.4,13.8,49.7,21.8,83.8,20.2c35.7-1.7,73.9-16.7,105.3-39.9c30.4-22.5,54.8-52.7,65-86.2l8.8-29.1l7.1-23.2
+ c50,8.5,103.7,11.2,155.6,5.8c50.1-5.3,98.4-18,140.1-40.3c61.3-32.7,107.3-80.9,140.3-138.1l0,0c36.9-63.9,57.6-139.3,65.4-216.8
+ C2793.4,318.9,2789.9,234.3,2777,152.8L2777,152.8z M2128.7,675.5c-28.8-9.7-48.9-23.9-74.2-39.8c6.9,31.1,10,64,0.8,95
+ c-14.6,49.2-38.1,129.8,28.7,144.6c25.4,5.6,37,4.8,72.9-13.7c-29.1,6.6-43.7,5-63.7,1.3c-18.1-3.3-27.7-14.8-32.8-28.4
+ c6.3,4.6,16.6,7,34.3,11.3c49.6,12,96.8-11.9,106-46.3c5.4-20.1,4.5-30.6,15.9-58c10.3,3.2,20.8,6.1,31.7,8.7l-18.4,60
+ c-15.9,52-78,93.8-132.8,92.9c-50.6-0.9-82.8-32.6-117.7-63.7c-24.1-21.4-47.3-41.9-70.2-62.3c-63-19.9-113.6-43.1-172.1-86.4
+ c41.6,48.9,69.9,76,127.9,100.4c-8.4,86.1-38.4,148.9-63.9,231.4c-11.6,37.3-102.7,186.6-128,201.2c-18,10.4-130.9,105.4-152.1,118
+ c-15.8,21-29.7,50-53.5,62.6c-72.4,38.3-119-35-158-97c-17.7-28.2-67-109.5-24.1-132.3c40.6-21.5,63.4-36.9,104.8-64.1
+ c6.1,11.1,16.5,21.8,23.3,32.9l-4.5-36.4c-2.7-22-2.6-39.8-0.9-61.9c1.7-21.4,3.4-42.8,5.1-64.2c-6.2,21.8-18.7,43.5-24.9,65.3
+ c-2.5,8.7-4.6,15.7-5.7,22.3c-93,19-185.3,20.2-278.4,3.6c-5.9-34.4-13.2-70.3-19.2-96.1c-1.8,28.8-0.7,108.5-0.8,153.1
+ c-0.1,34.6-1.6,46.4-19.4,75.8c-16.7,27.5-23.7,33.8-47.1,80.3c2,29.3,2,48.7-5.8,76.6c-13,46.3-143.8,10.4-178.2,1
+ c-42.5-11.6-130.3-28.9-108.2-85.5c19.4-49.8,31.8-102.4,41.3-172.1c-77.8-112.1-150.2-265.8-164.1-402
+ c-10.8-105.7-4.3-170.8,18.6-235.4c36.2-102.5,87-191.2,168.3-262.6c109.8-96.3,212.4-135,373-159.5c-38.6,43.3-76.9,89-118.5,138
+ c-42.2,49.6-67.2,99.8-94,154.1c-37,75-36.2,103.5,12.8,169.4c42.3,56.7,65.1,82.3,83.5,137.8c-15.2,31.4-20.8,58-25.9,100.8
+ c51.7,56.6,90.2,95.3,140.4,107.3c49.3,11.7,90.4,9.5,134.5-13.1c97.9-50.1,188.5-114.7,299-117.4c51.1-125.6,45.9-230.6,21.4-352.2
+ c-16.8-83-23.5-161.6-28.7-246.2c-20.7,87.2-24.6,163.8-9.2,250.6c18.5,104.6,32.9,220.2-18.6,312.2c-99.9,7.6-185.5,68.4-275.5,115
+ c-36.2,18.8-73.9,20.6-113.9,9.6c-37.2-10.2-62.3-34.8-102.3-81c-0.6-46.4,9.8-67.8,31.1-109.8c34.2-67.5,72-130.2,113.4-196.6
+ c-50.7,61.3-98.8,112.4-138.8,174C1058,555.1,1036.2,533,1000,484c-35.3-47.8-39-68.8-12.6-124.2c26.6-55.6,49.1-104.5,94.3-153.3
+ c78.1-84.3,149.6-178.2,235.1-261.3c46.4-45.1,65.2-43.5,126.7-52.9c55.6-8.4,109.9-19.1,166.6-32.2c-54.8,5.1-107.8,7-161.2,8.3
+ h-1.7c52.5-67.1,83-104.5,168.3-141.5c210-91.2,343.5-101.1,508.5,37.6c42.8,36,80.1,70.8,123.5,101.9c-15.7,1.3-29.3,4.2-47.2,11.2
+ c21.8-4.2,47,0,69.6,4.1c6.3,4.1,12.9,8.1,19.6,12.1c30.6,18,48,28,68.7,56.8c21.9,30.5,40.1,60.9,56.2,94.5
+ c-10.5-3.8-19.4-6.9-27.2-9.3c-17.8-8.2-38.6-6.9-55.2,3.4l-1.3,0.6c-16.9,8.3-43.2,17.6-60.7,20.5c9,3.1,28.8,4.2,38.1,0.5
+ c1.2-0.5,2.5-0.9,3.8-1.2c-4.3,7.4-7,15.6-7.8,24.1c-1.1,11.2,1.1,22.5,6.3,32.6v0.1c1.6,3.7,3.8,7.2,6.2,9.6c-8,3-16.2,6.3-24.7,10
+ c39.2-6,74.4-7,112.6-2c2.5,12,5.1,24.8,7.4,37.8l-14.2,1.1c-0.4,0-0.8,0.1-1.1,0.1c-18.1-14.4-38.2-12-65.7-5.7
+ c-83.7,19.1-64,66-102.5,136.8c40-48.8,37-100,102.1-115.4c15.2-3.6,25.5-8.1,35.8-6.5c-18.5,9.3-34.5,24.7-40.8,42.6
+ c-17.9,50.5-6.8,93-26.4,140.2c24.3-42.1,25.8-83.3,47.5-127.6c7.8-15.9,36.8-41.4,54.6-41.8l14.6-0.3c4.3,28,6.9,55.9,5.2,79
+ c-3,42.2-14,104.8-20.5,128.7c22-28.3,32.1-88.3,41.7-130.6c10.1-44,7.5-96.7-1.3-144c-12.1-64.8,54.6-54.3,93.4-84.8
+ c28.5-22.5,48.1-58.3,74.2-83.7c25.9-25.2,66.7,11.8,76.9,36.4c44.2,106.9,64.3,275.1,52.6,382.8
+ c-13.1,120.9-71.5,252.9-178.2,312.5C2424.1,767.3,2263.8,721,2128.7,675.5L2128.7,675.5z M1935.5,1212.5
+ c-4.4,49.9-21.1,53.2-64.9,52.4c-19.9-0.4-99.2-0.7-119.3-2.4c-28.4-2.5-44.4-5-53.1-11.5c44.6-32.8,120.5-168.1,135.3-214.7
+ c15.6-49.2,32.8-92.2,45.5-137.7c5.9,19,10.5,37.9,19,58c14.2,33.7,21.2,54.6,22.2,90.8l3.2,114.6
+ C1935.7,1183.5,1937.7,1188.1,1935.5,1212.5L1935.5,1212.5z M591.8,834.6c28.3,98.1,76.7,194.5,130.2,275.5v1.4
+ c-3.4,13.9-7.2,27.5-15.4,38.4c-38.3,51.2-135.6-24-163.8-52.7c-30.8-31.5-51.4-68.7-56.3-103.6c-3.6-25.5-0.1-26.1,17.7-44.1
+ l71.9-72.8L591.8,834.6L591.8,834.6z M537.7,217.8c-7.3,15.6-12.4,27.4-15.9,39.6c-15.3,52.7,6.9,99.8-41,138
+ c22.5,45.4,21.5,63.5,73.8,42.5c20.2-8.1,36.8-19.4,51.7-32.9c-7.2,18.7-13.8,37.6-19.8,56.7c-1,3.2-2,6.5-3,9.7
+ c-37.4,15.9-86.6,26-105.4-13.3c-9.1-19.1-14.3-37.8-21-61.9C395.4,332.3,487.5,248,537.7,217.8L537.7,217.8z M567.9,285.4
+ c-7.6-7.6-13.7-12.8-23.5-11.7c0.8-6.4,1.9-12.7,3.5-18.5c0.8-3,1.6-6,2.5-8.9C563.2,253.7,566.5,267.2,567.9,285.4L567.9,285.4z
+ M2415.4,47c2.3,4.9,4.6,9.9,6.9,14.9c-1.9,1.4-3.6,2.8-5.3,4.3c-3-7.1-7.4-13.5-12.9-18.9C2407.7,47.2,2411.5,47,2415.4,47
+ L2415.4,47z M636.6,336.7L636.6,336.7L636.6,336.7L636.6,336.7z M1110.2,1109.2L1110.2,1109.2L1110.2,1109.2z M1665.6,1275
+ L1665.6,1275L1665.6,1275z M1891.2,846L1891.2,846L1891.2,846L1891.2,846z M544,413.4L544,413.4l-0.4-1.1L544,413.4L544,413.4z
+ M2710.6,591.5l0.3,0.2L2710.6,591.5z M326.6,398.1c9.8-111,31.4-158.9,110.3-242.5C337.9,225.3,313.3,257,326.6,398.1" />
+ <path style="fill:#5DBEBB" d="M301.1,307.4c10.9-50,21-68.8,51.9-109.8C303,232.5,296.5,246.8,301.1,307.4 M1461.7-389.1
+ c-59.3,14.3-70.6,25.2-88.3,83.3C1401.8-348.3,1418.1-362.1,1461.7-389.1" />
+ <path style="fill:#5DBEBB" d="M1555.2-397.5c-117.5,28.8-152.1,49.3-191.1,185.5C1413.7-311.8,1451.3-348.5,1555.2-397.5 M1808.4,99.1
+ c12.5-55.5,34.8-109,121-150.4C1815.1-22.7,1793.7,25.3,1808.4,99.1 M2535.4,102.9c67.7-24.1,100.3-78.5,116.5-142.5
+ c-26.5,53.6-67.4,98.5-122.9,126c-29.8,14.7-48.8,9.6-82.1,6.4C2480.7,102.6,2502.2,114.8,2535.4,102.9 M2074.4,157.3
+ c-8.7-18.2-24.2-32.3-43.1-39.2c16.6-8.9,32.9-18.2,45.6-29.7c-37.3,17.2-80.6,13-112.6,34.6c-28.2,19-67,79.3-95.6,104.9
+ c20.7-8,40.7-22,59.1-36.6c0.2,28.4,16.1,54.3,41.2,67.4c-10.6,13.9-19,29.2-25,45.6c54.5-64.6,133.5-113.3,207.8-134.2
+ c-20.8-0.3-45.3,3.6-70.4,11.8C2080.5,173.4,2078.1,165.1,2074.4,157.3 M1996,645.2c-2.6,16.7-6.3,37.5-8.9,54.2
+ c7.1-18.9,15.6-40.9,23.8-59c8.7-19.1,13.6-20.9,32.2-31c13.1-7.1,37-17,50.1-24.1c-13.5,2.3-37.7,7.2-51.2,9.5
+ C2005.9,601,2001.6,609.7,1996,645.2 M1379.5-0.3c-41.9,41.4-82.6,183.5-95.6,240.4c20.5-47.2,71.7-179.3,111-212.9
+ c10.9-9.3,18.4-15,26.6-19.1c-28.1,47.2-26.1,58.9-16.2,122.2c8.4-64.3,30.6-89.1,67.1-137.1c40-10,77.4-22.1,118.4-38
+ c-46.2,5.2-92.4,10-138.7,14.4C1413.3-26.9,1407-27.5,1379.5-0.3" />
+ <path style="fill: #FFFFFF"
+ d="M1950.2,241.6c-7.6-16-0.8-35.2,15.2-42.8c16.1-7.6,35.4-0.8,43,15.3c0.7,1.4,1.3,2.9,1.7,4.5
+ c-15.3,11.4-29.3,24.7-41.1,40.2C1961.1,255.6,1954.1,249.8,1950.2,241.6 M2307.9,103.2c1.3-13.2,12.6-23,25.8-21.7
+ c13.3,1.3,23,13.1,21.7,26.3c-0.3,2.7-1,5.4-2.2,7.9c-12.1,2.1-24.2,5.6-36.7,10.2C2311.3,120.6,2307.2,110.8,2307.9,103.2" />
+ </svg>
+
+ </span>
+ <!-- HDFS disable -->
+ <span *ngIf="!row.sinkdbs.includes('HDFS')" class="pr-1" placement="bottom" ngbTooltip="HDFS"
+ container="body" tooltipClass="dl-db-icon-hover-disable" [openDelay]="300" [closeDelay]="300">
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
+ y="0px" width="20" height="20" viewBox="290 -397 2500 1875"
+ style="enable-background:new 290 -397 2500 1875;" xml:space="preserve">
+ <path style="fill: #d2d3d5" d="M2150,170.1c-85.6,46.1-167.6,92.4-211.3,180C1938.6,239,2050.2,190.1,2150,170.1 M1921.6-48.4
+ c-63.6,43.3-108.5,130.8-102.9,216c-20.7-73.8-13.4-143.5,50.2-194.5c10.7-5.2,21.5-10.4,32.2-15.6
+ C1908-44.5,1914.8-46.4,1921.6-48.4" />
+ <path style="fill: #d2d3d5"
+ d="M2777,152.8c-11.5-72.7-30.6-143.2-57.2-194c-3.2-6.2-8.1-12.5-14.2-18.5c-13.2-13-32.7-25.3-52.8-32.2
+ c-21.3-7.3-43.9-8.8-61.7,0.5c-4.6,2.4-9,5.6-12.8,9.5c-11.6,11.7-21.3,26-31.1,40.2c-10.9,15.9-21.8,31.9-34.9,43
+ c-15.2,13-34.1,20.8-52,28c-7.5-18.3-16.6-35.9-27.1-52.6c-12.2-19.5-26.2-37.8-41.5-56.1c-11.2-13.5-23.9-25.6-37.9-36.2
+ c-13.2-10.1-26.8-18.6-42.5-28.4c-42.3-26.5-78.2-58-114.9-90.2c-16.7-14.6-33.5-29.4-50-43c-87.4-72.1-168.9-107-256.1-112.5
+ c-86.6-5.4-178,18.3-286,63.8c-52.1,21.9-90.8,47.8-124.5,79c-32.2,29.8-59.5,64.1-89.6,104.1c-17.5,1.2-33,3.8-48.8,10.2
+ c-17.4,7-35,18.3-56,36.8c-14.6,12.9-29,26.1-43,39.7c-12.8,12.5-25.5,25.1-37.8,38.1c-98.3,15.8-178.4,33.2-250.1,61
+ c-73.3,28.4-138,67.5-204.4,126.4c-26.1,23.1-50,48.7-71.2,76.4c-20.2,26.5-37.5,54.3-52.6,83.6c-13.3,14.7-26.6,29.5-41,42.5
+ c-14,12.6-29,23.3-45.8,29.8l0,0c-9.8,3.8-13.8,6-14.2,5.8c-0.5-0.3-0.8-1.7-1.4-4.4c24.1-23,27.9-56.8,30.1-90.3
+ c2.9,3.5,5.7,7.7,8.5,12.2c3.2,4.9,6.4,10,10.4,14.9l16.4,20.6l5.7-25.7c4.8-21.6,8.4-50.3,2.8-75.2c-3.6-16.2-11.1-30.6-24.2-40.8
+ c1.2-3.3,2.4-6.3,3.6-9.2c4.1-10.5,8.3-21.3,11.9-31.4l7.1-20.2l-21.1,3.7c-28.1,4.9-88.4,38-130.9,82.1
+ c-15.8,16.4-29.3,34.5-38.2,53.5c-9.3,19.8-13.4,40.4-9.8,61.1c3.1,18.1,12.2,35.8,28.6,52.6c3,12.1,5.8,22.6,8.7,32
+ c3.4,10.8,7,20.4,11.6,29.8c12.4,25.7,32.1,41.4,54.9,48.7c18.3,5.9,38.6,6.2,58.5,1.8c-4,23.7-6.5,47.6-7.3,71.6
+ c-1.3,33.5,0,70.6,3.7,113.6c0.8,9.4,2,19.8,3.6,31.1c1.4,9.6,3,19.1,4.7,28.5c-3.7,10.1-7.5,20.3-11.2,30.4l-17.4,47.2l-38.2,37.8
+ c-11.9,11.7-23.8,23.5-35.6,35.3c-1,1-5,4.8-8.6,8.3c-24.1,23.2-28.8,27.8-22,68.5c4.4,26.1,12.9,51.3,25.2,74.7
+ c11.8,22.5,27.7,44.4,48,64.8c25.4,25.4,67,57.1,110.6,73.6c24.9,9.5,50.6,14.1,74.7,10.2c-1.2,3.7-2.4,7.4-3.8,11.1
+ c-3.8,10.6-8,21-12.7,31.2c-29.6,64.8,0.8,98.6,48,120.2c23.6,10.7,51.6,18,77.7,24.8c5.3,1.4,10.7,2.8,17.4,4.6
+ c30.9,8.3,84.2,23.7,132.9,26.7c53.2,3.4,101.1-7.6,114-55.3c5.1-18.9,8-33.4,9.2-47.6c1.1-13.2,0.7-26.5-0.9-42.9
+ c15.2-33.6,21.6-43,32.7-59.2c2.2-3.2,4.8-7,5.6-8.2c11.9-17.6,17.5-30.1,19.5-44.2c2-13.6,0.3-27.1-2.2-47.8
+ c-0.2-2-0.6-4.8-1.1-8.6c30.6,4,61.4,6.1,92.3,6.3c15.5,0.1,31-0.4,46.4-1.2c-4,2-7.8,4-12.1,6.2l-5.8,3
+ c-41.1,21.1-42.8,61.1-29.9,102.2c11.6,37.1,35.4,75,50.4,98c31.4,48.5,61.5,89.5,97.8,111.8c38.1,23.4,81.7,26.1,137.9-4.3
+ c28.6-15.5,37.6-31.3,49.8-52.6c3.7-6.5,7.8-13.6,12.4-20.6c11.8-7.8,41.2-32.1,70.1-56c9.8-8.1,19.7-16.2,30.7-25.2
+ c7.6,5.6,16.9,9.5,28,12.2c14.5,3.5,31.7,5,52.4,6.5c15.5,1.1,65.9,1.1,98.4,1.1c10.1,0,18.4,0,23.4,0c33.6,0.2,60.8-1.6,81.3-13.2
+ c21.9-12.4,34.8-34.3,37.6-73.7c1.2-17.5,1.5-28.3-1-39.3c-2.3-10.3-6.7-19.7-14.3-33.3c-0.5-17-0.9-34-1.4-51
+ c-0.5-18-1-36.1-1.4-54.1c-0.6-21.3-2.9-38.6-7.2-55.6c-4.3-16.9-10.4-33.1-18.6-52.6c-5.1-12.3-9.9-24.7-14.4-37.2l-11.8,4.3
+ l1.8-0.7l10-3.7l0,0c-7-19-14-37.4-23.7-57.2c0.6-3.8,1.3-7.9,1.9-12.3l18.7,18.1l27.6,26.6c21.1,20.3,40.3,38.8,63,52.1
+ c23.4,13.8,49.7,21.8,83.8,20.2c35.7-1.7,73.9-16.7,105.3-39.9c30.4-22.5,54.8-52.7,65-86.2l8.8-29.1l7.1-23.2
+ c50,8.5,103.7,11.2,155.6,5.8c50.1-5.3,98.4-18,140.1-40.3c61.3-32.7,107.3-80.9,140.3-138.1l0,0c36.9-63.9,57.6-139.3,65.4-216.8
+ C2793.4,318.9,2789.9,234.3,2777,152.8L2777,152.8z M2128.7,675.5c-28.8-9.7-48.9-23.9-74.2-39.8c6.9,31.1,10,64,0.8,95
+ c-14.6,49.2-38.1,129.8,28.7,144.6c25.4,5.6,37,4.8,72.9-13.7c-29.1,6.6-43.7,5-63.7,1.3c-18.1-3.3-27.7-14.8-32.8-28.4
+ c6.3,4.6,16.6,7,34.3,11.3c49.6,12,96.8-11.9,106-46.3c5.4-20.1,4.5-30.6,15.9-58c10.3,3.2,20.8,6.1,31.7,8.7l-18.4,60
+ c-15.9,52-78,93.8-132.8,92.9c-50.6-0.9-82.8-32.6-117.7-63.7c-24.1-21.4-47.3-41.9-70.2-62.3c-63-19.9-113.6-43.1-172.1-86.4
+ c41.6,48.9,69.9,76,127.9,100.4c-8.4,86.1-38.4,148.9-63.9,231.4c-11.6,37.3-102.7,186.6-128,201.2c-18,10.4-130.9,105.4-152.1,118
+ c-15.8,21-29.7,50-53.5,62.6c-72.4,38.3-119-35-158-97c-17.7-28.2-67-109.5-24.1-132.3c40.6-21.5,63.4-36.9,104.8-64.1
+ c6.1,11.1,16.5,21.8,23.3,32.9l-4.5-36.4c-2.7-22-2.6-39.8-0.9-61.9c1.7-21.4,3.4-42.8,5.1-64.2c-6.2,21.8-18.7,43.5-24.9,65.3
+ c-2.5,8.7-4.6,15.7-5.7,22.3c-93,19-185.3,20.2-278.4,3.6c-5.9-34.4-13.2-70.3-19.2-96.1c-1.8,28.8-0.7,108.5-0.8,153.1
+ c-0.1,34.6-1.6,46.4-19.4,75.8c-16.7,27.5-23.7,33.8-47.1,80.3c2,29.3,2,48.7-5.8,76.6c-13,46.3-143.8,10.4-178.2,1
+ c-42.5-11.6-130.3-28.9-108.2-85.5c19.4-49.8,31.8-102.4,41.3-172.1c-77.8-112.1-150.2-265.8-164.1-402
+ c-10.8-105.7-4.3-170.8,18.6-235.4c36.2-102.5,87-191.2,168.3-262.6c109.8-96.3,212.4-135,373-159.5c-38.6,43.3-76.9,89-118.5,138
+ c-42.2,49.6-67.2,99.8-94,154.1c-37,75-36.2,103.5,12.8,169.4c42.3,56.7,65.1,82.3,83.5,137.8c-15.2,31.4-20.8,58-25.9,100.8
+ c51.7,56.6,90.2,95.3,140.4,107.3c49.3,11.7,90.4,9.5,134.5-13.1c97.9-50.1,188.5-114.7,299-117.4c51.1-125.6,45.9-230.6,21.4-352.2
+ c-16.8-83-23.5-161.6-28.7-246.2c-20.7,87.2-24.6,163.8-9.2,250.6c18.5,104.6,32.9,220.2-18.6,312.2c-99.9,7.6-185.5,68.4-275.5,115
+ c-36.2,18.8-73.9,20.6-113.9,9.6c-37.2-10.2-62.3-34.8-102.3-81c-0.6-46.4,9.8-67.8,31.1-109.8c34.2-67.5,72-130.2,113.4-196.6
+ c-50.7,61.3-98.8,112.4-138.8,174C1058,555.1,1036.2,533,1000,484c-35.3-47.8-39-68.8-12.6-124.2c26.6-55.6,49.1-104.5,94.3-153.3
+ c78.1-84.3,149.6-178.2,235.1-261.3c46.4-45.1,65.2-43.5,126.7-52.9c55.6-8.4,109.9-19.1,166.6-32.2c-54.8,5.1-107.8,7-161.2,8.3
+ h-1.7c52.5-67.1,83-104.5,168.3-141.5c210-91.2,343.5-101.1,508.5,37.6c42.8,36,80.1,70.8,123.5,101.9c-15.7,1.3-29.3,4.2-47.2,11.2
+ c21.8-4.2,47,0,69.6,4.1c6.3,4.1,12.9,8.1,19.6,12.1c30.6,18,48,28,68.7,56.8c21.9,30.5,40.1,60.9,56.2,94.5
+ c-10.5-3.8-19.4-6.9-27.2-9.3c-17.8-8.2-38.6-6.9-55.2,3.4l-1.3,0.6c-16.9,8.3-43.2,17.6-60.7,20.5c9,3.1,28.8,4.2,38.1,0.5
+ c1.2-0.5,2.5-0.9,3.8-1.2c-4.3,7.4-7,15.6-7.8,24.1c-1.1,11.2,1.1,22.5,6.3,32.6v0.1c1.6,3.7,3.8,7.2,6.2,9.6c-8,3-16.2,6.3-24.7,10
+ c39.2-6,74.4-7,112.6-2c2.5,12,5.1,24.8,7.4,37.8l-14.2,1.1c-0.4,0-0.8,0.1-1.1,0.1c-18.1-14.4-38.2-12-65.7-5.7
+ c-83.7,19.1-64,66-102.5,136.8c40-48.8,37-100,102.1-115.4c15.2-3.6,25.5-8.1,35.8-6.5c-18.5,9.3-34.5,24.7-40.8,42.6
+ c-17.9,50.5-6.8,93-26.4,140.2c24.3-42.1,25.8-83.3,47.5-127.6c7.8-15.9,36.8-41.4,54.6-41.8l14.6-0.3c4.3,28,6.9,55.9,5.2,79
+ c-3,42.2-14,104.8-20.5,128.7c22-28.3,32.1-88.3,41.7-130.6c10.1-44,7.5-96.7-1.3-144c-12.1-64.8,54.6-54.3,93.4-84.8
+ c28.5-22.5,48.1-58.3,74.2-83.7c25.9-25.2,66.7,11.8,76.9,36.4c44.2,106.9,64.3,275.1,52.6,382.8
+ c-13.1,120.9-71.5,252.9-178.2,312.5C2424.1,767.3,2263.8,721,2128.7,675.5L2128.7,675.5z M1935.5,1212.5
+ c-4.4,49.9-21.1,53.2-64.9,52.4c-19.9-0.4-99.2-0.7-119.3-2.4c-28.4-2.5-44.4-5-53.1-11.5c44.6-32.8,120.5-168.1,135.3-214.7
+ c15.6-49.2,32.8-92.2,45.5-137.7c5.9,19,10.5,37.9,19,58c14.2,33.7,21.2,54.6,22.2,90.8l3.2,114.6
+ C1935.7,1183.5,1937.7,1188.1,1935.5,1212.5L1935.5,1212.5z M591.8,834.6c28.3,98.1,76.7,194.5,130.2,275.5v1.4
+ c-3.4,13.9-7.2,27.5-15.4,38.4c-38.3,51.2-135.6-24-163.8-52.7c-30.8-31.5-51.4-68.7-56.3-103.6c-3.6-25.5-0.1-26.1,17.7-44.1
+ l71.9-72.8L591.8,834.6L591.8,834.6z M537.7,217.8c-7.3,15.6-12.4,27.4-15.9,39.6c-15.3,52.7,6.9,99.8-41,138
+ c22.5,45.4,21.5,63.5,73.8,42.5c20.2-8.1,36.8-19.4,51.7-32.9c-7.2,18.7-13.8,37.6-19.8,56.7c-1,3.2-2,6.5-3,9.7
+ c-37.4,15.9-86.6,26-105.4-13.3c-9.1-19.1-14.3-37.8-21-61.9C395.4,332.3,487.5,248,537.7,217.8L537.7,217.8z M567.9,285.4
+ c-7.6-7.6-13.7-12.8-23.5-11.7c0.8-6.4,1.9-12.7,3.5-18.5c0.8-3,1.6-6,2.5-8.9C563.2,253.7,566.5,267.2,567.9,285.4L567.9,285.4z
+ M2415.4,47c2.3,4.9,4.6,9.9,6.9,14.9c-1.9,1.4-3.6,2.8-5.3,4.3c-3-7.1-7.4-13.5-12.9-18.9C2407.7,47.2,2411.5,47,2415.4,47
+ L2415.4,47z M636.6,336.7L636.6,336.7L636.6,336.7L636.6,336.7z M1110.2,1109.2L1110.2,1109.2L1110.2,1109.2z M1665.6,1275
+ L1665.6,1275L1665.6,1275z M1891.2,846L1891.2,846L1891.2,846L1891.2,846z M544,413.4L544,413.4l-0.4-1.1L544,413.4L544,413.4z
+ M2710.6,591.5l0.3,0.2L2710.6,591.5z M326.6,398.1c9.8-111,31.4-158.9,110.3-242.5C337.9,225.3,313.3,257,326.6,398.1" />
+ <path style="fill: #d2d3d5" d="M301.1,307.4c10.9-50,21-68.8,51.9-109.8C303,232.5,296.5,246.8,301.1,307.4 M1461.7-389.1
+ c-59.3,14.3-70.6,25.2-88.3,83.3C1401.8-348.3,1418.1-362.1,1461.7-389.1" />
+ <path style="fill: #d2d3d5" d="M1555.2-397.5c-117.5,28.8-152.1,49.3-191.1,185.5C1413.7-311.8,1451.3-348.5,1555.2-397.5 M1808.4,99.1
+ c12.5-55.5,34.8-109,121-150.4C1815.1-22.7,1793.7,25.3,1808.4,99.1 M2535.4,102.9c67.7-24.1,100.3-78.5,116.5-142.5
+ c-26.5,53.6-67.4,98.5-122.9,126c-29.8,14.7-48.8,9.6-82.1,6.4C2480.7,102.6,2502.2,114.8,2535.4,102.9 M2074.4,157.3
+ c-8.7-18.2-24.2-32.3-43.1-39.2c16.6-8.9,32.9-18.2,45.6-29.7c-37.3,17.2-80.6,13-112.6,34.6c-28.2,19-67,79.3-95.6,104.9
+ c20.7-8,40.7-22,59.1-36.6c0.2,28.4,16.1,54.3,41.2,67.4c-10.6,13.9-19,29.2-25,45.6c54.5-64.6,133.5-113.3,207.8-134.2
+ c-20.8-0.3-45.3,3.6-70.4,11.8C2080.5,173.4,2078.1,165.1,2074.4,157.3 M1996,645.2c-2.6,16.7-6.3,37.5-8.9,54.2
+ c7.1-18.9,15.6-40.9,23.8-59c8.7-19.1,13.6-20.9,32.2-31c13.1-7.1,37-17,50.1-24.1c-13.5,2.3-37.7,7.2-51.2,9.5
+ C2005.9,601,2001.6,609.7,1996,645.2 M1379.5-0.3c-41.9,41.4-82.6,183.5-95.6,240.4c20.5-47.2,71.7-179.3,111-212.9
+ c10.9-9.3,18.4-15,26.6-19.1c-28.1,47.2-26.1,58.9-16.2,122.2c8.4-64.3,30.6-89.1,67.1-137.1c40-10,77.4-22.1,118.4-38
+ c-46.2,5.2-92.4,10-138.7,14.4C1413.3-26.9,1407-27.5,1379.5-0.3" />
+ <path style="fill: #FFFFFF"
+ d="M1950.2,241.6c-7.6-16-0.8-35.2,15.2-42.8c16.1-7.6,35.4-0.8,43,15.3c0.7,1.4,1.3,2.9,1.7,4.5
+ c-15.3,11.4-29.3,24.7-41.1,40.2C1961.1,255.6,1954.1,249.8,1950.2,241.6 M2307.9,103.2c1.3-13.2,12.6-23,25.8-21.7
+ c13.3,1.3,23,13.1,21.7,26.3c-0.3,2.7-1,5.4-2.2,7.9c-12.1,2.1-24.2,5.6-36.7,10.2C2311.3,120.6,2307.2,110.8,2307.9,103.2" />
+ </svg>
+
+ </span>
+
</ng-template>
</ngx-datatable-column>
diff --git a/components/datalake-handler/admin/src/src/styles.css b/components/datalake-handler/admin/src/src/styles.css
index 5087697b..ef3295b3 100644
--- a/components/datalake-handler/admin/src/src/styles.css
+++ b/components/datalake-handler/admin/src/src/styles.css
@@ -380,6 +380,10 @@ hr {
}
/* Input: checkbox */
+.input-group-text {
+ padding: .375rem 16px;
+}
+
.dl-input-chk {
font-family: "Open Sans", sans-serif;
font-weight: 400;
diff --git a/components/datalake-handler/feeder/src/assembly/scripts/init_db.sql b/components/datalake-handler/feeder/src/assembly/scripts/init_db.sql
index ad142dcf..4fe9ad3f 100644
--- a/components/datalake-handler/feeder/src/assembly/scripts/init_db.sql
+++ b/components/datalake-handler/feeder/src/assembly/scripts/init_db.sql
@@ -88,30 +88,30 @@ insert into db (`name`,`host`,`login`) values ('HDFS','dlhdfs','dl');
-- in production, default enabled should be off
insert into `topic`(`name`,`enabled`,`save_raw`,`ttl`,`data_format`) values ('_DL_DEFAULT_',1,0,3650,'JSON');
+insert into `map_db_topic`(`db_name`,`topic_name`) select `name`, '_DL_DEFAULT_' from db;
+
+
insert into `topic`(`name`,correlate_cleared_message,`enabled`, message_id_path,`data_format`) values ('unauthenticated.SEC_FAULT_OUTPUT',1,1,'/event/commonEventHeader/eventName,/event/commonEventHeader/reportingEntityName,/event/faultFields/specificProblem,/event/commonEventHeader/eventId','JSON');
+insert into `map_db_topic`(`db_name`,`topic_name`) select `name`, 'unauthenticated.SEC_FAULT_OUTPUT' from db;
+
insert into `topic`(`name`,`enabled`, aggregate_array_path,flatten_array_path,`data_format`)
values ('unauthenticated.VES_MEASUREMENT_OUTPUT',1,
-'/event/measurementsForVfScalingFields/diskUsageArray,/event/measurementsForVfScalingFields/cpuUsageArray,/event/measurementsForVfScalingFields/vNicPerformanceArray',
+'/event/measurementsForVfScalingFields/memoryUsageArray,/event/measurementsForVfScalingFields/diskUsageArray,/event/measurementsForVfScalingFields/cpuUsageArray,/event/measurementsForVfScalingFields/vNicPerformanceArray',
'/event/measurementsForVfScalingFields/astriMeasurement/astriDPMeasurementArray/astriInterface',
'JSON');
+insert into `map_db_topic`(`db_name`,`topic_name`) select `name`, 'unauthenticated.VES_MEASUREMENT_OUTPUT' from db;
-insert into `map_db_topic`(`db_name`,`topic_name`) values ('Couchbase','_DL_DEFAULT_');
-insert into `map_db_topic`(`db_name`,`topic_name`) values ('Elasticsearch','_DL_DEFAULT_');
-insert into `map_db_topic`(`db_name`,`topic_name`) values ('MongoDB','_DL_DEFAULT_');
-insert into `map_db_topic`(`db_name`,`topic_name`) values ('Druid','_DL_DEFAULT_');
-insert into `map_db_topic`(`db_name`,`topic_name`) values ('HDFS','_DL_DEFAULT_');
-
-insert into `map_db_topic`(`db_name`,`topic_name`) values ('Couchbase','unauthenticated.SEC_FAULT_OUTPUT');
-insert into `map_db_topic`(`db_name`,`topic_name`) values ('Elasticsearch','unauthenticated.SEC_FAULT_OUTPUT');
-insert into `map_db_topic`(`db_name`,`topic_name`) values ('MongoDB','unauthenticated.SEC_FAULT_OUTPUT');
-insert into `map_db_topic`(`db_name`,`topic_name`) values ('Druid','unauthenticated.SEC_FAULT_OUTPUT');
-insert into `map_db_topic`(`db_name`,`topic_name`) values ('HDFS','unauthenticated.SEC_FAULT_OUTPUT');
+insert into `topic`(`name`,`enabled`, flatten_array_path,`data_format`)
+values ('EPC',1,
+'/event/measurementsForVfScalingFields/astriMeasurement/astriDPMeasurementArray/astriInterface',
+'JSON');
+insert into `map_db_topic`(`db_name`,`topic_name`) select `name`, 'EPC' from db;
-insert into `map_db_topic`(`db_name`,`topic_name`) values ('Couchbase','unauthenticated.VES_MEASUREMENT_OUTPUT');
-insert into `map_db_topic`(`db_name`,`topic_name`) values ('Elasticsearch','unauthenticated.VES_MEASUREMENT_OUTPUT');
-insert into `map_db_topic`(`db_name`,`topic_name`) values ('MongoDB','unauthenticated.VES_MEASUREMENT_OUTPUT');
-insert into `map_db_topic`(`db_name`,`topic_name`) values ('Druid','unauthenticated.VES_MEASUREMENT_OUTPUT');
-insert into `map_db_topic`(`db_name`,`topic_name`) values ('HDFS','unauthenticated.VES_MEASUREMENT_OUTPUT');
+insert into `topic`(`name`,`enabled`, aggregate_array_path,`data_format`)
+values ('HW',1,
+'/event/measurementsForVfScalingFields/memoryUsageArray,/event/measurementsForVfScalingFields/diskUsageArray,/event/measurementsForVfScalingFields/cpuUsageArray,/event/measurementsForVfScalingFields/vNicPerformanceArray',
+'JSON');
+insert into `map_db_topic`(`db_name`,`topic_name`) select `name`, 'HW' from db;
insert into portal (`name`,`related_db`, host) values ('Kibana', 'Elasticsearch', 'dl_es');
insert into portal (`name`,`related_db`) values ('Elasticsearch', 'Elasticsearch');
@@ -121,5 +121,5 @@ insert into design_type (`name`,`portal`) values ('Kibana Dashboard', 'Kibana');
insert into design_type (`name`,`portal`) values ('Kibana Search', 'Kibana');
insert into design_type (`name`,`portal`) values ('Kibana Visualization', 'Kibana');
insert into design_type (`name`,`portal`) values ('Elasticsearch Field Mapping Template', 'Elasticsearch');
-insert into design_type (`name`,`portal`) values ('Druid Kafka Indexing Service Supervisor', 'Druid');
+insert into design_type (`name`,`portal`) values ('Druid Kafka Indexing Service Supervisor Spec', 'Druid');
diff --git a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/config/ApplicationConfiguration.java b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/config/ApplicationConfiguration.java
index 73067182..2bcd0a39 100644
--- a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/config/ApplicationConfiguration.java
+++ b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/config/ApplicationConfiguration.java
@@ -70,4 +70,7 @@ public class ApplicationConfiguration {
//Version
private String datalakeVersion;
+
+ //Kibana
+ private String KibanaDashboardImportApi;
}
diff --git a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/controller/DesignTypeController.java b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/controller/DesignTypeController.java
new file mode 100755
index 00000000..db789a47
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/controller/DesignTypeController.java
@@ -0,0 +1,54 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : DataLake
+ * ================================================================================
+ * Copyright 2019 China Mobile
+ *=================================================================================
+ * Licensed 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.datalake.feeder.controller;
+
+import java.util.List;
+
+import org.onap.datalake.feeder.service.DesignTypeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.*;
+
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * This controller manages designType settings
+ *
+ * @author guochunmeng
+ */
+@CrossOrigin(origins = "*")
+@RestController
+@RequestMapping(value = "/designTypes", produces = { MediaType.APPLICATION_JSON_VALUE })
+public class DesignTypeController {
+
+ @Autowired
+ private DesignTypeService designTypeService;
+
+ @GetMapping("")
+ @ResponseBody
+ @ApiOperation(value="List all designTypes names")
+ public List<String> getTemplateTypeName() {
+
+ return designTypeService.listNames();
+
+ }
+
+}
diff --git a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/controller/PortalController.java b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/controller/PortalController.java
new file mode 100644
index 00000000..cb3ff344
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/controller/PortalController.java
@@ -0,0 +1,125 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : DataLake
+ * ================================================================================
+ * Copyright 2019 China Mobile
+ *=================================================================================
+ * Licensed 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.datalake.feeder.controller;
+
+import io.swagger.annotations.ApiOperation;
+import org.onap.datalake.feeder.controller.domain.PostReturnBody;
+import org.onap.datalake.feeder.domain.Portal;
+import org.onap.datalake.feeder.dto.PortalConfig;
+import org.onap.datalake.feeder.repository.PortalRepository;
+import org.onap.datalake.feeder.service.PortalService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * This controller manages Portal settings
+ *
+ *
+ * @author guochunmeng
+ */
+@CrossOrigin(origins = "*")
+@RestController
+@RequestMapping(value = "/portals", produces = { MediaType.APPLICATION_JSON_VALUE })
+public class PortalController {
+
+ private final Logger log = LoggerFactory.getLogger(this.getClass());
+
+ @Autowired
+ private PortalRepository portalRepository;
+
+ @Autowired
+ private PortalService portalService;
+
+ @PutMapping("")
+ @ResponseBody
+ @ApiOperation("update portal")
+ public PostReturnBody<PortalConfig> updatePortal(@RequestBody PortalConfig portalConfig, BindingResult result, HttpServletResponse response) throws IOException {
+
+ if (result.hasErrors()) {
+ sendError(response, 400, "Error binding PortalConfig: "+result.toString());
+ return null;
+ }
+
+ Portal portal = null;
+ try {
+ portal = portalRepository.findById(portalConfig.getName()).get();
+ if (portalConfig.getEnabled() == false) {
+ log.info("Disable portal "+portalConfig.getName());
+ portal.setPort(null);
+ portal.setHost(null);
+ portal.setLogin(null);
+ portal.setPass(null);
+ portal.setEnabled(false);
+ }else {
+ log.info("Update portal "+portalConfig);
+ portalService.fillPortalConfiguration(portalConfig, portal);
+ }
+ portalRepository.save(portal);
+ return mkPostReturnBody(200, portal);
+ } catch (Exception e) {
+ log.debug("Update or delete portal failed, Portal: "+portalConfig, e.getMessage());
+ sendError(response, 400, "Error update or delete portal: "+portal);
+ return null;
+ }
+ }
+
+
+ @GetMapping("")
+ @ResponseBody
+ @ApiOperation(value = "List all portals")
+ public List<PortalConfig> getPortals() {
+
+ List<Portal> portalList = null;
+ List<PortalConfig> portalConfigList = new ArrayList<>();
+ portalList = (List<Portal>)portalRepository.findAll();
+ if (portalList != null && portalList.size() > 0) {
+ log.info("PortalList is not null");
+ for(Portal portal : portalList) {
+ portalConfigList.add(portal.getPortalConfig());
+ }
+ }
+ return portalConfigList;
+ }
+
+
+ private void sendError(HttpServletResponse response, int sc, String msg) throws IOException {
+ log.info(msg);
+ response.sendError(sc, msg);
+ }
+
+
+ private PostReturnBody<PortalConfig> mkPostReturnBody(int statusCode, Portal portal) {
+ PostReturnBody<PortalConfig> retBody = new PostReturnBody<>();
+ retBody.setStatusCode(statusCode);
+ retBody.setReturnBody(portal.getPortalConfig());
+ return retBody;
+ }
+
+} \ No newline at end of file
diff --git a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/controller/PortalDesignController.java b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/controller/PortalDesignController.java
new file mode 100644
index 00000000..7b717268
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/controller/PortalDesignController.java
@@ -0,0 +1,192 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : DataLake
+ * ================================================================================
+ * Copyright 2019 China Mobile
+ *=================================================================================
+ * Licensed 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.datalake.feeder.controller;
+
+import org.onap.datalake.feeder.controller.domain.PostReturnBody;
+import org.onap.datalake.feeder.domain.PortalDesign;
+import org.onap.datalake.feeder.dto.PortalDesignConfig;
+import org.onap.datalake.feeder.repository.PortalDesignRepository;
+import org.onap.datalake.feeder.service.PortalDesignService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import io.swagger.annotations.ApiOperation;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.servlet.http.HttpServletResponse;
+
+
+/**
+ * This controller manages portalDesign settings
+ *
+ * @author guochunmeng
+ */
+@CrossOrigin(origins = "*")
+@RestController
+@RequestMapping(value = "/portalDesigns", produces = MediaType.APPLICATION_JSON_VALUE)
+public class PortalDesignController {
+
+ private final Logger log = LoggerFactory.getLogger(this.getClass());
+
+ @Autowired
+ private PortalDesignRepository portalDesignRepository;
+
+ @Autowired
+ private PortalDesignService portalDesignService;
+
+ @PostMapping("")
+ @ResponseBody
+ @ApiOperation(value="Create a portalDesign.")
+ public PostReturnBody<PortalDesignConfig> createPortalDesign(@RequestBody PortalDesignConfig portalDesignConfig, BindingResult result, HttpServletResponse response) throws IOException {
+
+ if (result.hasErrors()) {
+ sendError(response, 400, "Error parsing PortalDesignConfig: "+result.toString());
+ return null;
+ }
+
+ PortalDesign portalDesign = null;
+ try {
+ portalDesign = portalDesignService.fillPortalDesignConfiguration(portalDesignConfig);
+ } catch (Exception e) {
+ log.debug("FillPortalDesignConfiguration failed", e.getMessage());
+ sendError(response, 400, "Error FillPortalDesignConfiguration: "+e.getMessage());
+ return null;
+ }
+ portalDesignRepository.save(portalDesign);
+ log.info("PortalDesign save successed");
+ return mkPostReturnBody(200, portalDesign);
+ }
+
+
+ @PutMapping("{id}")
+ @ResponseBody
+ @ApiOperation(value="Update a portalDesign.")
+ public PostReturnBody<PortalDesignConfig> updatePortalDesign(@RequestBody PortalDesignConfig portalDesignConfig, BindingResult result, @PathVariable Integer id, HttpServletResponse response) throws IOException {
+
+ if (result.hasErrors()) {
+ sendError(response, 400, "Error parsing PortalDesignConfig: "+result.toString());
+ return null;
+ }
+
+ PortalDesign portalDesign = portalDesignService.getPortalDesign(id);
+ if (portalDesign != null) {
+ try {
+ portalDesignService.fillPortalDesignConfiguration(portalDesignConfig, portalDesign);
+ } catch (Exception e) {
+ log.debug("FillPortalDesignConfiguration failed", e.getMessage());
+ sendError(response, 400, "Error FillPortalDesignConfiguration: "+e.getMessage());
+ return null;
+ }
+ portalDesignRepository.save(portalDesign);
+ log.info("PortalDesign update successed");
+ return mkPostReturnBody(200, portalDesign);
+ } else {
+ sendError(response, 400, "PortalDesign not found: "+id);
+ return null;
+ }
+
+ }
+
+
+ @DeleteMapping("/{id}")
+ @ResponseBody
+ @ApiOperation(value="delete a portalDesign.")
+ public void deletePortalDesign(@PathVariable("id") Integer id, HttpServletResponse response) throws IOException{
+
+ PortalDesign oldPortalDesign= portalDesignService.getPortalDesign(id);
+ if (oldPortalDesign == null) {
+ sendError(response, 400, "portalDesign not found "+id);
+ } else {
+ portalDesignRepository.delete(oldPortalDesign);
+ response.setStatus(204);
+ }
+ }
+
+
+ @GetMapping("")
+ @ResponseBody
+ @ApiOperation(value="List all PortalDesigns")
+ public List<PortalDesignConfig> queryAllPortalDesign(){
+
+ List<PortalDesign> portalDesignList = null;
+ List<PortalDesignConfig> portalDesignConfigList = new ArrayList<>();
+ portalDesignList = (List<PortalDesign>) portalDesignRepository.findAll();
+ if (portalDesignList != null && portalDesignList.size() > 0) {
+ log.info("PortalDesignList is not null");
+ for (PortalDesign portalDesign : portalDesignList) {
+ portalDesignConfigList.add(portalDesign.getPortalDesignConfig());
+ }
+ }
+ return portalDesignConfigList;
+ }
+
+
+ @PostMapping("/deploy/{id}")
+ @ResponseBody
+ @ApiOperation(value="PortalDesign deploy")
+ public void deployPortalDesign(@PathVariable Integer id, HttpServletResponse response) throws IOException {
+
+ PortalDesign portalDesign = null;
+ try {
+ portalDesign = portalDesignRepository.findById(id).get();
+ if (portalDesign.getDesignType() != null && portalDesign.getDesignType().getName().startsWith("Kibana")) {
+ boolean flag = portalDesignService.deployKibanaImport(portalDesign);
+ if (flag) {
+ sendError(response, 400, "DeployPortalDesign failed, id: "+id);
+ }
+ } else if (portalDesign.getDesignType() != null && portalDesign.getDesignType().getName().startsWith("Elasticsearch")) {
+ //TODO Elasticsearch template import
+ sendError(response, 400, "DeployPortalDesign failed, id: "+id);
+ } else {
+ //TODO Druid import
+ sendError(response, 400, "DeployPortalDesign failed, id: "+id);
+ }
+ portalDesign.setSubmitted(true);
+ portalDesignRepository.save(portalDesign);
+ response.setStatus(204);
+ } catch (Exception e) {
+ log.debug("PortalDesign is null", e.getMessage());
+ sendError(response, 400, "PortalDesign not found, id: "+id);
+ }
+
+ }
+
+
+ private PostReturnBody<PortalDesignConfig> mkPostReturnBody(int statusCode, PortalDesign portalDesign) {
+ PostReturnBody<PortalDesignConfig> retBody = new PostReturnBody<>();
+ retBody.setStatusCode(statusCode);
+ retBody.setReturnBody(portalDesign.getPortalDesignConfig());
+ return retBody;
+ }
+
+ private void sendError(HttpServletResponse response, int sc, String msg) throws IOException {
+ log.info(msg);
+ response.sendError(sc, msg);
+ }
+
+}
diff --git a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/controller/TopicController.java b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/controller/TopicController.java
index 88f573a1..2784be33 100644
--- a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/controller/TopicController.java
+++ b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/controller/TopicController.java
@@ -49,6 +49,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.CrossOrigin;
import io.swagger.annotations.ApiOperation;
@@ -64,6 +65,7 @@ import io.swagger.annotations.ApiOperation;
* @contributor Kate Hsuan @ QCT
*/
+@CrossOrigin(origins = "*")
@RestController
@RequestMapping(value = "/topics", produces = { MediaType.APPLICATION_JSON_VALUE })//, consumes= {MediaType.APPLICATION_JSON_UTF8_VALUE})
public class TopicController {
diff --git a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/domain/DesignType.java b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/domain/DesignType.java
new file mode 100644
index 00000000..3e730c14
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/domain/DesignType.java
@@ -0,0 +1,53 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : DataLake
+ * ================================================================================
+ * Copyright 2019 China Mobile
+ *=================================================================================
+ * Licensed 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.datalake.feeder.domain;
+
+
+import com.fasterxml.jackson.annotation.JsonBackReference;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.persistence.*;
+
+/**
+ * Domain class representing design_type
+ *
+ * @author guochunmeng
+ */
+@Getter
+@Setter
+@Entity
+@Table(name = "design_type")
+public class DesignType {
+
+ @Id
+ @Column(name = "`name`")
+ private String name;
+
+ @ManyToOne(fetch=FetchType.EAGER)
+ @JoinColumn(name="portal")
+ @JsonBackReference
+ private Portal portal;
+
+ @Column(name = "`note`")
+ private String note;
+
+}
diff --git a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/domain/Portal.java b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/domain/Portal.java
new file mode 100644
index 00000000..d2214dce
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/domain/Portal.java
@@ -0,0 +1,79 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : DataLake
+ * ================================================================================
+ * Copyright 2019 China Mobile
+ *=================================================================================
+ * Licensed 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.datalake.feeder.domain;
+
+import com.fasterxml.jackson.annotation.JsonBackReference;
+import lombok.Getter;
+import lombok.Setter;
+import org.onap.datalake.feeder.dto.PortalConfig;
+
+import javax.persistence.*;
+
+/**
+ * Domain class representing portal
+ *
+ * @author guochunmeng
+ */
+
+@Getter
+@Setter
+@Entity
+@Table(name = "portal")
+public class Portal {
+
+ @Id
+ @Column(name = "`name`")
+ private String name;
+
+ @Column(name = "`enabled`")
+ private Boolean enabled;
+
+ @Column(name = "`host`")
+ private String host;
+
+ @Column(name = "`port`")
+ private Integer port;
+
+ @Column(name = "`login`")
+ private String login;
+
+ @Column(name = "`pass`")
+ private String pass;
+
+ @ManyToOne(fetch=FetchType.EAGER)
+ @JoinColumn(name = "related_db")
+ @JsonBackReference
+ private Db db;
+
+ public PortalConfig getPortalConfig() {
+ PortalConfig portalConfig = new PortalConfig();
+
+ portalConfig.setName(getName());
+ portalConfig.setLogin(getLogin());
+ portalConfig.setPass(getPass());
+ portalConfig.setEnabled(getEnabled());
+ portalConfig.setHost(getHost());
+ portalConfig.setPort(getPort());
+ portalConfig.setDb(getDb().getName());
+
+ return portalConfig;
+ }
+}
diff --git a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/domain/PortalDesign.java b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/domain/PortalDesign.java
new file mode 100644
index 00000000..5b1be038
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/domain/PortalDesign.java
@@ -0,0 +1,90 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : DataLake
+ * ================================================================================
+ * Copyright 2019 China Mobile
+ *=================================================================================
+ * Licensed 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.datalake.feeder.domain;
+
+import com.fasterxml.jackson.annotation.JsonBackReference;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.persistence.*;
+
+import org.onap.datalake.feeder.dto.PortalDesignConfig;
+
+/**
+ * Domain class representing portal_design
+ *
+ * @author guochunmeng
+ */
+
+@Getter
+@Setter
+@Entity
+@Table(name = "portal_design")
+public class PortalDesign {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "`id`")
+ private Integer id;
+
+ @Column(name = "`name`")
+ private String name;
+
+ @Column(name = "`submitted`")
+ private Boolean submitted;
+
+ @Column(name = "`body`")
+ private String body;
+
+ @Column(name = "`note`")
+ private String note;
+
+ @ManyToOne(fetch=FetchType.EAGER)
+ @JoinColumn(name = "topic")
+ @JsonBackReference
+ private Topic topic;
+
+ @ManyToOne(fetch=FetchType.EAGER)
+ @JoinColumn(name = "type")
+ @JsonBackReference
+ private DesignType designType;
+
+ public PortalDesignConfig getPortalDesignConfig() {
+
+ PortalDesignConfig portalDesignConfig = new PortalDesignConfig();
+
+ portalDesignConfig.setId(getId());
+
+ portalDesignConfig.setBody(getBody());
+
+ portalDesignConfig.setName(getName());
+
+ portalDesignConfig.setNote(getNote());
+
+ portalDesignConfig.setSubmitted(getSubmitted());
+
+ portalDesignConfig.setTopic(getTopic().getName());
+
+ portalDesignConfig.setDesignType(getDesignType().getName());
+
+ return portalDesignConfig;
+ }
+}
diff --git a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/dto/PortalConfig.java b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/dto/PortalConfig.java
new file mode 100644
index 00000000..76b1ceb7
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/dto/PortalConfig.java
@@ -0,0 +1,50 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : DataLake
+ * ================================================================================
+ * Copyright 2019 QCT
+ *=================================================================================
+ * Licensed 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.datalake.feeder.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * JSON request body for Portal Config.
+ *
+ * @author guochunmeng
+ *
+ */
+@Setter
+@Getter
+public class PortalConfig {
+
+ private String name;
+
+ private Boolean enabled;
+
+ private String host;
+
+ private Integer port;
+
+ private String login;
+
+ private String pass;
+
+ private String db;
+
+}
diff --git a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/dto/PortalDesignConfig.java b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/dto/PortalDesignConfig.java
new file mode 100755
index 00000000..a696d3ec
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/dto/PortalDesignConfig.java
@@ -0,0 +1,50 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : DataLake
+ * ================================================================================
+ * Copyright 2019 China Mobile
+ *=================================================================================
+ * Licensed 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.datalake.feeder.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * JSON request body for portalDesign Config.
+ *
+ * @author guochunmeng
+ */
+
+@Getter
+@Setter
+public class PortalDesignConfig {
+
+ private Integer id;
+
+ private String name;
+
+ private Boolean submitted;
+
+ private String body;
+
+ private String note;
+
+ private String topic;
+
+ private String designType;
+
+}
diff --git a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/repository/DesignTypeRepository.java b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/repository/DesignTypeRepository.java
new file mode 100755
index 00000000..e7ab48a2
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/repository/DesignTypeRepository.java
@@ -0,0 +1,35 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : DataLake
+ * ================================================================================
+ * Copyright 2019 China Mobile
+ *=================================================================================
+ * Licensed 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.datalake.feeder.repository;
+
+import org.onap.datalake.feeder.domain.DesignType;
+import org.springframework.data.repository.CrudRepository;
+
+/**
+ * DesignType Repository
+ *
+ * @author guochunmeng
+ */
+
+public interface DesignTypeRepository extends CrudRepository<DesignType, String> {
+
+
+}
diff --git a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/repository/PortalDesignRepository.java b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/repository/PortalDesignRepository.java
new file mode 100644
index 00000000..181bc115
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/repository/PortalDesignRepository.java
@@ -0,0 +1,39 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : DataLake
+ * ================================================================================
+ * Copyright 2019 China Mobile
+ *=================================================================================
+ * Licensed 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.datalake.feeder.repository;
+
+import org.onap.datalake.feeder.domain.PortalDesign;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.CrudRepository;
+
+import java.util.List;
+
+/**
+ * PortalDesign Repository
+ *
+ * @author guochunmeng
+ */
+
+public interface PortalDesignRepository extends CrudRepository<PortalDesign, Integer> {
+
+ PortalDesign findByName(String name);
+
+}
diff --git a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/repository/PortalRepository.java b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/repository/PortalRepository.java
new file mode 100644
index 00000000..f4ce0ee5
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/repository/PortalRepository.java
@@ -0,0 +1,42 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : DataLake
+ * ================================================================================
+ * Copyright 2019 China Mobile
+ *=================================================================================
+ * Licensed 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.datalake.feeder.repository;
+
+import org.onap.datalake.feeder.domain.Portal;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.CrudRepository;
+import org.springframework.data.repository.Repository;
+
+import java.util.List;
+
+/**
+ * Portal Repository
+ *
+ * @author guochunmeng
+ */
+
+public interface PortalRepository extends CrudRepository<Portal, String> {
+
+ List<Portal> findByEnabled(Boolean enabled);
+
+}
diff --git a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/service/DesignTypeService.java b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/service/DesignTypeService.java
new file mode 100755
index 00000000..eafc4bf9
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/service/DesignTypeService.java
@@ -0,0 +1,56 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : DataLake
+ * ================================================================================
+ * Copyright 2019 China Mobile
+ *=================================================================================
+ * Licensed 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.datalake.feeder.service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.onap.datalake.feeder.domain.DesignType;
+import org.onap.datalake.feeder.repository.DesignTypeRepository;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * Service for designTypes
+ *
+ * @author guochunmeng
+ */
+@Service
+public class DesignTypeService {
+
+ @Autowired
+ DesignTypeRepository designTypeRepository;
+
+ public List<String> listNames(){
+
+ List<String> names = new ArrayList<>();
+
+ Iterable<DesignType> ret = designTypeRepository.findAll();
+
+ for(DesignType designType:ret) {
+
+ names.add(designType.getName());
+
+ }
+
+ return names;
+ }
+}
diff --git a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/service/PortalDesignService.java b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/service/PortalDesignService.java
new file mode 100755
index 00000000..3f1aabd2
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/service/PortalDesignService.java
@@ -0,0 +1,153 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : DataLake
+ * ================================================================================
+ * Copyright 2019 China Mobile
+ *=================================================================================
+ * Licensed 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.datalake.feeder.service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+
+import com.google.gson.Gson;
+import org.onap.datalake.feeder.config.ApplicationConfiguration;
+import org.onap.datalake.feeder.domain.DesignType;
+import org.onap.datalake.feeder.domain.Portal;
+import org.onap.datalake.feeder.domain.PortalDesign;
+import org.onap.datalake.feeder.domain.Topic;
+import org.onap.datalake.feeder.dto.PortalDesignConfig;
+import org.onap.datalake.feeder.repository.DesignTypeRepository;
+import org.onap.datalake.feeder.repository.PortalDesignRepository;
+import org.onap.datalake.feeder.util.HttpClientUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * Service for portalDesigns
+ *
+ * @author guochunmeng
+ */
+
+@Service
+public class PortalDesignService {
+
+ @Autowired
+ private PortalDesignRepository portalDesignRepository;
+
+ @Autowired
+ private TopicService topicService;
+
+ @Autowired
+ private DesignTypeRepository designTypeRepository;
+
+ @Autowired
+ private ApplicationConfiguration applicationConfiguration;
+
+ public PortalDesign fillPortalDesignConfiguration(PortalDesignConfig portalDesignConfig) throws Exception
+ {
+ PortalDesign portalDesign = new PortalDesign();
+ fillPortalDesign(portalDesignConfig, portalDesign);
+ return portalDesign;
+ }
+ public void fillPortalDesignConfiguration(PortalDesignConfig portalDesignConfig, PortalDesign portalDesign) throws Exception
+ {
+ fillPortalDesign(portalDesignConfig, portalDesign);
+ }
+
+ private void fillPortalDesign(PortalDesignConfig portalDesignConfig, PortalDesign portalDesign) throws IllegalArgumentException {
+
+ portalDesign.setId(portalDesignConfig.getId());
+
+ portalDesign.setBody(portalDesignConfig.getBody());
+
+ portalDesign.setName(portalDesignConfig.getName());
+
+ portalDesign.setNote(portalDesignConfig.getNote());
+
+ portalDesign.setSubmitted(portalDesignConfig.getSubmitted());
+
+ if (portalDesignConfig.getTopic() != null) {
+ Topic topic = topicService.getTopic(portalDesignConfig.getTopic());
+ if (topic == null) throw new IllegalArgumentException("topic is null");
+ portalDesign.setTopic(topic);
+ }else {
+ throw new IllegalArgumentException("Can not find topic in DB, topic name: "+portalDesignConfig.getTopic());
+ }
+
+ if (portalDesignConfig.getDesignType() != null) {
+ DesignType designType = designTypeRepository.findById(portalDesignConfig.getDesignType()).get();
+ if (designType == null) throw new IllegalArgumentException("designType is null");
+ portalDesign.setDesignType(designType);
+ }else {
+ throw new IllegalArgumentException("Can not find designType in Design_type, designType name "+portalDesignConfig.getDesignType());
+ }
+
+ }
+
+
+ public PortalDesign getPortalDesign(Integer id) {
+
+ Optional<PortalDesign> ret = portalDesignRepository.findById(id);
+ return ret.isPresent() ? ret.get() : null;
+ }
+
+
+ private String kibanaImportUrl(String host, Integer port){
+ return "http://"+host+":"+port+applicationConfiguration.getKibanaDashboardImportApi();
+ }
+
+
+ public boolean deployKibanaImport(PortalDesign portalDesign) {
+ boolean flag = false;
+ String requestBody = portalDesign.getBody();
+ Portal portal = portalDesign.getDesignType().getPortal();
+ String portalHost = portal.getHost();
+ Integer portalPort = portal.getPort();
+ String url = "";
+
+ if (portalHost == null || portalPort == null) {
+ String dbHost = portal.getDb().getHost();
+ Integer dbPort = portal.getDb().getPort();
+ url = kibanaImportUrl(dbHost, dbPort);
+ } else {
+ url = kibanaImportUrl(portalHost, portalPort);
+ }
+
+ //Send httpclient to kibana
+ String kibanaResponse = HttpClientUtil.sendPostToKibana(url, requestBody);
+ Gson gson = new Gson();
+ Map<String, Object> map = new HashMap<>();
+ map = gson.fromJson(kibanaResponse, map.getClass());
+ List objectsList = (List) map.get("objects");
+
+ if (objectsList != null && objectsList.size() > 0) {
+ Map<String, Object> map2 = new HashMap<>();
+ for (int i = 0; i < objectsList.size(); i++){
+ map2 = (Map<String, Object>)objectsList.get(i);
+ for(String key : map2.keySet()){
+ if ("error".equals(key)) {
+ return true;
+ }
+ }
+ }
+ }
+ return flag;
+ }
+
+}
diff --git a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/service/PortalService.java b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/service/PortalService.java
new file mode 100644
index 00000000..28efd150
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/service/PortalService.java
@@ -0,0 +1,79 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : DataLake
+ * ================================================================================
+ * Copyright 2019 China Mobile
+ *=================================================================================
+ * Licensed 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.datalake.feeder.service;
+
+
+import org.onap.datalake.feeder.domain.Portal;
+import org.onap.datalake.feeder.dto.PortalConfig;
+import org.onap.datalake.feeder.repository.PortalRepository;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Service for portals
+ *
+ * @author guochunmeng
+ *
+ */
+@Service
+public class PortalService {
+
+ @Autowired
+ private PortalRepository portalRepository;
+
+ public Portal fillPortalConfiguration(PortalConfig portalConfig)
+ {
+ Portal portal = new Portal();
+ fillPortal(portalConfig, portal);
+ return portal;
+ }
+ public void fillPortalConfiguration(PortalConfig portalConfig, Portal portal)
+ {
+ fillPortal(portalConfig, portal);
+ }
+
+ private void fillPortal(PortalConfig portalConfig, Portal portal) {
+
+ portal.setName(portalConfig.getName());
+ portal.setLogin(portalConfig.getLogin());
+ portal.setPass(portalConfig.getPass());
+ portal.setEnabled(portalConfig.getEnabled());
+ portal.setHost(portalConfig.getHost());
+ portal.setPort(portalConfig.getPort());
+
+ }
+
+
+ public List<String> listNames(boolean enabled){
+
+ List<String> names = new ArrayList<>();
+ Iterable<Portal> ret = portalRepository.findByEnabled(enabled);
+ for(Portal portal:ret) {
+ names.add(portal.getName());
+ }
+
+ return names;
+ }
+
+}
diff --git a/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/util/HttpClientUtil.java b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/util/HttpClientUtil.java
new file mode 100644
index 00000000..b02139f3
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/java/org/onap/datalake/feeder/util/HttpClientUtil.java
@@ -0,0 +1,64 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : DCAE
+ * ================================================================================
+ * Copyright 2019 China Mobile
+ *=================================================================================
+ * Licensed 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.datalake.feeder.util;
+
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.HttpStatus;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.util.EntityUtils;
+
+/**
+ * HttpClient
+ *
+ * @author guochunmeng
+ *
+ */
+public class HttpClientUtil {
+
+ public static String sendPostToKibana(String url, String json){
+ HttpClient client = new DefaultHttpClient();
+ HttpPost post = new HttpPost(url);
+ String response = null;
+ try {
+ StringEntity s = new StringEntity(json);
+ s.setContentEncoding("UTF-8");
+ s.setContentType("application/json");
+ post.setEntity(s);
+ post.setHeader("kbn-xsrf","true");
+ post.setHeader("Accept", "*/*");
+ post.setHeader("Connection", "Keep-Alive");
+ HttpResponse res = client.execute(post);
+ if(res.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
+ HttpEntity entity = res.getEntity();
+ String result = EntityUtils.toString(res.getEntity());
+ response = result;
+ }
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ return response;
+ }
+
+}
diff --git a/components/datalake-handler/feeder/src/main/resources/application.properties b/components/datalake-handler/feeder/src/main/resources/application.properties
index 7bbbac05..faf27583 100644
--- a/components/datalake-handler/feeder/src/main/resources/application.properties
+++ b/components/datalake-handler/feeder/src/main/resources/application.properties
@@ -57,4 +57,7 @@ logging.level.org.onap.datalake=DEBUG
#####################Verison
datalakeVersion=0.0.1
+
+#####################KibanaDashboardImportApi
+KibanaDashboardImportApi=/api/kibana/dashboards/import?exclude=index-pattern
diff --git a/components/datalake-handler/feeder/src/main/resources/druid/AAI-EVENT-kafka-supervisor.json b/components/datalake-handler/feeder/src/main/resources/druid/AAI-EVENT-kafka-supervisor.json
index a20e5eb3..cf63c45c 100644
--- a/components/datalake-handler/feeder/src/main/resources/druid/AAI-EVENT-kafka-supervisor.json
+++ b/components/datalake-handler/feeder/src/main/resources/druid/AAI-EVENT-kafka-supervisor.json
@@ -9,191 +9,191 @@
"flattenSpec": {
"useFieldDiscovery": false,
"fields": [
-{
-"type": "path",
-"name": "cambria:partition",
-"expr": "$.cambria.partition"
-},
-{
-"type": "path",
-"name": "event-header:severity",
-"expr": "$.event-header.severity"
-},
-{
-"type": "path",
-"name": "event-header:entity-type",
-"expr": "$.event-header.entity-type"
-},
-{
-"type": "path",
-"name": "event-header:top-entity-type",
-"expr": "$.event-header.top-entity-type"
-},
-{
-"type": "path",
-"name": "event-header:entity-link",
-"expr": "$.event-header.entity-link"
-},
-{
-"type": "path",
-"name": "event-header:event-type",
-"expr": "$.event-header.event-type"
-},
-{
-"type": "path",
-"name": "event-header:domain",
-"expr": "$.event-header.domain"
-},
-{
-"type": "path",
-"name": "event-header:action",
-"expr": "$.event-header.action"
-},
-{
-"type": "path",
-"name": "event-header:sequence-number",
-"expr": "$.event-header.sequence-number"
-},
-{
-"type": "path",
-"name": "event-header:id",
-"expr": "$.event-header.id"
-},
-{
-"type": "path",
-"name": "event-header:source-name",
-"expr": "$.event-header.source-name"
-},
-{
-"type": "path",
-"name": "event-header:version",
-"expr": "$.event-header.version"
-},
-{
-"type": "path",
-"name": "event-header:timestamp",
-"expr": "$.event-header.timestamp"
-},
-{
-"type": "path",
-"name": "entity:thirdparty-sdnc-id",
-"expr": "$.entity.thirdparty-sdnc-id"
-},
-{
-"type": "path",
-"name": "entity:resource-version",
-"expr": "$.entity.resource-version"
-},
-{
-"type": "path",
-"name": "entity:location",
-"expr": "$.entity.location"
-},
-{
-"type": "path",
-"name": "entity:product-name",
-"expr": "$.entity.product-name"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:esr-system-info-id",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].esr-system-info-id"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:system-type",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].system-type"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:service-url",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].service-url"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:ssl-cacert",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].ssl-cacert"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:type",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].type"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:ssl-insecure",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].ssl-insecure"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:system-status",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].system-status"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:version",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].version"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:passive",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].passive"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:password",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].password"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:protocol",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].protocol"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:ip-address",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].ip-address"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:cloud-domain",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].cloud-domain"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:user-name",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].user-name"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:system-name",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].system-name"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:port",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].port"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:vendor",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].vendor"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:resource-version",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].resource-version"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:remote-path",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].remote-path"
-},
-{
-"type": "path",
-"name": "entity:esr-system-info-list:esr-system-info[0]:default-tenant",
-"expr": "$.entity.esr-system-info-list.esr-system-info[0].default-tenant"
-}
+ {
+ "type": "path",
+ "name": "cambria:partition",
+ "expr": "$.cambria.partition"
+ },
+ {
+ "type": "path",
+ "name": "event-header:severity",
+ "expr": "$.event-header.severity"
+ },
+ {
+ "type": "path",
+ "name": "event-header:entity-type",
+ "expr": "$.event-header.entity-type"
+ },
+ {
+ "type": "path",
+ "name": "event-header:top-entity-type",
+ "expr": "$.event-header.top-entity-type"
+ },
+ {
+ "type": "path",
+ "name": "event-header:entity-link",
+ "expr": "$.event-header.entity-link"
+ },
+ {
+ "type": "path",
+ "name": "event-header:event-type",
+ "expr": "$.event-header.event-type"
+ },
+ {
+ "type": "path",
+ "name": "event-header:domain",
+ "expr": "$.event-header.domain"
+ },
+ {
+ "type": "path",
+ "name": "event-header:action",
+ "expr": "$.event-header.action"
+ },
+ {
+ "type": "path",
+ "name": "event-header:sequence-number",
+ "expr": "$.event-header.sequence-number"
+ },
+ {
+ "type": "path",
+ "name": "event-header:id",
+ "expr": "$.event-header.id"
+ },
+ {
+ "type": "path",
+ "name": "event-header:source-name",
+ "expr": "$.event-header.source-name"
+ },
+ {
+ "type": "path",
+ "name": "event-header:version",
+ "expr": "$.event-header.version"
+ },
+ {
+ "type": "path",
+ "name": "event-header:timestamp",
+ "expr": "$.event-header.timestamp"
+ },
+ {
+ "type": "path",
+ "name": "entity:thirdparty-sdnc-id",
+ "expr": "$.entity.thirdparty-sdnc-id"
+ },
+ {
+ "type": "path",
+ "name": "entity:resource-version",
+ "expr": "$.entity.resource-version"
+ },
+ {
+ "type": "path",
+ "name": "entity:location",
+ "expr": "$.entity.location"
+ },
+ {
+ "type": "path",
+ "name": "entity:product-name",
+ "expr": "$.entity.product-name"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:esr-system-info-id",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].esr-system-info-id"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:system-type",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].system-type"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:service-url",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].service-url"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:ssl-cacert",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].ssl-cacert"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:type",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].type"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:ssl-insecure",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].ssl-insecure"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:system-status",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].system-status"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:version",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].version"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:passive",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].passive"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:password",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].password"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:protocol",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].protocol"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:ip-address",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].ip-address"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:cloud-domain",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].cloud-domain"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:user-name",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].user-name"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:system-name",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].system-name"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:port",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].port"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:vendor",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].vendor"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:resource-version",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].resource-version"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:remote-path",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].remote-path"
+ },
+ {
+ "type": "path",
+ "name": "entity:esr-system-info-list:esr-system-info[0]:default-tenant",
+ "expr": "$.entity.esr-system-info-list.esr-system-info[0].default-tenant"
+ }
]
},
"timestampSpec": {
@@ -203,7 +203,8 @@
"dimensionsSpec": {
"dimensions": [],
"dimensionsExclusions": [
- "cambria.partition","password"
+ "cambria.partition",
+ "password"
]
}
}
diff --git a/components/datalake-handler/feeder/src/main/resources/druid/EPC-kafka-supervisor.json b/components/datalake-handler/feeder/src/main/resources/druid/EPC-kafka-supervisor.json
new file mode 100644
index 00000000..c6562a21
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/resources/druid/EPC-kafka-supervisor.json
@@ -0,0 +1,247 @@
+{
+ "type": "kafka",
+ "dataSchema": {
+ "dataSource": "EPC",
+ "parser": {
+ "type": "string",
+ "parseSpec": {
+ "format": "json",
+ "flattenSpec": {
+ "useFieldDiscovery": false,
+ "fields": [
+ {
+ "type": "path",
+ "name": "astriDPHost",
+ "expr": "$.event.measurementsForVfScalingFields.astriMeasurement.astriDPHost"
+ },
+ {
+ "type": "path",
+ "name": "port1-astriDPtx_pps",
+ "expr": "$.event.measurementsForVfScalingFields.astriMeasurement.astriDPMeasurementArray[0].astriDPtx_pps"
+ },
+ {
+ "type": "path",
+ "name": "port1-astriDPrx_error_packets",
+ "expr": "$.event.measurementsForVfScalingFields.astriMeasurement.astriDPMeasurementArray[0].astriDPrx_error_packets"
+ },
+ {
+ "type": "path",
+ "name": "port1-astriDPrx_throughput",
+ "expr": "$.event.measurementsForVfScalingFields.astriMeasurement.astriDPMeasurementArray[0].astriDPrx_throughput"
+ },
+ {
+ "type": "path",
+ "name": "port1-astriInterface",
+ "expr": "$.event.measurementsForVfScalingFields.astriMeasurement.astriDPMeasurementArray[0].astriInterface"
+ },
+ {
+ "type": "path",
+ "name": "port1-astriDPtx_throughput",
+ "expr": "$.event.measurementsForVfScalingFields.astriMeasurement.astriDPMeasurementArray[0].astriDPtx_throughput"
+ },
+ {
+ "type": "path",
+ "name": "port1-astriDPrx_pps",
+ "expr": "$.event.measurementsForVfScalingFields.astriMeasurement.astriDPMeasurementArray[0].astriDPrx_pps"
+ },
+ {
+ "type": "path",
+ "name": "port1-astriDPrx_missed_packets",
+ "expr": "$.event.measurementsForVfScalingFields.astriMeasurement.astriDPMeasurementArray[0].astriDPrx_missed_packets"
+ },
+ {
+ "type": "path",
+ "name": "port0-astriDPtx_pps",
+ "expr": "$.event.measurementsForVfScalingFields.astriMeasurement.astriDPMeasurementArray[1].astriDPtx_pps"
+ },
+ {
+ "type": "path",
+ "name": "port0-astriDPrx_error_packets",
+ "expr": "$.event.measurementsForVfScalingFields.astriMeasurement.astriDPMeasurementArray[1].astriDPrx_error_packets"
+ },
+ {
+ "type": "path",
+ "name": "port0-astriDPrx_throughput",
+ "expr": "$.event.measurementsForVfScalingFields.astriMeasurement.astriDPMeasurementArray[1].astriDPrx_throughput"
+ },
+ {
+ "type": "path",
+ "name": "port0-astriInterface",
+ "expr": "$.event.measurementsForVfScalingFields.astriMeasurement.astriDPMeasurementArray[1].astriInterface"
+ },
+ {
+ "type": "path",
+ "name": "port0-astriDPtx_throughput",
+ "expr": "$.event.measurementsForVfScalingFields.astriMeasurement.astriDPMeasurementArray[1].astriDPtx_throughput"
+ },
+ {
+ "type": "path",
+ "name": "port0-astriDPrx_pps",
+ "expr": "$.event.measurementsForVfScalingFields.astriMeasurement.astriDPMeasurementArray[1].astriDPrx_pps"
+ },
+ {
+ "type": "path",
+ "name": "port0-astriDPrx_missed_packets",
+ "expr": "$.event.measurementsForVfScalingFields.astriMeasurement.astriDPMeasurementArray[1].astriDPrx_missed_packets"
+ },
+ {
+ "type": "path",
+ "name": "eventId",
+ "expr": "$.event.commonEventHeader.eventId"
+ },
+ {
+ "type": "path",
+ "name": "reportingEntityId",
+ "expr": "$.event.commonEventHeader.reportingEntityId"
+ },
+ {
+ "type": "path",
+ "name": "lastEpochMicrosec",
+ "expr": "$.event.commonEventHeader.lastEpochMicrosec"
+ },
+ {
+ "type": "path",
+ "name": "reportingEntityName",
+ "expr": "$.event.commonEventHeader.reportingEntityName"
+ },
+ {
+ "type": "path",
+ "name": "sourceId",
+ "expr": "$.event.commonEventHeader.sourceId"
+ },
+ {
+ "type": "path",
+ "name": "eventType",
+ "expr": "$.event.commonEventHeader.eventType"
+ },
+ {
+ "type": "path",
+ "name": "sequence",
+ "expr": "$.event.commonEventHeader.sequence"
+ },
+ {
+ "type": "path",
+ "name": "collectorTimeStamp",
+ "expr": "$.event.commonEventHeader.internalHeaderFields.collectorTimeStamp"
+ },
+ {
+ "type": "path",
+ "name": "priority",
+ "expr": "$.event.commonEventHeader.priority"
+ },
+ {
+ "type": "path",
+ "name": "sourceName",
+ "expr": "$.event.commonEventHeader.sourceName"
+ },
+ {
+ "type": "path",
+ "name": "eventName",
+ "expr": "$.event.commonEventHeader.eventName"
+ },
+ {
+ "type": "path",
+ "name": "startEpochMicrosec",
+ "expr": "$.event.commonEventHeader.startEpochMicrosec"
+ }
+ ]
+ },
+ "timestampSpec": {
+ "column": "collectorTimeStamp",
+ "format": "EEE, MM dd yyyy HH:mm:ss z"
+ },
+ "dimensionsSpec": {
+ "dimensions": [],
+ "dimensionsExclusions": []
+ }
+ }
+ },
+ "metricsSpec": [
+ {
+ "type": "count",
+ "name": "count"
+ },
+ {
+ "type": "longSum",
+ "name": "port0-astriDPtx_pps",
+ "fieldName": "port0-astriDPtx_pps"
+ },
+ {
+ "type": "longSum",
+ "name": "port0-astriDPrx_error_packets",
+ "fieldName": "port0-astriDPrx_error_packets"
+ },
+ {
+ "type": "longSum",
+ "name": "port0-astriDPrx_throughput",
+ "fieldName": "port0-astriDPrx_throughput"
+ },
+ {
+ "type": "longSum",
+ "name": "port0-astriDPtx_throughput",
+ "fieldName": "port0-astriDPtx_throughput"
+ },
+ {
+ "type": "longSum",
+ "name": "port0-astriDPrx_pps",
+ "fieldName": "port0-astriDPrx_pps"
+ },
+ {
+ "type": "longSum",
+ "name": "port0-astriDPrx_missed_packets",
+ "fieldName": "port0-astriDPrx_missed_packets"
+ },
+ {
+ "type": "longSum",
+ "name": "port1-astriDPtx_pps",
+ "fieldName": "port1-astriDPtx_pps"
+ },
+ {
+ "type": "longSum",
+ "name": "port1-astriDPrx_error_packets",
+ "fieldName": "port1-astriDPrx_error_packets"
+ },
+ {
+ "type": "longSum",
+ "name": "port1-astriDPrx_throughput",
+ "fieldName": "port1-astriDPrx_throughput"
+ },
+ {
+ "type": "longSum",
+ "name": "port1-astriDPtx_throughput",
+ "fieldName": "port1-astriDPtx_throughput"
+ },
+ {
+ "type": "longSum",
+ "name": "port1-astriDPrx_pps",
+ "fieldName": "port1-astriDPrx_pps"
+ },
+ {
+ "type": "longSum",
+ "name": "port1-astriDPrx_missed_packets",
+ "fieldName": "port1-astriDPrx_missed_packets"
+ }
+ ],
+ "granularitySpec": {
+ "type": "uniform",
+ "segmentGranularity": "HOUR",
+ "queryGranularity": "MINUTE",
+ "rollup": true
+ }
+ },
+ "tuningConfig": {
+ "type": "kafka",
+ "reportParseExceptions": true
+ },
+ "ioConfig": {
+ "topic": "EPC",
+ "replicas": 1,
+ "startDelay": "PT1S",
+ "taskDuration": "PT1H",
+ "completionTimeout": "PT30M",
+ "consumerProperties": {
+ "bootstrap.servers": "message-router-kafka:9092"
+ },
+ "useEarliestOffset": true
+ }
+}
diff --git a/components/datalake-handler/feeder/src/main/resources/druid/EPC-sample-format.json b/components/datalake-handler/feeder/src/main/resources/druid/EPC-sample-format.json
new file mode 100644
index 00000000..2d15837d
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/resources/druid/EPC-sample-format.json
@@ -0,0 +1,51 @@
+{
+ "event": {
+ "measurementsForVfScalingFields": {
+ "additionalMeasurements": [],
+ "measurementInterval": 10,
+ "astriMeasurement": {
+ "valuesAreSuspect": "true",
+ "astriDPHost": "DP5-10.213.1.143",
+ "astriDPMeasurementArray": [
+ {
+ "astriDPtx_pps": 0,
+ "astriDPrx_error_packets": 0,
+ "astriDPrx_throughput": 16619551392,
+ "astriInterface": "port1",
+ "astriDPtx_throughput": 0,
+ "astriDPrx_pps": 1675357,
+ "astriDPrx_missed_packets": 0
+ },
+ {
+ "astriDPtx_pps": 586325,
+ "astriDPrx_error_packets": 0,
+ "astriDPrx_throughput": 5984991232,
+ "astriInterface": "port0",
+ "astriDPtx_throughput": 309579600,
+ "astriDPrx_pps": 586304,
+ "astriDPrx_missed_packets": 0
+ }
+ ]
+ },
+ "measurementsForVfScalingVersion": 2
+ },
+ "commonEventHeader": {
+ "eventId": "84891",
+ "reportingEntityId": "localhost",
+ "domain": "measurementsForVfScaling",
+ "lastEpochMicrosec": 1558757056,
+ "reportingEntityName": "localhost",
+ "sourceId": "DP5-10.213.1.143",
+ "eventType": "platform",
+ "sequence": 0,
+ "internalHeaderFields": {
+ "collectorTimeStamp": "Sat, 05 25 2019 04:04:16 UTC"
+ },
+ "priority": "Normal",
+ "sourceName": "DP5-10.213.1.143",
+ "eventName": "",
+ "version": 2,
+ "startEpochMicrosec": 1558757046
+ }
+ }
+}
diff --git a/components/datalake-handler/feeder/src/main/resources/druid/HW-aggs-kafka-supervisor.json b/components/datalake-handler/feeder/src/main/resources/druid/HW-aggs-kafka-supervisor.json
new file mode 100644
index 00000000..3a3967ec
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/resources/druid/HW-aggs-kafka-supervisor.json
@@ -0,0 +1,1131 @@
+{
+ "type": "kafka",
+ "dataSchema": {
+ "dataSource": "HW-aggs",
+ "parser": {
+ "type": "string",
+ "parseSpec": {
+ "format": "json",
+ "flattenSpec": {
+ "useFieldDiscovery": false,
+ "fields": [
+ {
+ "type": "path",
+ "name": "memoryUsageArray.memorySlabUnrecl",
+ "expr": "$.event.measurementsForVfScalingFields.memoryUsageArray_average.memorySlabUnrecl"
+ },
+ {
+ "type": "path",
+ "name": "memoryUsageArray.memorySlabRecl",
+ "expr": "$.event.measurementsForVfScalingFields.memoryUsageArray_average.memorySlabRecl"
+ },
+ {
+ "type": "path",
+ "name": "memoryUsageArray.memoryCached",
+ "expr": "$.event.measurementsForVfScalingFields.memoryUsageArray_average.memoryCached"
+ },
+ {
+ "type": "path",
+ "name": "memoryUsageArray.memoryBuffered",
+ "expr": "$.event.measurementsForVfScalingFields.memoryUsageArray_average.memoryBuffered"
+ },
+ {
+ "type": "path",
+ "name": "memoryUsageArray.memoryUsed",
+ "expr": "$.event.measurementsForVfScalingFields.memoryUsageArray_average.memoryUsed"
+ },
+ {
+ "type": "path",
+ "name": "memoryUsageArray.memoryFree",
+ "expr": "$.event.measurementsForVfScalingFields.memoryUsageArray_average.memoryFree"
+ },
+ {
+ "type": "path",
+ "name": "measurementsForVfScalingVersion",
+ "expr": "$.event.measurementsForVfScalingFields.measurementsForVfScalingVersion"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_count",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_count"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_min.cpuUsageSystem",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_min.cpuUsageSystem"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_min.percentUsage",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_min.percentUsage"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_min.cpuWait",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_min.cpuWait"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_min.cpuIdentifier",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_min.cpuIdentifier"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_min.cpuUsageUser",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_min.cpuUsageUser"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_min.cpuIdle",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_min.cpuIdle"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_count",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_count"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_average.diskIoTimeLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_average.diskIoTimeLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_average.diskOctetsWriteLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_average.diskOctetsWriteLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_average.diskMergedReadLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_average.diskMergedReadLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_average.diskOpsWriteLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_average.diskOpsWriteLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_average.diskTimeWriteLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_average.diskTimeWriteLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_average.diskTimeReadLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_average.diskTimeReadLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_average.diskOctetsReadLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_average.diskOctetsReadLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_average.diskOpsReadLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_average.diskOpsReadLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_average.diskMergedWriteLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_average.diskMergedWriteLast"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_sum.cpuUsageSystem",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_sum.cpuUsageSystem"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_sum.percentUsage",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_sum.percentUsage"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_sum.cpuWait",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_sum.cpuWait"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_sum.cpuIdentifier",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_sum.cpuIdentifier"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_sum.cpuUsageUser",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_sum.cpuUsageUser"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_sum.cpuIdle",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_sum.cpuIdle"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_max.receivedOctetsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_max.receivedOctetsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_max.transmittedErrorPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_max.transmittedErrorPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_max.transmittedTotalPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_max.transmittedTotalPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_max.receivedErrorPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_max.receivedErrorPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_max.transmittedOctetsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_max.transmittedOctetsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_max.receivedDiscardedPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_max.receivedDiscardedPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_max.receivedTotalPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_max.receivedTotalPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_max.transmittedDiscardedPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_max.transmittedDiscardedPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_count",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_count"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_max.diskIoTimeLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_max.diskIoTimeLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_max.diskOctetsWriteLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_max.diskOctetsWriteLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_max.diskMergedReadLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_max.diskMergedReadLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_max.diskOpsWriteLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_max.diskOpsWriteLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_max.diskTimeWriteLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_max.diskTimeWriteLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_max.diskTimeReadLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_max.diskTimeReadLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_max.diskOctetsReadLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_max.diskOctetsReadLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_max.diskOpsReadLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_max.diskOpsReadLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_max.diskMergedWriteLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_max.diskMergedWriteLast"
+ },
+ {
+ "type": "path",
+ "name": "measurementInterval",
+ "expr": "$.event.measurementsForVfScalingFields.measurementInterval"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_average.cpuUsageSystem",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_average.cpuUsageSystem"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_average.percentUsage",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_average.percentUsage"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_average.cpuWait",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_average.cpuWait"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_average.cpuIdentifier",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_average.cpuIdentifier"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_average.cpuUsageUser",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_average.cpuUsageUser"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_average.cpuIdle",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_average.cpuIdle"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_sum.receivedOctetsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_sum.receivedOctetsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_sum.transmittedErrorPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_sum.transmittedErrorPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_sum.transmittedTotalPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_sum.transmittedTotalPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_sum.receivedErrorPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_sum.receivedErrorPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_sum.transmittedOctetsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_sum.transmittedOctetsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_sum.receivedDiscardedPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_sum.receivedDiscardedPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_sum.receivedTotalPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_sum.receivedTotalPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_sum.transmittedDiscardedPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_sum.transmittedDiscardedPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_average.receivedOctetsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_average.receivedOctetsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_average.transmittedErrorPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_average.transmittedErrorPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_average.transmittedTotalPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_average.transmittedTotalPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_average.receivedErrorPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_average.receivedErrorPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_average.transmittedOctetsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_average.transmittedOctetsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_average.receivedDiscardedPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_average.receivedDiscardedPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_average.receivedTotalPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_average.receivedTotalPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_average.transmittedDiscardedPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_average.transmittedDiscardedPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_min.diskIoTimeLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_min.diskIoTimeLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_min.diskOctetsWriteLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_min.diskOctetsWriteLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_min.diskMergedReadLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_min.diskMergedReadLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_min.diskOpsWriteLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_min.diskOpsWriteLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_min.diskTimeWriteLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_min.diskTimeWriteLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_min.diskTimeReadLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_min.diskTimeReadLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_min.diskOctetsReadLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_min.diskOctetsReadLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_min.diskOpsReadLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_min.diskOpsReadLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_min.diskMergedWriteLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_min.diskMergedWriteLast"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_min.receivedOctetsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_min.receivedOctetsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_min.transmittedErrorPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_min.transmittedErrorPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_min.transmittedTotalPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_min.transmittedTotalPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_min.receivedErrorPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_min.receivedErrorPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_min.transmittedOctetsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_min.transmittedOctetsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_min.receivedDiscardedPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_min.receivedDiscardedPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_min.receivedTotalPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_min.receivedTotalPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "vNicPerformanceArray_min.transmittedDiscardedPacketsAccumulated",
+ "expr": "$.event.measurementsForVfScalingFields.vNicPerformanceArray_min.transmittedDiscardedPacketsAccumulated"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_max.cpuUsageSystem",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_max.cpuUsageSystem"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_max.percentUsage",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_max.percentUsage"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_max.cpuWait",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_max.cpuWait"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_max.cpuIdentifier",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_max.cpuIdentifier"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_max.cpuUsageUser",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_max.cpuUsageUser"
+ },
+ {
+ "type": "path",
+ "name": "cpuUsageArray_max.cpuIdle",
+ "expr": "$.event.measurementsForVfScalingFields.cpuUsageArray_max.cpuIdle"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_sum.diskIoTimeLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_sum.diskIoTimeLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_sum.diskOctetsWriteLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_sum.diskOctetsWriteLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_sum.diskMergedReadLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_sum.diskMergedReadLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_sum.diskOpsWriteLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_sum.diskOpsWriteLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_sum.diskTimeWriteLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_sum.diskTimeWriteLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_sum.diskTimeReadLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_sum.diskTimeReadLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_sum.diskOctetsReadLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_sum.diskOctetsReadLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_sum.diskOpsReadLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_sum.diskOpsReadLast"
+ },
+ {
+ "type": "path",
+ "name": "diskUsageArray_sum.diskMergedWriteLast",
+ "expr": "$.event.measurementsForVfScalingFields.diskUsageArray_sum.diskMergedWriteLast"
+ },
+ {
+ "type": "path",
+ "name": "datalake_ts_",
+ "expr": "$.datalake_ts_"
+ },
+ {
+ "type": "path",
+ "name": "eventId",
+ "expr": "$.event.commonEventHeader.eventId"
+ },
+ {
+ "type": "path",
+ "name": "reportingEntityId",
+ "expr": "$.event.commonEventHeader.reportingEntityId"
+ },
+ {
+ "type": "path",
+ "name": "lastEpochMicrosec",
+ "expr": "$.event.commonEventHeader.lastEpochMicrosec"
+ },
+ {
+ "type": "path",
+ "name": "reportingEntityName",
+ "expr": "$.event.commonEventHeader.reportingEntityName"
+ },
+ {
+ "type": "path",
+ "name": "sourceId",
+ "expr": "$.event.commonEventHeader.sourceId"
+ },
+ {
+ "type": "path",
+ "name": "eventType",
+ "expr": "$.event.commonEventHeader.eventType"
+ },
+ {
+ "type": "path",
+ "name": "sequence",
+ "expr": "$.event.commonEventHeader.sequence"
+ },
+ {
+ "type": "path",
+ "name": "collectorTimeStamp",
+ "expr": "$.event.commonEventHeader.internalHeaderFields.collectorTimeStamp"
+ },
+ {
+ "type": "path",
+ "name": "priority",
+ "expr": "$.event.commonEventHeader.priority"
+ },
+ {
+ "type": "path",
+ "name": "sourceName",
+ "expr": "$.event.commonEventHeader.sourceName"
+ },
+ {
+ "type": "path",
+ "name": "eventName",
+ "expr": "$.event.commonEventHeader.eventName"
+ },
+ {
+ "type": "path",
+ "name": "startEpochMicrosec",
+ "expr": "$.event.commonEventHeader.startEpochMicrosec"
+ }
+ ]
+ },
+ "timestampSpec": {
+ "column": "collectorTimeStamp",
+ "format": "EEE, MM dd yyyy HH:mm:ss z"
+ },
+ "dimensionsSpec": {
+ "dimensions": [],
+ "dimensionsExclusions": []
+ }
+ }
+ },
+ "metricsSpec": [{
+ "type": "doubleSum",
+ "name": "memoryUsageArray.memorySlabUnrecl",
+ "fieldName": "memoryUsageArray.memorySlabUnrecl"
+ },
+ {
+ "type": "doubleSum",
+ "name": "memoryUsageArray.memorySlabRecl",
+ "fieldName": "memoryUsageArray.memorySlabRecl"
+ },
+ {
+ "type": "doubleSum",
+ "name": "memoryUsageArray.memoryCached",
+ "fieldName": "memoryUsageArray.memoryCached"
+ },
+ {
+ "type": "doubleSum",
+ "name": "memoryUsageArray.memoryBuffered",
+ "fieldName": "memoryUsageArray.memoryBuffered"
+ },
+ {
+ "type": "doubleSum",
+ "name": "memoryUsageArray.memoryUsed",
+ "fieldName": "memoryUsageArray.memoryUsed"
+ },
+ {
+ "type": "doubleSum",
+ "name": "memoryUsageArray.memoryFree",
+ "fieldName": "memoryUsageArray.memoryFree"
+ },
+ {
+ "type": "longSum",
+ "name": "cpuUsageArray_count",
+ "fieldName": "cpuUsageArray_count"
+ },
+ {
+ "type": "doubleMin",
+ "name": "cpuUsageArray_min.cpuUsageSystem",
+ "fieldName": "cpuUsageArray_min.cpuUsageSystem"
+ },
+ {
+ "type": "doubleMin",
+ "name": "cpuUsageArray_min.percentUsage",
+ "fieldName": "cpuUsageArray_min.percentUsage"
+ },
+ {
+ "type": "doubleMin",
+ "name": "cpuUsageArray_min.cpuWait",
+ "fieldName": "cpuUsageArray_min.cpuWait"
+ },
+ {
+ "type": "doubleMin",
+ "name": "cpuUsageArray_min.cpuIdentifier",
+ "fieldName": "cpuUsageArray_min.cpuIdentifier"
+ },
+ {
+ "type": "doubleMin",
+ "name": "cpuUsageArray_min.cpuUsageUser",
+ "fieldName": "cpuUsageArray_min.cpuUsageUser"
+ },
+ {
+ "type": "doubleMin",
+ "name": "cpuUsageArray_min.cpuIdle",
+ "fieldName": "cpuUsageArray_min.cpuIdle"
+ },
+ {
+ "type": "longSum",
+ "name": "vNicPerformanceArray_count",
+ "fieldName": "vNicPerformanceArray_count"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_average.diskIoTimeLast",
+ "fieldName": "diskUsageArray_average.diskIoTimeLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_average.diskOctetsWriteLast",
+ "fieldName": "diskUsageArray_average.diskOctetsWriteLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_average.diskMergedReadLast",
+ "fieldName": "diskUsageArray_average.diskMergedReadLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_average.diskOpsWriteLast",
+ "fieldName": "diskUsageArray_average.diskOpsWriteLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_average.diskTimeWriteLast",
+ "fieldName": "diskUsageArray_average.diskTimeWriteLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_average.diskTimeReadLast",
+ "fieldName": "diskUsageArray_average.diskTimeReadLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_average.diskOctetsReadLast",
+ "fieldName": "diskUsageArray_average.diskOctetsReadLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_average.diskOpsReadLast",
+ "fieldName": "diskUsageArray_average.diskOpsReadLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_average.diskMergedWriteLast",
+ "fieldName": "diskUsageArray_average.diskMergedWriteLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "cpuUsageArray_sum.cpuUsageSystem",
+ "fieldName": "cpuUsageArray_sum.cpuUsageSystem"
+ },
+ {
+ "type": "doubleSum",
+ "name": "cpuUsageArray_sum.percentUsage",
+ "fieldName": "cpuUsageArray_sum.percentUsage"
+ },
+ {
+ "type": "doubleSum",
+ "name": "cpuUsageArray_sum.cpuWait",
+ "fieldName": "cpuUsageArray_sum.cpuWait"
+ },
+ {
+ "type": "doubleSum",
+ "name": "cpuUsageArray_sum.cpuIdentifier",
+ "fieldName": "cpuUsageArray_sum.cpuIdentifier"
+ },
+ {
+ "type": "doubleSum",
+ "name": "cpuUsageArray_sum.cpuUsageUser",
+ "fieldName": "cpuUsageArray_sum.cpuUsageUser"
+ },
+ {
+ "type": "doubleSum",
+ "name": "cpuUsageArray_sum.cpuIdle",
+ "fieldName": "cpuUsageArray_sum.cpuIdle"
+ },
+ {
+ "type": "doubleMax",
+ "name": "vNicPerformanceArray_max.receivedOctetsAccumulated",
+ "fieldName": "vNicPerformanceArray_max.receivedOctetsAccumulated"
+ },
+ {
+ "type": "doubleMax",
+ "name": "vNicPerformanceArray_max.transmittedErrorPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_max.transmittedErrorPacketsAccumulated"
+ },
+ {
+ "type": "doubleMax",
+ "name": "vNicPerformanceArray_max.transmittedTotalPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_max.transmittedTotalPacketsAccumulated"
+ },
+ {
+ "type": "doubleMax",
+ "name": "vNicPerformanceArray_max.receivedErrorPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_max.receivedErrorPacketsAccumulated"
+ },
+ {
+ "type": "doubleMax",
+ "name": "vNicPerformanceArray_max.transmittedOctetsAccumulated",
+ "fieldName": "vNicPerformanceArray_max.transmittedOctetsAccumulated"
+ },
+ {
+ "type": "doubleMax",
+ "name": "vNicPerformanceArray_max.receivedDiscardedPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_max.receivedDiscardedPacketsAccumulated"
+ },
+ {
+ "type": "doubleMax",
+ "name": "vNicPerformanceArray_max.receivedTotalPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_max.receivedTotalPacketsAccumulated"
+ },
+ {
+ "type": "doubleMax",
+ "name": "vNicPerformanceArray_max.transmittedDiscardedPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_max.transmittedDiscardedPacketsAccumulated"
+ },
+ {
+ "type": "longSum",
+ "name": "diskUsageArray_count",
+ "fieldName": "diskUsageArray_count"
+ },
+ {
+ "type": "doubleMax",
+ "name": "diskUsageArray_max.diskIoTimeLast",
+ "fieldName": "diskUsageArray_max.diskIoTimeLast"
+ },
+ {
+ "type": "doubleMax",
+ "name": "diskUsageArray_max.diskOctetsWriteLast",
+ "fieldName": "diskUsageArray_max.diskOctetsWriteLast"
+ },
+ {
+ "type": "doubleMax",
+ "name": "diskUsageArray_max.diskMergedReadLast",
+ "fieldName": "diskUsageArray_max.diskMergedReadLast"
+ },
+ {
+ "type": "doubleMax",
+ "name": "diskUsageArray_max.diskOpsWriteLast",
+ "fieldName": "diskUsageArray_max.diskOpsWriteLast"
+ },
+ {
+ "type": "doubleMax",
+ "name": "diskUsageArray_max.diskTimeWriteLast",
+ "fieldName": "diskUsageArray_max.diskTimeWriteLast"
+ },
+ {
+ "type": "doubleMax",
+ "name": "diskUsageArray_max.diskTimeReadLast",
+ "fieldName": "diskUsageArray_max.diskTimeReadLast"
+ },
+ {
+ "type": "doubleMax",
+ "name": "diskUsageArray_max.diskOctetsReadLast",
+ "fieldName": "diskUsageArray_max.diskOctetsReadLast"
+ },
+ {
+ "type": "doubleMax",
+ "name": "diskUsageArray_max.diskOpsReadLast",
+ "fieldName": "diskUsageArray_max.diskOpsReadLast"
+ },
+ {
+ "type": "doubleMax",
+ "name": "diskUsageArray_max.diskMergedWriteLast",
+ "fieldName": "diskUsageArray_max.diskMergedWriteLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "cpuUsageArray_average.cpuUsageSystem",
+ "fieldName": "cpuUsageArray_average.cpuUsageSystem"
+ },
+ {
+ "type": "doubleSum",
+ "name": "cpuUsageArray_average.percentUsage",
+ "fieldName": "cpuUsageArray_average.percentUsage"
+ },
+ {
+ "type": "doubleSum",
+ "name": "cpuUsageArray_average.cpuWait",
+ "fieldName": "cpuUsageArray_average.cpuWait"
+ },
+ {
+ "type": "doubleSum",
+ "name": "cpuUsageArray_average.cpuIdentifier",
+ "fieldName": "cpuUsageArray_average.cpuIdentifier"
+ },
+ {
+ "type": "doubleSum",
+ "name": "cpuUsageArray_average.cpuUsageUser",
+ "fieldName": "cpuUsageArray_average.cpuUsageUser"
+ },
+ {
+ "type": "doubleSum",
+ "name": "cpuUsageArray_average.cpuIdle",
+ "fieldName": "cpuUsageArray_average.cpuIdle"
+ },
+ {
+ "type": "doubleSum",
+ "name": "vNicPerformanceArray_sum.receivedOctetsAccumulated",
+ "fieldName": "vNicPerformanceArray_sum.receivedOctetsAccumulated"
+ },
+ {
+ "type": "doubleSum",
+ "name": "vNicPerformanceArray_sum.transmittedErrorPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_sum.transmittedErrorPacketsAccumulated"
+ },
+ {
+ "type": "doubleSum",
+ "name": "vNicPerformanceArray_sum.transmittedTotalPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_sum.transmittedTotalPacketsAccumulated"
+ },
+ {
+ "type": "doubleSum",
+ "name": "vNicPerformanceArray_sum.receivedErrorPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_sum.receivedErrorPacketsAccumulated"
+ },
+ {
+ "type": "doubleSum",
+ "name": "vNicPerformanceArray_sum.transmittedOctetsAccumulated",
+ "fieldName": "vNicPerformanceArray_sum.transmittedOctetsAccumulated"
+ },
+ {
+ "type": "doubleSum",
+ "name": "vNicPerformanceArray_sum.receivedDiscardedPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_sum.receivedDiscardedPacketsAccumulated"
+ },
+ {
+ "type": "doubleSum",
+ "name": "vNicPerformanceArray_sum.receivedTotalPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_sum.receivedTotalPacketsAccumulated"
+ },
+ {
+ "type": "doubleSum",
+ "name": "vNicPerformanceArray_sum.transmittedDiscardedPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_sum.transmittedDiscardedPacketsAccumulated"
+ },
+ {
+ "type": "doubleSum",
+ "name": "vNicPerformanceArray_average.receivedOctetsAccumulated",
+ "fieldName": "vNicPerformanceArray_average.receivedOctetsAccumulated"
+ },
+ {
+ "type": "doubleSum",
+ "name": "vNicPerformanceArray_average.transmittedErrorPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_average.transmittedErrorPacketsAccumulated"
+ },
+ {
+ "type": "doubleSum",
+ "name": "vNicPerformanceArray_average.transmittedTotalPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_average.transmittedTotalPacketsAccumulated"
+ },
+ {
+ "type": "doubleSum",
+ "name": "vNicPerformanceArray_average.receivedErrorPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_average.receivedErrorPacketsAccumulated"
+ },
+ {
+ "type": "doubleSum",
+ "name": "vNicPerformanceArray_average.transmittedOctetsAccumulated",
+ "fieldName": "vNicPerformanceArray_average.transmittedOctetsAccumulated"
+ },
+ {
+ "type": "doubleSum",
+ "name": "vNicPerformanceArray_average.receivedDiscardedPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_average.receivedDiscardedPacketsAccumulated"
+ },
+ {
+ "type": "doubleSum",
+ "name": "vNicPerformanceArray_average.receivedTotalPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_average.receivedTotalPacketsAccumulated"
+ },
+ {
+ "type": "doubleSum",
+ "name": "vNicPerformanceArray_average.transmittedDiscardedPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_average.transmittedDiscardedPacketsAccumulated"
+ },
+ {
+ "type": "doubleMin",
+ "name": "diskUsageArray_min.diskIoTimeLast",
+ "fieldName": "diskUsageArray_min.diskIoTimeLast"
+ },
+ {
+ "type": "doubleMin",
+ "name": "diskUsageArray_min.diskOctetsWriteLast",
+ "fieldName": "diskUsageArray_min.diskOctetsWriteLast"
+ },
+ {
+ "type": "doubleMin",
+ "name": "diskUsageArray_min.diskMergedReadLast",
+ "fieldName": "diskUsageArray_min.diskMergedReadLast"
+ },
+ {
+ "type": "doubleMin",
+ "name": "diskUsageArray_min.diskOpsWriteLast",
+ "fieldName": "diskUsageArray_min.diskOpsWriteLast"
+ },
+ {
+ "type": "doubleMin",
+ "name": "diskUsageArray_min.diskTimeWriteLast",
+ "fieldName": "diskUsageArray_min.diskTimeWriteLast"
+ },
+ {
+ "type": "doubleMin",
+ "name": "diskUsageArray_min.diskTimeReadLast",
+ "fieldName": "diskUsageArray_min.diskTimeReadLast"
+ },
+ {
+ "type": "doubleMin",
+ "name": "diskUsageArray_min.diskOctetsReadLast",
+ "fieldName": "diskUsageArray_min.diskOctetsReadLast"
+ },
+ {
+ "type": "doubleMin",
+ "name": "diskUsageArray_min.diskOpsReadLast",
+ "fieldName": "diskUsageArray_min.diskOpsReadLast"
+ },
+ {
+ "type": "doubleMin",
+ "name": "diskUsageArray_min.diskMergedWriteLast",
+ "fieldName": "diskUsageArray_min.diskMergedWriteLast"
+ },
+ {
+ "type": "doubleMin",
+ "name": "vNicPerformanceArray_min.receivedOctetsAccumulated",
+ "fieldName": "vNicPerformanceArray_min.receivedOctetsAccumulated"
+ },
+ {
+ "type": "doubleMin",
+ "name": "vNicPerformanceArray_min.transmittedErrorPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_min.transmittedErrorPacketsAccumulated"
+ },
+ {
+ "type": "doubleMin",
+ "name": "vNicPerformanceArray_min.transmittedTotalPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_min.transmittedTotalPacketsAccumulated"
+ },
+ {
+ "type": "doubleMin",
+ "name": "vNicPerformanceArray_min.receivedErrorPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_min.receivedErrorPacketsAccumulated"
+ },
+ {
+ "type": "doubleSum",
+ "name": "vNicPerformanceArray_min.transmittedOctetsAccumulated",
+ "fieldName": "vNicPerformanceArray_min.transmittedOctetsAccumulated"
+ },
+ {
+ "type": "doubleMin",
+ "name": "vNicPerformanceArray_min.receivedDiscardedPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_min.receivedDiscardedPacketsAccumulated"
+ },
+ {
+ "type": "doubleMin",
+ "name": "vNicPerformanceArray_min.receivedTotalPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_min.receivedTotalPacketsAccumulated"
+ },
+ {
+ "type": "doubleMin",
+ "name": "vNicPerformanceArray_min.transmittedDiscardedPacketsAccumulated",
+ "fieldName": "vNicPerformanceArray_min.transmittedDiscardedPacketsAccumulated"
+ },
+ {
+ "type": "doubleMax",
+ "name": "cpuUsageArray_max.cpuUsageSystem",
+ "fieldName": "cpuUsageArray_max.cpuUsageSystem"
+ },
+ {
+ "type": "doubleMax",
+ "name": "cpuUsageArray_max.percentUsage",
+ "fieldName": "cpuUsageArray_max.percentUsage"
+ },
+ {
+ "type": "doubleMax",
+ "name": "cpuUsageArray_max.cpuWait",
+ "fieldName": "cpuUsageArray_max.cpuWait"
+ },
+ {
+ "type": "doubleMax",
+ "name": "cpuUsageArray_max.cpuIdentifier",
+ "fieldName": "cpuUsageArray_max.cpuIdentifier"
+ },
+ {
+ "type": "doubleMax",
+ "name": "cpuUsageArray_max.cpuUsageUser",
+ "fieldName": "cpuUsageArray_max.cpuUsageUser"
+ },
+ {
+ "type": "doubleMax",
+ "name": "cpuUsageArray_max.cpuIdle",
+ "fieldName": "cpuUsageArray_max.cpuIdle"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_sum.diskIoTimeLast",
+ "fieldName": "diskUsageArray_sum.diskIoTimeLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_sum.diskOctetsWriteLast",
+ "fieldName": "diskUsageArray_sum.diskOctetsWriteLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_sum.diskMergedReadLast",
+ "fieldName": "diskUsageArray_sum.diskMergedReadLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_sum.diskOpsWriteLast",
+ "fieldName": "diskUsageArray_sum.diskOpsWriteLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_sum.diskTimeWriteLast",
+ "fieldName": "diskUsageArray_sum.diskTimeWriteLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_sum.diskTimeReadLast",
+ "fieldName": "diskUsageArray_sum.diskTimeReadLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_sum.diskOctetsReadLast",
+ "fieldName": "diskUsageArray_sum.diskOctetsReadLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_sum.diskOpsReadLast",
+ "fieldName": "diskUsageArray_sum.diskOpsReadLast"
+ },
+ {
+ "type": "doubleSum",
+ "name": "diskUsageArray_sum.diskMergedWriteLast",
+ "fieldName": "diskUsageArray_sum.diskMergedWriteLast"
+ }],
+ "granularitySpec": {
+ "type": "uniform",
+ "segmentGranularity": "HOUR",
+ "queryGranularity": "MINUTE",
+ "rollup": true
+ }
+ },
+ "tuningConfig": {
+ "type": "kafka",
+ "reportParseExceptions": true
+ },
+ "ioConfig": {
+ "topic": "HW-aggs",
+ "replicas": 1,
+ "startDelay": "PT1S",
+ "taskDuration": "PT1H",
+ "completionTimeout": "PT30M",
+ "consumerProperties": {
+ "bootstrap.servers": "message-router-kafka:9092"
+ },
+ "useEarliestOffset": true
+ }
+}
diff --git a/components/datalake-handler/feeder/src/main/resources/druid/HW-aggs-sample-format.json b/components/datalake-handler/feeder/src/main/resources/druid/HW-aggs-sample-format.json
new file mode 100644
index 00000000..638f721d
--- /dev/null
+++ b/components/datalake-handler/feeder/src/main/resources/druid/HW-aggs-sample-format.json
@@ -0,0 +1,179 @@
+{
+ "event": {
+ "commonEventHeader": {
+ "sourceId": "compute-2",
+ "startEpochMicrosec": 1558850006,
+ "eventId": "17252",
+ "reportingEntityId": "localhost",
+ "internalHeaderFields": {
+ "collectorTimeStamp": "Sun, 05 26 2019 05:53:36 UTC"
+ },
+ "eventType": "platform",
+ "priority": "Normal",
+ "version": 2,
+ "reportingEntityName": "localhost",
+ "sequence": 0,
+ "domain": "measurementsForVfScaling",
+ "lastEpochMicrosec": 1558850016,
+ "eventName": "",
+ "sourceName": "compute-2"
+ },
+ "measurementsForVfScalingFields": {
+ "memoryUsageArray_sum": {
+ "memorySlabUnrecl": 634188,
+ "memorySlabRecl": 486928,
+ "memoryCached": 7635224,
+ "memoryBuffered": 2100,
+ "memoryUsed": 4.6876648E7,
+ "memoryFree": 3.47144859648E11
+ },
+ "memoryUsageArray_average": {
+ "memorySlabUnrecl": 634188,
+ "memorySlabRecl": 486928,
+ "memoryCached": 7635224,
+ "memoryBuffered": 2100,
+ "memoryUsed": 4.6876648E7,
+ "memoryFree": 3.47144859648E11
+ },
+ "measurementsForVfScalingVersion": 2,
+ "cpuUsageArray_count": 88,
+ "memoryUsageArray_min": {
+ "memorySlabUnrecl": 634188,
+ "memorySlabRecl": 486928,
+ "memoryCached": 7635224,
+ "memoryBuffered": 2100,
+ "memoryUsed": 4.6876648E7,
+ "memoryFree": 3.47144859648E11
+ },
+ "cpuUsageArray_min": {
+ "cpuUsageSystem": 0,
+ "percentUsage": 0,
+ "cpuWait": 0,
+ "cpuIdentifier": 0,
+ "cpuUsageUser": 0,
+ "cpuIdle": 0
+ },
+ "vNicPerformanceArray_count": 51,
+ "diskUsageArray_average": {
+ "diskIoTimeLast": 6.633306574873333,
+ "diskOctetsWriteLast": 1801687.4324733336,
+ "diskMergedReadLast": 0,
+ "diskOpsWriteLast": 336.9987602213334,
+ "diskTimeWriteLast": 1.4666613132266668,
+ "diskTimeReadLast": 0,
+ "diskOctetsReadLast": 0,
+ "diskOpsReadLast": 0,
+ "diskMergedWriteLast": 15.266605225866664
+ },
+ "cpuUsageArray_sum": {
+ "cpuUsageSystem": 31.499984875965808,
+ "percentUsage": 0,
+ "cpuWait": 0.0999987854677,
+ "cpuIdentifier": 3828,
+ "cpuUsageUser": 464.402795424227,
+ "cpuIdle": 31.499984875965808
+ },
+ "vNicPerformanceArray_max": {
+ "receivedOctetsAccumulated": 7420055.60296,
+ "transmittedErrorPacketsAccumulated": 4.9E-324,
+ "transmittedTotalPacketsAccumulated": 3891.02709722,
+ "receivedErrorPacketsAccumulated": 4.9E-324,
+ "transmittedOctetsAccumulated": 7030576.37061,
+ "receivedDiscardedPacketsAccumulated": 0.200002362849,
+ "receivedTotalPacketsAccumulated": 5127.16747474,
+ "transmittedDiscardedPacketsAccumulated": 0.200000846185
+ },
+ "diskUsageArray_count": 3,
+ "memoryUsageArray_max": {
+ "memorySlabUnrecl": 634188,
+ "memorySlabRecl": 486928,
+ "memoryCached": 7635224,
+ "memoryBuffered": 2100,
+ "memoryUsed": 4.6876648E7,
+ "memoryFree": 3.47144859648E11
+ },
+ "diskUsageArray_max": {
+ "diskIoTimeLast": 9.99995970463,
+ "diskOctetsWriteLast": 2702532.45109,
+ "diskMergedReadLast": 4.9E-324,
+ "diskOpsWriteLast": 506.098328814,
+ "diskTimeWriteLast": 2.19999284748,
+ "diskTimeReadLast": 4.9E-324,
+ "diskOctetsReadLast": 4.9E-324,
+ "diskOpsReadLast": 4.9E-324,
+ "diskMergedWriteLast": 22.8999080073
+ },
+ "measurementInterval": 10,
+ "cpuUsageArray_average": {
+ "cpuUsageSystem": 0.35795437359052057,
+ "percentUsage": 0,
+ "cpuWait": 0.0011363498348602272,
+ "cpuIdentifier": 43.5,
+ "cpuUsageUser": 5.277304493457125,
+ "cpuIdle": 0.35795437359052057
+ },
+ "vNicPerformanceArray_sum": {
+ "receivedOctetsAccumulated": 2.497791331284713E7,
+ "transmittedErrorPacketsAccumulated": 0,
+ "transmittedTotalPacketsAccumulated": 5657.180629766652,
+ "receivedErrorPacketsAccumulated": 0,
+ "transmittedOctetsAccumulated": 2.497472905660059E7,
+ "receivedDiscardedPacketsAccumulated": 0.200002362849,
+ "receivedTotalPacketsAccumulated": 6834.521263097156,
+ "transmittedDiscardedPacketsAccumulated": 0.200000846185
+ },
+ "vNicPerformanceArray_average": {
+ "receivedOctetsAccumulated": 489763.0061342575,
+ "transmittedErrorPacketsAccumulated": 0,
+ "transmittedTotalPacketsAccumulated": 110.92511038758141,
+ "receivedErrorPacketsAccumulated": 0,
+ "transmittedOctetsAccumulated": 489700.56973726646,
+ "receivedDiscardedPacketsAccumulated": 0.003921614957823529,
+ "receivedTotalPacketsAccumulated": 134.01022084504228,
+ "transmittedDiscardedPacketsAccumulated": 0.003921585219313725
+ },
+ "diskUsageArray_min": {
+ "diskIoTimeLast": 0,
+ "diskOctetsWriteLast": 0,
+ "diskMergedReadLast": 0,
+ "diskOpsWriteLast": 0,
+ "diskTimeWriteLast": 0,
+ "diskTimeReadLast": 0,
+ "diskOctetsReadLast": 0,
+ "diskOpsReadLast": 0,
+ "diskMergedWriteLast": 0
+ },
+ "vNicPerformanceArray_min": {
+ "receivedOctetsAccumulated": 0,
+ "transmittedErrorPacketsAccumulated": 0,
+ "transmittedTotalPacketsAccumulated": 0,
+ "receivedErrorPacketsAccumulated": 0,
+ "transmittedOctetsAccumulated": 0,
+ "receivedDiscardedPacketsAccumulated": 0,
+ "receivedTotalPacketsAccumulated": 0,
+ "transmittedDiscardedPacketsAccumulated": 0
+ },
+ "memoryUsageArray_count": 1,
+ "cpuUsageArray_max": {
+ "cpuUsageSystem": 1.90000067932,
+ "percentUsage": 4.9E-324,
+ "cpuWait": 0.0999987854677,
+ "cpuIdentifier": 87,
+ "cpuUsageUser": 98.1005644149,
+ "cpuIdle": 1.90000067932
+ },
+ "diskUsageArray_sum": {
+ "diskIoTimeLast": 19.89991972462,
+ "diskOctetsWriteLast": 5405062.297420001,
+ "diskMergedReadLast": 0,
+ "diskOpsWriteLast": 1010.9962806640001,
+ "diskTimeWriteLast": 4.39998393968,
+ "diskTimeReadLast": 0,
+ "diskOctetsReadLast": 0,
+ "diskOpsReadLast": 0,
+ "diskMergedWriteLast": 45.799815677599995
+ }
+ }
+ },
+ "datalake_ts_": 1560149458487
+}