Setup Prometheus

In order to evaluate the quality gates, we have to set up monitoring to provide the needed data.

  1. Checkout the needed files.

    • If you have not yet onboarded the carts service, please execute the following commands to receive the needed files:
    git clone --branch 0.3.0 https://github.com/keptn/examples.git --single-branch
    cd ./examples/monitoring/prometheus
    
  2. In this directory, you will find scripts to deploy Prometheus in your cluster, depending on which platform you are using. These scripts will deploy Prometheus in the namespace monitoring and set up scrape job configurations for monitoring the carts service in the dev, staging, and production namespace.

For GKE and AKS, you can deploy Prometheus by calling:

  ./deployPrometheus.sh

For OpenShift, please execute:

  ./deployPrometheusOnOpenShift.sh
  namespace "monitoring" created
  configmap "prometheus-server-conf" created
  clusterrole.rbac.authorization.k8s.io "prometheus" created
  clusterrolebinding.rbac.authorization.k8s.io "prometheus" created
  deployment.extensions "prometheus-deployment" created
  service "prometheus-service" created

To verify the Prometheus installation, you can browse to the Prometheus web interface:

  1. Enable port-forwarding for the prometheus-service:
  kubectl port-forward svc/prometheus-service 8080 -n monitoring
  1. Open the URL localhost:8080/targets in your browser. Here you should see three targets for the carts service:

    Prometheus Targets

    Please note that if you have not onboarded the carts service yet, the Prometheus dashboard will report down in the state column.