Storage Components
: Object Storage (MinIO), Timeseries DB (TimescaleDB), Graph Store (Neo4j)Metrics Catalogue
: REST API that exposes stored information and data in all storagesPull-Push Metrics Pipelines
: Confluent Kafka, Prometheus, Metrics ScrapperMetrics Consumer
: Kafka Consumer which receives extracted metrics
cd config/external/k8s/workflow
cd minio/
kubectl apply -f pv.yaml
kustomize build infra | kubectl apply -f -
cd mc/
kubectl apply -f .
cd prefect/
bash make_server.sh
cd set_prefect_scripts/
kubectl apply -f deployment.yaml
cd ../
bash make_agent.sh
cd jupyter/
kubectl apply -f .
kubectl port-forward svc/console 9090:9090 -n minio-operator
kubectl describe secrets/console-sa-secret -n minio-operator
kubectl port-forward svc/prefect-server 4200:4200
kubectl port-forward svc/notebook 8888:8888
prefect deployment build flows/manage_metrics_flow.py:manage_metrics_flow -n 'manage_metrics_flow' -ib kubernetes-job/prod -sb 'remote-file-system/minio' --pool aces
prefect deployment apply manage_metrics_flow-deployment.yaml
cd config/k8s/external/storage-components
cd neo4j/standalone
bash setup.sh
cd timescaledb
kubectl apply -f .
kubectl port-forward svc/neo4j 7474:7474
kubectl port-forward svc/timescaledb 5432:5432
cd storage/timescaledb
python init_table.py
How to build Metrics catalogue dockerfile
see documentation herecd config/k8s/aces/metrics_catalogue
kubectl apply -f .
kubectl port-forward svc/metrics-catalogue 8000:8000
- Init the Metrics Management System using the following CURL API
curl -X 'GET' \
'http://localhost:8000/init' \
-H 'accept: application/json'
cd config/k8s/external/pull-push-pipeline
cd kafka
kubectl apply -f .
cd prometheus
bash setup.sh
cd prom-adapter
kubectl apply -f .
kubectl port-forward svc/control-center 9021:9021
How to build Metrics consumer dockerfile
see documentation herecd config/k8s/aces/metrics_consumer
kubectl apply -f .