Here is an overview of how you can deploy Promitor.

For more information about advanced configuration, read our documentation here.

Docker

❯ docker run -d -p 8999:80 --name promitor-agent-scraper \
                           --env PROMITOR_AUTH_APPID='<azure-ad-app-id>' \
                           --env-file C:/Promitor/az-mon-auth.creds \
                           --volume C:/Promitor/metrics-declaration.yaml:/config/metrics-declaration.yaml \ 
                           tomkerkhove/promitor-agent-scraper:1.0.0-preview-7

Kubernetes

We provide a Helm Chart which deploys all the required infrastructure on your Kubernetes cluster.

Getting the Helm Chart

Install the Promitor Chart repository:

❯ helm repo add promitor https://promitor.azurecr.io/helm/v1/repo

If all goes well you should be able to list all Promitor charts:

❯ helm search promitor/
NAME                            CHART VERSION   APP VERSION      DESCRIPTION
promitor/promitor-agent-scraper 0.1.0           1.0.0-preview-7  A Helm chart to deploy Promitor, an Azure Monitor scraper...

Using our Helm Chart

To use this, you will need to provide parameters via --set or --values. Included here are the values that correspond with the local environment variables. In addition to these, you will need a metric declaration file as described in Metric Declaration.

azureAuthentication:
  # PROMITOR_AUTH_APPID (Required)
  appId: "<azure-ad-app-id>"
  # PROMITOR_AUTH_APPKEY (Required)
  appKey: "<azure-ad-app-key>"

scrapeConfig:
  # PROMITOR_SCRAPE_BASEPATH (Optional, default is shown)
  path: /metrics
  # PROMITOR_FEATURE_METRICSTIMESTAMP (Optional, default is shown)
  timestamp: True

telemetry:
  # PROMITOR_TELEMETRY_INSTRUMENTATIONKEY (Optional)
  appInsightsKey: "<azure-app-insights-key>"

Check the full values file to see all configurable values.

If you have a metric-declaration.yaml file, you can create a basic deployment with this command:

❯ helm install --name promitor-agent-scraper promitor/promitor-agent-scraper \
               --set azureAuthentication.appId='<azure-ad-app-id>' \
               --set azureAuthentication.appKey='<azure-ad-app-key>' \
               --values /path/to/metric-declaration.yaml

Image Tagging Strategy

Depending on your scenario you might need a different update cadence for Docker dependencies.

We provide a few options by offering multiple Docker tags:

Image Tagging Strategy

You can also pin to a specific digest of an image to ensure that you are running the same image across your infrastructure. However, you will not receive security patches unless you use a tool like Renovate to keep them up-to-date.

← back