VidiEditor offers following monitoring possibilities:

  • Health Check API Endpoint that can be pulled to request VidiEditor’s status. This API call can be used to ping the status and version of VidiEditor’s installation:

http://ServerName:Port/api/Status

Alternatively, Swagger can be used:

GET: http://ServerName:Port/swagger/index.html#/Status/HealthState

  • The interface for Prometheus Metrics is used to build KPI’s using Grafana. This allows one to build Grafana dashboards visualizing different KPI’s based on metrics the VidiEditor aggregates. The aggregated data can be fetched using following API route:

GET: http://Servername:Port/metrics

A sample result is shown below:

At the moment, metrics data exposed from VidiEditor are the ones with these prefixes:

  • VIDIEDITOR_xx

  • http_xx

  • dotnet_xx

  • process_xx

You can freely choose which metric data you want to visualize in the dashboard to monitor the application.
Here is a sample of a dashboard in Grafana with VidiEditor metrics data.

How to configure VidiEditor as a target in Prometheus

After you have Prometheus server up and running, you can configure Prometheus to monitor VidiEditor as one of the targets. Add VidiEditor’s endpoint into 'static_configs' in 'scrape_configs' section in your prometheus.yml and restart your Prometheus instance as shown in the sample below:

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'
  
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']

  - job_name: 'VidiEditor
    # The HTTP resource path on which to fetch metrics from targets.
    metrics_path: /metrics
    static_configs:
    - targets: ['ServerName:Port']
CODE

How to add Prometheus metrics into Grafana:

  1. Once in Grafana, click on the "cogwheel" in the sidebar to open the Configuration menu.

  2. Click on "Data Sources".

  3. Click on "Add data source".

  4. Select "Prometheus" as the type.

  5. Set the appropriate Prometheus server URL (for example, http://localhost:9090/)

  6. Adjust other data source settings as desired (for example, choosing the right Access method).

  7. Click "Save & Test" to save the new data source.

Info from Grafana’s site: https://prometheus.io/docs/visualization/grafana/#creating-a-prometheus-data-source