3 "name": "cdap-data-streams",
6 "label": "Data Pipeline - Realtime"
12 "label": "DMaaPMRSink",
14 "name": "dcae-analytics-cdap-plugins",
15 "version": "3.0-SNAPSHOT",
18 "name": "DMaaPMRSink",
20 "referenceName": "DMaaPMRSink",
21 "hostName": "zldcmtc1njmsrt00.homer.com",
23 "topicName": "com.dcae.dmaap.FTL.DcaeTestVESPub",
26 "userPassword": "PASSWORD",
27 "contentType": "application/json",
28 "messageColumnName": "alert",
33 "description": "A batch sink Plugin that publishes messages to DMaaP MR Topic.",
37 "top": "230.9921875px",
40 "name": "DMaaPMRSink",
42 "_backendProperties": {
45 "description": "DMaaP Message Router Host Port number. Defaults to Port 80",
48 "macroSupported": true
52 "description": "DMaaP Message Router HTTP Protocol e.g. HTTP or HTTPS. Defaults to HTTPS",
55 "macroSupported": true
58 "name": "userPassword",
59 "description": "DMaaP Message Router User Password used for AAF Authentication. Defaults to no authentication",
62 "macroSupported": true
66 "description": "DMaaP Message Router User Name used for AAF Authentication. Defaults to no authentication",
69 "macroSupported": true
73 "description": "DMaaP Message Router HostName",
76 "macroSupported": true
78 "messageColumnName": {
79 "name": "messageColumnName",
80 "description": "Column name of input schema which contains the message that needs to be written to DMaaP MR Topic",
83 "macroSupported": true
86 "name": "contentType",
87 "description": "DMaaP Message Router Content Type. Defaults to 'application/json'",
90 "macroSupported": true
92 "maxRecoveryQueueSize": {
93 "name": "maxRecoveryQueueSize",
94 "description": "DMaaP MR Publisher Recovery Queue Size. Default to 1000K messages which can be buffered in memory in case DMaaP MR Publisher is temporarily unavailable",
97 "macroSupported": true
100 "name": "referenceName",
101 "description": "This will be used to uniquely identify this source/sink for lineage, annotating metadata, etc.",
104 "macroSupported": true
108 "description": "DMaaP Message Router Topic Name",
111 "macroSupported": true
114 "name": "maxBatchSize",
115 "description": "DMaaP MR Publisher Max Batch Size. Defaults to no Batch",
118 "macroSupported": true
121 "implicitSchema": null,
122 "outputSchemaProperty": null,
126 "name": "JavaScript2",
127 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":\"string\"},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"
130 "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":\"string\"},{\"name\":\"tacMessageType\",\"type\":\"string\"}]}"
134 "label": "DMaaPMRSource",
136 "name": "dcae-analytics-cdap-plugins",
137 "version": "3.0-SNAPSHOT",
140 "name": "DMaaPMRSource",
142 "referenceName": "DMaaPMRSource",
143 "hostName": "zldcmtc1njmsrt00.homer.com",
144 "portNumber": "3905",
145 "topicName": "com.dcae.dmaap.FTL.DcaeTestVESSub",
146 "pollingInterval": "20000",
149 "userPassword": "PASSWORD",
150 "contentType": "application/json",
152 "consumerGroup": "OpenDCAE-G1"
156 "description": "Fetches DMaaP MR Messages at regular intervals",
157 "type": "streamingsource",
160 "top": "230.9921875px",
163 "name": "DMaaPMRSource",
165 "_backendProperties": {
167 "name": "portNumber",
168 "description": "DMaaP Message Router Host Port number. Defaults to Port 80",
171 "macroSupported": true
175 "description": "DMaaP Message Router HTTP Protocol e.g. HTTP or HTTPS. Defaults to HTTPS",
178 "macroSupported": true
182 "description": "DMaaP Message Router Subscriber Timeout in MS. Defaults to no timeout",
185 "macroSupported": true
188 "name": "consumerGroup",
189 "description": "DMaaP Message Router Subscriber Consumer Group. Defaults to some randomly created user Group",
192 "macroSupported": true
195 "name": "userPassword",
196 "description": "DMaaP Message Router User Password used for AAF Authentication. Defaults to no authentication",
199 "macroSupported": true
203 "description": "DMaaP Message Router User Name used for AAF Authentication. Defaults to no authentication",
206 "macroSupported": true
210 "description": "DMaaP Message Router HostName",
213 "macroSupported": true
216 "name": "pollingInterval",
217 "description": "DMaaP MR Polling Interval in MS",
220 "macroSupported": true
223 "name": "contentType",
224 "description": "DMaaP Message Router Content Type. Defaults to 'application/json'",
227 "macroSupported": true
230 "name": "referenceName",
231 "description": "This will be used to uniquely identify this source/sink for lineage, annotating metadata, etc.",
234 "macroSupported": true
238 "description": "DMaaP Message Router Topic Name",
241 "macroSupported": true
244 "name": "messageLimit",
245 "description": "DMaaP Message Router Subscriber Message Limit. Defaults to no message limit",
248 "macroSupported": true
251 "name": "consumerId",
252 "description": "DMaaP Message Router Subscriber Consumer ID. Defaults to some randomly created userID",
255 "macroSupported": true
260 "responseCode": "int",
261 "responseMessage": "string",
264 "outputSchemaProperty": null,
265 "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}",
270 "label": "JsonPathFilter",
272 "name": "dcae-analytics-cdap-plugins",
273 "version": "3.0-SNAPSHOT",
276 "name": "JsonPathFilter",
278 "referenceName": "JsonPathFilter",
279 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}",
280 "jsonFilterMappings": "$.event.commonEventHeader.domain:measurementsForVfScaling,$.event.commonEventHeader.functionalRole:vLoadBalancer;vFirewall",
281 "incomingJsonFieldName": "message",
282 "outputSchemaFieldName": "filterMatched"
286 "description": "Filters incoming schema field based of given json path expected values",
290 "top": "230.9921875px",
293 "name": "JsonPathFilter",
295 "_backendProperties": {
298 "description": "Output Schema",
301 "macroSupported": false
303 "incomingJsonFieldName": {
304 "name": "incomingJsonFieldName",
305 "description": "Input schema field name that contain JSON used for filtering",
308 "macroSupported": false
310 "outputSchemaFieldName": {
311 "name": "outputSchemaFieldName",
312 "description": "Name of the nullable boolean schema field name that will contain result of the filter matching",
315 "macroSupported": false
317 "jsonFilterMappings": {
318 "name": "jsonFilterMappings",
319 "description": "Filters incoming JSON based on given filter mappings - in terms of JSON path and expected values.Right hand side contains JSON path. Left hand side contains semicolon (';') separated expected values for that JSON Path. If all provided JSON Path mappings and corresponding values matches - output schema field will be marked as true",
322 "macroSupported": false
325 "name": "referenceName",
326 "description": "This will be used to uniquely identify this source/sink for lineage, annotating metadata, etc.",
329 "macroSupported": true
332 "implicitSchema": null,
333 "outputSchemaProperty": "schema",
334 "watchProperty": "format",
335 "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}",
339 "name": "DMaaPMRSource",
340 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
346 "label": "JavaScriptJsonPathFilter",
348 "name": "core-plugins",
352 "name": "JavaScript",
354 "script": "function transform(input, emitter, context) {\n \n var filterMatched = input.filterMatched;\n var log = context.getLogger();\n var metrics = context.getMetrics();\n \n log.debug('Received filterMatched: ' + filterMatched);\n \n // if matched filter push message for TCA\n if(filterMatched) {\n \n log.debug('Json Filter matched - pushing to TCA');\n metrics.count('js.tca.pushed', 1);\n emitter.emit(input);\n \n \n // if matched unsuccessfull - no need to do TCA\n } else {\n \n log.debug('Json Filter unmatched - dropping message');\n metrics.count('js.tca.dropped', 1); \n\n }\n \n \n}",
355 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
358 "icon": "icon-javascript",
359 "description": "Executes user-provided JavaScript that transforms one record into zero or more records.",
363 "top": "230.9921875px",
366 "name": "JavaScriptJsonPathFilter",
368 "_backendProperties": {
371 "description": "The schema of output objects. If no schema is given, it is assumed that the output schema is the same as the input schema.",
374 "macroSupported": false
378 "description": "JavaScript defining how to transform input record into zero or more records. The script must implement a function called 'transform', which takes as input a JSON object (representing the input record) emitter object, which can be used to emit records and error messagesand a context object (which contains CDAP metrics, logger and lookup)For example:\n'function transform(input, emitter, context) {\n if(context.getLookup('blacklist').lookup(input.id) != null) {\n emitter.emitError({\"errorCode\":31, \"errorMsg\":\"blacklisted id\", \"invalidRecord\": input}); \n } else {\n if(input.count < 0) {\n context.getMetrics().count(\"negative.count\", 1);\n context.getLogger().debug(\"Received record with negative count\");\n }\n input.count = input.count * 1024;\n emitter.emit(input); } \n}'\nwill emit an error if the input id is present in blacklist table, else scale the 'count' field by 1024",
381 "macroSupported": false
385 "description": "Lookup tables to use during transform. Currently supports KeyValueTable.",
388 "macroSupported": false
391 "implicitSchema": null,
392 "outputSchemaProperty": "schema",
393 "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}",
397 "name": "JsonPathFilter",
398 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
401 "errorDatasetName": ""
405 "label": "SimpleTCAPlugin",
407 "name": "dcae-analytics-cdap-plugins",
408 "version": "3.0-SNAPSHOT",
411 "name": "SimpleTCAPlugin",
413 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
414 "policyJson": "{\"domain\":\"measurementsForVfScaling\",\"metricsPerFunctionalRole\":[{\"functionalRole\":\"vFirewall\",\"policyScope\":\"resource=vFirewall;type=configuration\",\"policyName\":\"configuration.dcae.microservice.tca.xml\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn\",\"thresholdValue\":4000,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\"},{\"closedLoopControlName\":\"CL-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn\",\"thresholdValue\":20000,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\"}]},{\"functionalRole\":\"vLoadBalancer\",\"policyScope\":\"resource=vLoadBalancer;type=configuration\",\"policyName\":\"configuration.dcae.microservice.tca.xml\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn\",\"thresholdValue\":500,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\"},{\"closedLoopControlName\":\"CL-LBAL-LOW-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn\",\"thresholdValue\":5000,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\"}]}]}",
415 "vesMessageFieldName": "message",
416 "alertFieldName": "alert",
417 "messageTypeFieldName": "tcaMessageType",
418 "referenceName": "SimpleTCAPlugin",
419 "enableAlertCEFFormat": "false"
423 "description": "Used to create TCA (Threshold Crossing Alert) based on given Policy",
424 "type": "sparkcompute",
427 "top": "230.9921875px",
430 "name": "SimpleTCAPlugin",
432 "_backendProperties": {
435 "description": "Specifies the output schema",
438 "macroSupported": false
441 "name": "policyJson",
442 "description": "Policy JSON that need to be applied to VES Message",
445 "macroSupported": true
447 "vesMessageFieldName": {
448 "name": "vesMessageFieldName",
449 "description": "Field name containing VES Message",
452 "macroSupported": true
455 "name": "referenceName",
456 "description": "This will be used to uniquely identify this source/sink for lineage, annotating metadata, etc.",
459 "macroSupported": true
461 "messageTypeFieldName": {
462 "name": "messageTypeFieldName",
463 "description": "Name of the output field that will contain message type: INAPPLICABLE, COMPLIANT, NON_COMPLIANT",
466 "macroSupported": true
469 "name": "alertFieldName",
470 "description": "Name of the output field that will contain the alert",
473 "macroSupported": true
475 "enableAlertCEFFormat": {
476 "name": "enableAlertCEFFormat",
477 "description": "Enable Alert Output Format in CEF format",
480 "macroSupported": true
483 "implicitSchema": null,
484 "outputSchemaProperty": "schema",
485 "watchProperty": "format",
486 "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
490 "name": "JavaScriptJsonPathFilter",
491 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
497 "label": "TCAMessageStatusTable",
499 "name": "core-plugins",
505 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
506 "name": "TCAMessageStatusTable",
507 "schema.row.field": "ts"
510 "icon": "icon-table",
511 "description": "Writes records to a Table with one record field mapping to the Table rowkey, and all other record fields mapping to Table columns.",
515 "top": "416.9921875px",
518 "name": "TCAMessageStatusTable",
520 "_backendProperties": {
523 "description": "schema of the table as a JSON Object. If the table does not already exist, one will be created with this schema, which will allow the table to be explored through Hive. If no schema is given, the table created will not be explorable.",
526 "macroSupported": false
530 "description": "Name of the dataset. If the dataset does not already exist, one will be created.",
533 "macroSupported": true
535 "schema.row.field": {
536 "name": "schema.row.field",
537 "description": "The name of the record field that should be used as the row key when writing to the table.",
540 "macroSupported": false
543 "implicitSchema": null,
544 "outputSchemaProperty": "schema",
545 "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
549 "name": "SimpleTCAPlugin",
550 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"
556 "label": "JavaScript2",
558 "name": "core-plugins",
562 "name": "JavaScript",
564 "script": "function transform(input, emitter, context) {\n \n var alert = input.alert;\n var log = context.getLogger();\n var metrics = context.getMetrics();\n \n log.debug('Received alert: ' + alert)\n \n \n // if alert is null then drop the message\n if(alert == null) {\n \n log.debug('No Alert Found - Dropping incoming record');\n metrics.count('js.alerts.dropped', 1);\n \n \n // if alert is not null push message to next plugin\n } else {\n \n log.debug('Found Alert - Pushing record to next Plugin');\n metrics.count('js.alerts.pushed', 1);\n \n emitter.emit(input);\n\n }\n \n}",
565 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":\"string\"},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"
568 "icon": "icon-javascript",
569 "description": "Executes user-provided JavaScript that transforms one record into zero or more records.",
573 "top": "230.9921875px",
576 "name": "JavaScript2",
578 "_backendProperties": {
581 "description": "The schema of output objects. If no schema is given, it is assumed that the output schema is the same as the input schema.",
584 "macroSupported": false
588 "description": "JavaScript defining how to transform input record into zero or more records. The script must implement a function called 'transform', which takes as input a JSON object (representing the input record) emitter object, which can be used to emit records and error messagesand a context object (which contains CDAP metrics, logger and lookup)For example:\n'function transform(input, emitter, context) {\n if(context.getLookup('blacklist').lookup(input.id) != null) {\n emitter.emitError({\"errorCode\":31, \"errorMsg\":\"blacklisted id\", \"invalidRecord\": input}); \n } else {\n if(input.count < 0) {\n context.getMetrics().count(\"negative.count\", 1);\n context.getLogger().debug(\"Received record with negative count\");\n }\n input.count = input.count * 1024;\n emitter.emit(input); } \n}'\nwill emit an error if the input id is present in blacklist table, else scale the 'count' field by 1024",
591 "macroSupported": false
595 "description": "Lookup tables to use during transform. Currently supports KeyValueTable.",
598 "macroSupported": false
601 "implicitSchema": null,
602 "outputSchemaProperty": "schema",
603 "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":\"string\"},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
607 "name": "SimpleTCAPlugin",
608 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"
611 "errorDatasetName": ""
614 "draftId": "26c03fab-253e-42f3-94e8-575dc1501036"
617 "name": "SimpleTCAPluginFullPipeLine",
629 "from": "DMaaPMRSource",
630 "to": "JsonPathFilter"
633 "from": "JsonPathFilter",
634 "to": "JavaScriptJsonPathFilter"
637 "from": "JavaScriptJsonPathFilter",
638 "to": "SimpleTCAPlugin"
641 "from": "SimpleTCAPlugin",
642 "to": "TCAMessageStatusTable"
645 "from": "SimpleTCAPlugin",
649 "from": "JavaScript2",
657 "name": "DMaaPMRSource",
659 "name": "DMaaPMRSource",
660 "type": "streamingsource",
661 "label": "DMaaPMRSource",
663 "name": "dcae-analytics-cdap-plugins",
664 "version": "3.0-SNAPSHOT",
668 "referenceName": "DMaaPMRSource",
669 "hostName": "zldcmtc1njmsrt00.homer.com",
670 "portNumber": "3905",
671 "topicName": "com.dcae.dmaap.FTL.DcaeTestVESSub",
672 "pollingInterval": "20000",
675 "userPassword": "PASSWORD",
676 "contentType": "application/json",
678 "consumerGroup": "OpenDCAE-G1"
681 "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
684 "name": "JsonPathFilter",
686 "name": "JsonPathFilter",
688 "label": "JsonPathFilter",
690 "name": "dcae-analytics-cdap-plugins",
691 "version": "3.0-SNAPSHOT",
695 "referenceName": "JsonPathFilter",
696 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}",
697 "jsonFilterMappings": "$.event.commonEventHeader.domain:measurementsForVfScaling,$.event.commonEventHeader.functionalRole:vLoadBalancer;vFirewall",
698 "incomingJsonFieldName": "message",
699 "outputSchemaFieldName": "filterMatched"
702 "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}",
705 "name": "DMaaPMRSource",
706 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
711 "name": "JavaScriptJsonPathFilter",
713 "name": "JavaScript",
715 "label": "JavaScriptJsonPathFilter",
717 "name": "core-plugins",
722 "script": "function transform(input, emitter, context) {\n \n var filterMatched = input.filterMatched;\n var log = context.getLogger();\n var metrics = context.getMetrics();\n \n log.debug('Received filterMatched: ' + filterMatched);\n \n // if matched filter push message for TCA\n if(filterMatched) {\n \n log.debug('Json Filter matched - pushing to TCA');\n metrics.count('js.tca.pushed', 1);\n emitter.emit(input);\n \n \n // if matched unsuccessfull - no need to do TCA\n } else {\n \n log.debug('Json Filter unmatched - dropping message');\n metrics.count('js.tca.dropped', 1); \n\n }\n \n \n}",
723 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
726 "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}",
729 "name": "JsonPathFilter",
730 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
735 "name": "SimpleTCAPlugin",
737 "name": "SimpleTCAPlugin",
738 "type": "sparkcompute",
739 "label": "SimpleTCAPlugin",
741 "name": "dcae-analytics-cdap-plugins",
742 "version": "3.0-SNAPSHOT",
746 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
747 "policyJson": "{\"domain\":\"measurementsForVfScaling\",\"metricsPerFunctionalRole\":[{\"functionalRole\":\"vFirewall\",\"policyScope\":\"resource=vFirewall;type=configuration\",\"policyName\":\"configuration.dcae.microservice.tca.xml\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn\",\"thresholdValue\":4000,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\"},{\"closedLoopControlName\":\"CL-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn\",\"thresholdValue\":20000,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\"}]},{\"functionalRole\":\"vLoadBalancer\",\"policyScope\":\"resource=vLoadBalancer;type=configuration\",\"policyName\":\"configuration.dcae.microservice.tca.xml\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn\",\"thresholdValue\":500,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\"},{\"closedLoopControlName\":\"CL-LBAL-LOW-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn\",\"thresholdValue\":5000,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\"}]}]}",
748 "vesMessageFieldName": "message",
749 "alertFieldName": "alert",
750 "messageTypeFieldName": "tcaMessageType",
751 "referenceName": "SimpleTCAPlugin",
752 "enableAlertCEFFormat": "false"
755 "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
758 "name": "JavaScriptJsonPathFilter",
759 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
764 "name": "TCAMessageStatusTable",
768 "label": "TCAMessageStatusTable",
770 "name": "core-plugins",
775 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
776 "name": "TCAMessageStatusTable",
777 "schema.row.field": "ts"
780 "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
783 "name": "SimpleTCAPlugin",
784 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"
789 "name": "JavaScript2",
791 "name": "JavaScript",
793 "label": "JavaScript2",
795 "name": "core-plugins",
800 "script": "function transform(input, emitter, context) {\n \n var alert = input.alert;\n var log = context.getLogger();\n var metrics = context.getMetrics();\n \n log.debug('Received alert: ' + alert)\n \n \n // if alert is null then drop the message\n if(alert == null) {\n \n log.debug('No Alert Found - Dropping incoming record');\n metrics.count('js.alerts.dropped', 1);\n \n \n // if alert is not null push message to next plugin\n } else {\n \n log.debug('Found Alert - Pushing record to next Plugin');\n metrics.count('js.alerts.pushed', 1);\n \n emitter.emit(input);\n\n }\n \n}",
801 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":\"string\"},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"
804 "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":\"string\"},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}",
807 "name": "SimpleTCAPlugin",
808 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":[\"string\",\"null\"]},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"
813 "name": "DMaaPMRSink",
815 "name": "DMaaPMRSink",
817 "label": "DMaaPMRSink",
819 "name": "dcae-analytics-cdap-plugins",
820 "version": "3.0-SNAPSHOT",
824 "referenceName": "DMaaPMRSink",
825 "hostName": "zldcmtc1njmsrt00.homer.com",
826 "portNumber": "3905",
827 "topicName": "com.dcae.dmaap.FTL.DcaeTestVESPub",
830 "userPassword": "PASSWORD",
831 "contentType": "application/json",
832 "messageColumnName": "alert",
836 "outputSchema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":\"string\"},{\"name\":\"tacMessageType\",\"type\":\"string\"}]}",
839 "name": "JavaScript2",
840 "schema": "{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"ts\",\"type\":\"long\"},{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]},{\"name\":\"responseCode\",\"type\":\"int\"},{\"name\":\"responseMessage\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"},{\"name\":\"alert\",\"type\":\"string\"},{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"
845 "batchInterval": "60s"