...
The below steps covers manual setup of DCAE VM’s and DCAE service components.
VESCollector
DCAE VES Collector can be configured on VM with ubuntu-16.04 image (m1.small should suffice if this is only service) and 20Gb cinder storage
...
sudo docker login -u docker -p docker nexusnexus3.onap.org:10001
sudo docker pull nexusnexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:v1.1.0
...
sudo docker run -d --name vescollector -p 8080:8080/tcp -p 8443:8443/tcp -P -e DMAAPHOST='<dmaap IP>' nexusnexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:v1.1.10
Note: Change the dmaaphost to required DMAAP ip. To change the dmaap information for a running container, stop the active container and rerun above command changing the dmaap IP.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
#!/bin/sh sudo docker ps | grep "vescollector" if [ $? -ne 0 ]; then sudo docker login -u docker -p docker nexusnexus3.onap.org:10001 sudo docker pull nexusnexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.1 sudo docker rm -f vescollector echo "Collector process not running - $(date)" >> /home/ubuntu/startuplog sudo docker run -d --name vescollector -p 8080:8080/tcp -p 8443:8443/tcp -P -e DMAAPHOST='10.12.25.96' nexusnexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:v1.1.10 else echo "Collector process running - $(date)" >> /home/ubuntu/startuplog fi |
...
sudo update-rc.d init.sh start 2
...
ThresholdCrossingAnalysis (TCA/CDAP)
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "artifact": { "name": "dcae-analytics-cdap-tca", "version": "2.0.01", "scope": "user" }, "config": { "appName": "dcae-tca", "appDescription": "DCAE Analytics Threshold Crossing Alert Application", "tcaVESMessageStatusTableName": "TCAVESMessageStatusTable", "tcaVESMessageStatusTableTTLSeconds": 86400.0, "tcaAlertsAbatementTableName": "TCAAlertsAbatementTable", "tcaAlertsAbatementTableTTLSeconds": 1728000.0, "tcaVESAlertsTableName": "TCAVESAlertsTable", "tcaVESAlertsTableTTLSeconds": 1728000.0, "thresholdCalculatorFlowletInstances": 2.0, "tcaSubscriberOutputStreamName": "TCASubscriberOutputStream" } } |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "publisherContentType" : "application/json", "publisherHostName" : "10.12.25.96", "publisherHostPort" : "3904", "publisherMaxBatchSize" : "1", "publisherMaxRecoveryQueueSize" : "100000", "publisherPollingInterval" : "20000", "publisherProtocol" : "http", "publisherTopicName" : "unauthenticated.DCAE_CL_OUTPUT", "subscriberConsumerGroup" : "OpenDCAE-c1", "subscriberConsumerId" : "c1", "subscriberContentType" : "application/json", "subscriberHostName" : "10.12.25.96", "subscriberHostPort" : "3904", "subscriberMessageLimit" : "-1", "subscriberPollingInterval" : "20000", "subscriberProtocol" : "http", "subscriberTimeoutMS" : "-1", "subscriberTopicName" : "unauthenticated.SEC_MEASUREMENT_OUTPUT", "enableAAIEnrichment" : false, "aaiEnrichmentHost" : "10.12.25.72", "aaiEnrichmentPortNumber" : 8443, "aaiEnrichmentProtocol" : "https", "aaiEnrichmentUserName" : "DCAE", "aaiEnrichmentUserPassword" : "DCAE", "aaiEnrichmentIgnoreSSLCertificateErrors" : falsetrue, "aaiVNFEnrichmentAPIPath" : "/aai/v11/network/generic-vnfs/generic-vnf", "aaiVMEnrichmentAPIPath" : "/aai/v11/search/nodes-query", "tca_policy" : "{ \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [{ \"eventName\": \"vFirewallBroadcastPackets\", \"controlLoopSchemaType\": \"VNF\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": 300, \"direction\": \"LESS_OR_EQUAL\", \"severity\": \"MAJOR\", \"closedLoopEventStatus\": \"ONSET\" }, { \"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": 700, \"direction\": \"GREATER_OR_EQUAL\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" }] }, { \"eventName\": \"vLoadBalancer\", \"controlLoopSchemaType\": \"VM\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": 300, \"direction\": \"GREATER_OR_EQUAL\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" }] }, { \"eventName\": \"Measurement_vGMUX\", \"controlLoopSchemaType\": \"VNF\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": 0, \"direction\": \"EQUAL\", \"severity\": \"MAJOR\", \"closedLoopEventStatus\": \"ABATED\" }, { \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": 0, \"direction\": \"GREATER\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" }] }] }" } |
Note: Dmaap configuration are specified on this file on publisherHostName and subscriberHostName. To be changed as required**
6 a) To enable AAI Enrichment in TCA for CL event, following updates should be done to TCA app preference file before proceeding
"enableAAIEnrichment" : true
"aaiEnrichmentHost" : <should be set to aai1_ip_addr>
"aaiEnrichmentIgnoreSSLCertificateErrors" : true
7) Copy below script to CDAP server (this gets latest image from nexus and deploys TCA application) and execute it
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
#!/bin/sh TCA_JAR=dcae-analytics-cdap-tca-2.0.0.jar rm -f /home/ubuntu/$TCA_JAR cd /home/ubuntu/ wget https://nexusnexus3.onap.org/service/local/repositories/stagingreleases/content/org/onap/dcaegen2/analytics/tca/dcae-analytics-cdap-tca/2.0.0/$TCA_JAR if [ $? -eq 0 ]; then if [ -f /home/ubuntu/$TCA_JAR ]; then echo "Restarting TCA CDAP application using $TCA_JAR artifact" else echo "ERROR: $TCA_JAR missing" exit 1 fi else echo "ERROR: $TCA_JAR not found in nexus" exit 1 fi # stop programs curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRPublisherWorker/stop curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRSubscriberWorker/stop curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/flows/TCAVESCollectorFlow/stop # delete application curl -X DELETE http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca # delete artifact curl -X DELETE http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/artifacts/dcae-analytics-cdap-tca/versions/2.0.01 # load artifact curl -X POST --data-binary @/home/ubuntu/$TCA_JAR http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/artifacts/dcae-analytics-cdap-tca # create app curl -X PUT -d @/home/ubuntu/tca_app_config.json http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca # load preferences curl -X PUT -d @/home/ubuntu/tca_app_preferences.json http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/preferences # start programs curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRPublisherWorker/start curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRSubscriberWorker/start curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/flows/TCAVESCollectorFlow/start echo # get status of programs curl http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRPublisherWorker/status curl http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRSubscriberWorker/status curl http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/flows/TCAVESCollectorFlow/status echo |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
#!/bin/sh #docker run -d --name cdap-sdk -p 11011:11011 -p 11015:11015 caskdata/cdap-standalone:4.1.2 sudo docker restart cdap-sdk-2 sleep 30 # start program curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRPublisherWorker/start curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/workers/TCADMaaPMRSubscriberWorker/start curl -X POST http://localhost:11015/v3/namespaces/cdap_tca_hi_lo/apps/dcae-tca/flows/TCAVESCollectorFlow/start |
...
This script was invoked via VM init script (rc.d).
...