summaryrefslogtreecommitdiffstats
path: root/tools/performance/cloud/snapshot-loader
diff options
context:
space:
mode:
Diffstat (limited to 'tools/performance/cloud/snapshot-loader')
-rw-r--r--tools/performance/cloud/snapshot-loader/.gitignore1
-rw-r--r--tools/performance/cloud/snapshot-loader/docker-compose.yml25
-rw-r--r--tools/performance/cloud/snapshot-loader/grafana/dashboards-providers/dashboard-providers.yaml10
-rw-r--r--tools/performance/cloud/snapshot-loader/grafana/datasources/prometheus.yaml11
-rwxr-xr-xtools/performance/cloud/snapshot-loader/load-snapshot.sh70
-rw-r--r--tools/performance/cloud/snapshot-loader/prometheus.yml4
6 files changed, 121 insertions, 0 deletions
diff --git a/tools/performance/cloud/snapshot-loader/.gitignore b/tools/performance/cloud/snapshot-loader/.gitignore
new file mode 100644
index 00000000..9522d705
--- /dev/null
+++ b/tools/performance/cloud/snapshot-loader/.gitignore
@@ -0,0 +1 @@
+current-snapshot
diff --git a/tools/performance/cloud/snapshot-loader/docker-compose.yml b/tools/performance/cloud/snapshot-loader/docker-compose.yml
new file mode 100644
index 00000000..7a73d35f
--- /dev/null
+++ b/tools/performance/cloud/snapshot-loader/docker-compose.yml
@@ -0,0 +1,25 @@
+version: "3.5"
+services:
+ prometheus:
+ image: prom/prometheus
+ command: "--storage.tsdb.path=/snapshot/current-snapshot/ --config.file=/etc/prometheus/prometheus.yml"
+ user: root
+ ports:
+ - "9090:9090"
+ volumes:
+ - ./current-snapshot/:/snapshot/current-snapshot/
+ - ./prometheus.yml:/etc/prometheus/prometheus.yml
+
+ grafana:
+ image: grafana/grafana
+ ports:
+ - "3000:3000"
+ environment:
+ GF_AUTH_DISABLE_LOGIN_FORM: "true"
+ GF_AUTH_DISABLE_SIGNOUT_MENU: "true"
+ GF_AUTH_ANONYMOUS_ENABLED: "true"
+ GF_AUTH_ANONYMOUS_ORG_ROLE: "Admin"
+ volumes:
+ - ./grafana/datasources:/etc/grafana/provisioning/datasources
+ - ./grafana/dashboards-providers:/etc/grafana/provisioning/dashboards
+ - ../grafana/dashboards:/var/lib/grafana/dashboards/hv-ves
diff --git a/tools/performance/cloud/snapshot-loader/grafana/dashboards-providers/dashboard-providers.yaml b/tools/performance/cloud/snapshot-loader/grafana/dashboards-providers/dashboard-providers.yaml
new file mode 100644
index 00000000..78da55c9
--- /dev/null
+++ b/tools/performance/cloud/snapshot-loader/grafana/dashboards-providers/dashboard-providers.yaml
@@ -0,0 +1,10 @@
+apiVersion: 1
+
+providers:
+- name: 'hv-ves-dashboards'
+ folder: ''
+ type: file
+ disableDeletion: false
+ updateIntervalSeconds: 10
+ options:
+ path: /var/lib/grafana/dashboards/hv-ves \ No newline at end of file
diff --git a/tools/performance/cloud/snapshot-loader/grafana/datasources/prometheus.yaml b/tools/performance/cloud/snapshot-loader/grafana/datasources/prometheus.yaml
new file mode 100644
index 00000000..80717b08
--- /dev/null
+++ b/tools/performance/cloud/snapshot-loader/grafana/datasources/prometheus.yaml
@@ -0,0 +1,11 @@
+apiVersion: 1
+
+datasources:
+- name: Prometheus
+ type: prometheus
+ access: proxy
+ url: http://prometheus:9090
+ isDefault: true
+ editable: true
+ jsonData:
+ timeInterval: '5s'
diff --git a/tools/performance/cloud/snapshot-loader/load-snapshot.sh b/tools/performance/cloud/snapshot-loader/load-snapshot.sh
new file mode 100755
index 00000000..986c3c7f
--- /dev/null
+++ b/tools/performance/cloud/snapshot-loader/load-snapshot.sh
@@ -0,0 +1,70 @@
+#!/usr/bin/env bash
+# ============LICENSE_START=======================================================
+# dcaegen2-collectors-veshv
+# ================================================================================
+# Copyright (C) 2020 NOKIA
+# ================================================================================
+# 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=========================================================
+
+SNAPSHOT_PATH=$1
+OPEN=$2
+if [ ! -d $SNAPSHOT_PATH ] || [ -v $SNAPSHOT_PATH ]; then
+ echo "Usage: ./load-snapshot.sh <PATH-TO-SNAPSHOT>"
+ echo "To automatically open links use: ./load-snapshot.sh <PATH-TO-SNAPSHOT> -o"
+ echo "Important: path to snapshot must point to prometheus timestamped folder"
+ echo "Example: ~/prometheus-snapshot/20200409T123412Z-2e3108dabb158644"
+ exit 1
+fi
+
+docker-compose down > /dev/null 2> /dev/null
+mkdir -p current-snapshot
+rm -rf current-snapshot > /dev/null 2> /dev/null
+cp -r $SNAPSHOT_PATH/* ./current-snapshot/
+docker-compose up -d
+
+echo "Waiting for Grafana up..."
+sleep 10
+
+TIME=$(echo $SNAPSHOT_PATH | sed -r 's/(.*)Z-.*/\1/')
+TIME=$(echo $TIME | sed -r 's/.*\/(.*)/\1/')
+TIME=$(echo $TIME | sed -r 's/(.*)T(..)(..)(..)/\1 \2:\3:\4/')
+
+EPOCH_END=$(date +'%s' -u -d "$TIME")
+EPOCH_DIFF_20MIN=1200
+EPOCH_START=$(expr $EPOCH_END - $EPOCH_DIFF_20MIN)
+URL_TIME_ARG="from=${EPOCH_START}000&to=${EPOCH_END}000"
+
+GRAFANA_BASE_URL="http://localhost:3000/d/"
+PROCESSING_DASHBOARD_URL=${GRAFANA_BASE_URL}"V94Kjlwmz/hv-ves-processing?orgId=1&"${URL_TIME_ARG}
+PERFORMANCE_DASHBOARD_URL=${GRAFANA_BASE_URL}"ErPSMaIZk/performance-tests?orgId=1&"${URL_TIME_ARG}
+KAFKA_PRODUCERS_DASHBOARD_URL=${GRAFANA_BASE_URL}"-28uHcjZk/kafka-and-producers-statistics?orgId=1&"${URL_TIME_ARG}
+K8S_DASHBOARD_URL=${GRAFANA_BASE_URL}"RxjnWpjZk/k8s-metrics?orgId=1&"${URL_TIME_ARG}
+CONNECTIONS_DASHBOARD_URL=${GRAFANA_BASE_URL}"bAy7xlwmk/hv-ves-connections?orgId=1&"${URL_TIME_ARG}
+LATENCIES_DASHBOARD_URL=${GRAFANA_BASE_URL}"k22_V1qZk/latencies?orgId=1&"${URL_TIME_ARG}
+echo "Dashboards:"
+echo "HV-VES Processing:" ${PROCESSING_DASHBOARD_URL}
+echo "Performance:" ${PERFORMANCE_DASHBOARD_URL}
+echo "Kafka and producers statistics:" ${KAFKA_PRODUCERS_DASHBOARD_URL}
+echo "K8s Metrics:" ${K8S_DASHBOARD_URL}
+echo "Connections:" ${CONNECTIONS_DASHBOARD_URL}
+echo "Latencies:" ${LATENCIES_DASHBOARD_URL}
+
+if [ "$OPEN" == "-o" ]; then
+ xdg-open ${PROCESSING_DASHBOARD_URL}
+ xdg-open ${PERFORMANCE_DASHBOARD_URL}
+ xdg-open ${KAFKA_PRODUCERS_DASHBOARD_URL}
+ xdg-open ${K8S_DASHBOARD_URL}
+ xdg-open ${CONNECTIONS_DASHBOARD_URL}
+ xdg-open ${LATENCIES_DASHBOARD_URL}
+fi
diff --git a/tools/performance/cloud/snapshot-loader/prometheus.yml b/tools/performance/cloud/snapshot-loader/prometheus.yml
new file mode 100644
index 00000000..5239adc3
--- /dev/null
+++ b/tools/performance/cloud/snapshot-loader/prometheus.yml
@@ -0,0 +1,4 @@
+global:
+ scrape_interval: 5s
+ external_labels:
+ monitor: 'my-monitor'