Skip to main content

3.1.1 Group FileWave Report Data with Prometheus

What this does

Prometheus can aggregate fields from a FileWave Inventory Report so Grafana can display rollout counts, client-version summaries, and other grouped results.

When to use it

Create a custom Prometheus scrape job when a Grafana panel needs a count grouped by a field in an existing Inventory Report.

This workflow requires file-system access to a self-managed FileWave Server. Hosted FileWave customers should contact FileWave Technical Support for server-side configuration changes.

Configuration location

Save custom YAML jobs in /usr/local/etc/filewave/prometheus/conf.d/jobs/https on the FileWave Server. Prometheus reads jobs from this directory automatically. Sample jobs are available in /usr/local/etc/filewave/prometheus/conf.d/jobs.

Copy the closest sample and edit it carefully. YAML indentation is significant, and the report must include every field used for counting or grouping.

   
Step Example
1. Copy a sample YAML file into /usr/local/etc/filewave/prometheus/conf.d/jobs/https and give it a meaningful name. image2020-8-11_13-31-54.png
2. Choose three values for the job:
  • The Inventory Report to read.
  • The field to count. device_id is a common choice when counting devices.
  • The field to group by, such as FileWave Client version.
 
3. Open the Inventory Report and note its report ID. Confirm that the report includes the count field and the field you will group by. Report YML Config.png
4. Get the definition for the fields you want to use from the API...the easiest way is to do a curl from the command line like this: 

bash<br>curl -s -k -H "Authorization: <Base64_API_Token>" https://<my.server.address>:20445/inv/api/v1/query/<report_id> | python -mjson.tool<br>

Make sure and substitute in your values for the <Base64_API_Token>, <my.server.address> and <report_id>

You'll get a response that includes the component and the field names as shown at right
image2020-8-11_14-43-10.png
5. Edit the YAML job with the report ID, count field, and grouping field, then save it. When starting from the sample, remove the leading # only from the lines you intend to enable. image2020-8-11_14-50-19.png

Allow a minute or two for Prometheus to read the job, then confirm that the new metric is available before building the Grafana panel.