Accelerate the PrometheusExporter data retrieval time - IBM/ibm-spectrum-scale-bridge-for-grafana GitHub Wiki

By default, the PrometheusExporter exposes the original values from the platform alongside the timestamps at which they were measured. However, this can slow down a ZIMON query due to the amount of data that needs to be transferred and formatted.

You can reduce the execution time by setting rawCounters to False in the config.ini file.

Note that in this case, the exposed timestamps will represent the time at which the value was added to a delta counter bucket.

Example:

Query result by rawCounters set to False. Timestamp set to first time point of a bucket period.

# date; echo "get group GPFSmmhealth from gpfs_health_component=GUI bucket_size 30 last 1" | /opt/IBM/zimon/zc
Tue May 27 09:51:21 PM CEST 2025
1:      scale-11|GPFSmmhealth|GUI|-|gpfs_health_detail_status
2:      scale-11|GPFSmmhealth|GUI|-|gpfs_health_error_events
3:      scale-11|GPFSmmhealth|GUI|-|gpfs_health_status
4:      scale-11|GPFSmmhealth|GUI|-|gpfs_health_warning_events
Row     Timestamp               gpfs_health_detail_status       gpfs_health_error_events        gpfs_health_status      gpfs_health_warning_events
1       2025-05-27 21:51:00     20      0       20      1
.

The output below shows the original values from the platform.

# date; echo "get group -z GPFSmmhealth from gpfs_health_component=GUI bucket_size 30 last 30" | /opt/IBM/zimon/zc
Tue May 27 09:51:16 PM CEST 2025
1:      scale-11|GPFSmmhealth|GUI|-|gpfs_health_detail_status
2:      scale-11|GPFSmmhealth|GUI|-|gpfs_health_error_events
3:      scale-11|GPFSmmhealth|GUI|-|gpfs_health_status
4:      scale-11|GPFSmmhealth|GUI|-|gpfs_health_warning_events
Row     Timestamp               gpfs_health_detail_status       gpfs_health_error_events        gpfs_health_status      gpfs_health_warning_events
1       2025-05-27 21:50:46     null    null    null    null
2       2025-05-27 21:50:47     null    null    null    null
3       2025-05-27 21:50:48     null    null    null    null
4       2025-05-27 21:50:49     null    null    null    null
5       2025-05-27 21:50:50     null    null    null    null
6       2025-05-27 21:50:51     null    null    null    null
7       2025-05-27 21:50:52     null    null    null    null
8       2025-05-27 21:50:53     null    null    null    null
9       2025-05-27 21:50:54     null    null    null    null
10      2025-05-27 21:50:55     null    null    null    null
11      2025-05-27 21:50:56     null    null    null    null
12      2025-05-27 21:50:57     null    null    null    null
13      2025-05-27 21:50:58     null    null    null    null
14      2025-05-27 21:50:59     null    null    null    null
15      2025-05-27 21:51:00     null    null    null    null
16      2025-05-27 21:51:01     null    null    null    null
17      2025-05-27 21:51:02     null    null    null    null
18      2025-05-27 21:51:03     null    null    null    null
19      2025-05-27 21:51:04     null    null    null    null
20      2025-05-27 21:51:05     null    null    null    null
21      2025-05-27 21:51:06     null    null    null    null
22      2025-05-27 21:51:07     null    null    null    null
23      2025-05-27 21:51:08     null    null    null    null
24      2025-05-27 21:51:09     20      0       20      1
25      2025-05-27 21:51:10     null    null    null    null
26      2025-05-27 21:51:11     null    null    null    null
27      2025-05-27 21:51:12     null    null    null    null
28      2025-05-27 21:51:13     null    null    null    null
29      2025-05-27 21:51:14     null    null    null    null
30      2025-05-27 21:51:15     null    null    null    null
.

Another limitation is that sensors including 'increasing counters' metric types will still run in rawCounters mode. This is because a bucket returns a delta value for an increasing counter, which Prometheus will misinterpret.

Grafana-bridge automatically manages which sensors need to be exposed as rawCounters and which can be switched to bucket delta mode.

If any troubleshooting is required, you can verify the metric types using the HTTP REST API endpoint /metadata/sensormetrics.

If you are running grafana-bridge in a container, you can disable raw counters by using the environment variable "RAWCOUNTERS=False" when deploying the pod.

# podman run -dt -p 4242:4242,9250:9250 -e "SERVER=9.1XX.XXX.XX4" -e "APIKEYVALUE=25561963-29bb-4d7c-85fb-cdea55dd2ae5" -e "PORT=4242" -e "PROMETHEUS=9250" -e "PROTOCOL=http" -e "BASICAUTH=True" -e "BASICAUTHUSER=scale_admin" -e "BASICAUTHPASSW=TXlWZXJ5U3Ryb25nUGFzc3cwcmQhCg==" -e "LOGLEVEL=5" -e "RAWCOUNTERS=False" -v /tmp:/var/log/ibm_bridge_for_grafana --mount type=bind,src=/home/zimon/ZIMonSensors.cfg,target=/opt/IBM/zimon/ZIMonSensors.cfg,ro=true --tz CET --pod new:my-bridge-basic-test-pod --name bridge-basic-test scale_bridge:test_8.0.6