Introducing Grafana 91/133191/3
authorToineSiebelink <toine.siebelink@est.tech>
Tue, 7 Feb 2023 10:30:03 +0000 (10:30 +0000)
committerToineSiebelink <toine.siebelink@est.tech>
Wed, 15 Feb 2023 08:43:26 +0000 (08:43 +0000)
- Added profiles to docker compose: dmi-service/dmi-stub, monitoring
- NOTE: now need to add  '--profile dmi-service' to enable dm-plugin (e.g. for csit)
- using container names to resolve hosts for prometheus

Issue-ID: CPS-1465

Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: I5d7365a3f789cc698e2702d72700a002cf03eaef

csit/plans/cps/setup.sh
docker-compose/docker-compose.yml
docker-compose/prometheus.yml [new file with mode: 0644]

index c715da1..e7ad67e 100755 (executable)
@@ -63,8 +63,8 @@ curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compos
 chmod +x docker-compose
 docker-compose version
 
-# start CPS/NCMP, DMI, and PostgreSQL containers with docker compose
-docker-compose up -d
+# start CPS/NCMP, DMI Plugin, and PostgreSQL containers with docker compose
+docker-compose --profile dmi-service up -d
 
 ###################### setup sdnc #######################################
 source $WORKSPACE/plans/cps/sdnc/sdnc_setup.sh
@@ -129,4 +129,4 @@ check_health $DMI_HOST:$DMI_MANAGEMENT_PORT 'dmi-plugin'
 
 ###################### ROBOT Configurations ##########################
 # Pass variables required for Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v CPS_CORE_HOST:$CPS_CORE_HOST -v CPS_CORE_PORT:$CPS_CORE_PORT -v DMI_HOST:$LOCAL_IP -v DMI_PORT:$DMI_PORT -v CPS_CORE_MANAGEMENT_PORT:$CPS_CORE_MANAGEMENT_PORT -v DATADIR:$WORKSPACE/data --exitonfailure"
\ No newline at end of file
+ROBOT_VARIABLES="-v CPS_CORE_HOST:$CPS_CORE_HOST -v CPS_CORE_PORT:$CPS_CORE_PORT -v DMI_HOST:$LOCAL_IP -v DMI_PORT:$DMI_PORT -v CPS_CORE_MANAGEMENT_PORT:$CPS_CORE_MANAGEMENT_PORT -v DATADIR:$WORKSPACE/data --exitonfailure"
index dd7749a..08929ab 100644 (file)
@@ -18,7 +18,8 @@
 
 services:
 
-  ### docker-compose up -d -> run ALL services ###
+  ### docker-compose --profile dmi-service up -d -> run CPS services incl. dmi-plugin ###
+  ### docker-compose --profile dmi-stub --profile monitoring up -d -> run CPS with stubbed dmi-plugin (for registration performance testing)
   ### to disable notifications make notification.enabled to false & comment out kafka/zookeeper services ###
 
   dbpostgresql:
@@ -83,7 +84,6 @@ services:
       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
       KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
 
-  ### Comment out this section if dmi plugin is not required ###
   ncmp-dmi-plugin:
     container_name: ncmp-dmi-plugin
     image: ${DOCKER_REPO:-nexus3.onap.org:10003}/onap/ncmp-dmi-plugin:${DMI_VERSION:-1.3.0-SNAPSHOT-latest}
@@ -108,6 +108,20 @@ services:
       notification.data-updated.enabled: 'true'
       NOTIFICATION_DATASPACE_FILTER_PATTERNS: '.*'
     restart: unless-stopped
+    profiles:
+      - dmi-service
+
+  ncmp-dmi-plugin-stub:
+    container_name: ncmp-dmi-plugin-stub
+    image: wiremock/wiremock:2.33.2
+    ports:
+      - ${DMI_PORT:-8783}:8080
+    volumes:
+      - ../dmi-plugin-perf-stub/mappings:/home/wiremock/mappings
+      - ../dmi-plugin-perf-stub/files:/home/wiremock/__files
+    restart: unless-stopped
+    profiles:
+      - dmi-stub
 
   init-db:
     build: ${CPS_HOME:-.}/docker-compose/initfile
@@ -119,3 +133,34 @@ services:
     depends_on:
       cps-and-ncmp:
         condition: service_started
+
+  prometheus:
+    container_name: prometheus-container
+    image: prom/prometheus:latest
+    ports:
+      - 9090:9090
+    restart: always
+    volumes:
+      - ./prometheus.yml:/etc/prometheus/prometheus.yml
+    profiles:
+      - monitoring
+
+  grafana:
+    image: grafana/grafana-oss:latest
+    user: ""
+    container_name: grafana-container
+    depends_on:
+      prometheus:
+        condition: service_started
+    ports:
+      - 3000:3000
+    volumes:
+      - grafana:/var/lib/grafana
+    environment:
+      - GF_SECURITY_ADMIN_PASSWORD=admin
+      - GF_SERVER_DOMAIN:localhost
+    profiles:
+      - monitoring
+
+volumes:
+  grafana:
diff --git a/docker-compose/prometheus.yml b/docker-compose/prometheus.yml
new file mode 100644 (file)
index 0000000..30f7c83
--- /dev/null
@@ -0,0 +1,10 @@
+global:
+  scrape_interval: 5s
+  evaluation_interval: 5s
+
+scrape_configs:
+  - job_name: 'cps-and-ncm'
+    metrics_path: '/manage/prometheus'
+    scrape_interval: 5s
+    static_configs:
+      - targets: ['cps-and-ncmp:8081']