From b2c8bc6b9bfd502be01e524c24628fcd10b1e177 Mon Sep 17 00:00:00 2001 From: ToineSiebelink Date: Tue, 7 Feb 2023 10:30:03 +0000 Subject: [PATCH] Introducing Grafana - 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 Change-Id: I5d7365a3f789cc698e2702d72700a002cf03eaef --- csit/plans/cps/setup.sh | 6 ++--- docker-compose/docker-compose.yml | 49 +++++++++++++++++++++++++++++++++++++-- docker-compose/prometheus.yml | 10 ++++++++ 3 files changed, 60 insertions(+), 5 deletions(-) create mode 100644 docker-compose/prometheus.yml diff --git a/csit/plans/cps/setup.sh b/csit/plans/cps/setup.sh index c715da142f..e7ad67e2b6 100755 --- a/csit/plans/cps/setup.sh +++ b/csit/plans/cps/setup.sh @@ -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" diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index dd7749ac58..08929ab222 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -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 index 0000000000..30f7c837f1 --- /dev/null +++ b/docker-compose/prometheus.yml @@ -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'] -- 2.16.6