Manually installing IBM Storage Scale bridge for Grafana with the RPM
You can install the IBM Storage Scale bridge for Grafana feature by using a uniquely named set of RPM packages.
On a GPFS cluster, the Grafana bridge should be installed on a pmcollector node whenever possible. Installing it on a non-gpfs pmcollector node outside the cluster is possible, but it requires additional configuration and might lead to performance issues, such as slower system response times. For security, the Grafana bridge uses HTTPS connections by default.
- Deploying an additional Grafana bridge instance on the same node
- Installing the Grafana bridge on non-scale nodes. This requires additional configuration that can impact performance.
- Environments not managed by the installation toolkit
- Grafana bridge must run on a pmcollector-node
- If installing on non-scale nodes, ensure that the minimum required Python version is installed.
- Download the Grafana bridge package with the format:
gpfs.grafana-bridge-version_release.arch.file_formatFor example:-
gpfs.grafana-bridge-9.0.1-1.noarch.rpm -
gpfs.grafana-bridge_9.0.1-1_all.deb
-
- Install the package using any of these commands:
- To install Grafana bridge on Red Hat® Enterprise Linux® 9.x x86_64 node, use the following command:
rpm -ivh gpfs.grafana-bridge-x.x.x-x.noarch.rpm - To install Grafana bridge on Ubuntu amd64 node, use the following command:
dpkg -i gpfs.grafana-bridge_x.x.x-x_all.deb
- To install Grafana bridge on Red Hat® Enterprise Linux® 9.x x86_64 node, use the following command:
- Add the following API keys to enable authenticated communication with the internal
IBM
Storage Scale performance monitoring system:
-
mmperfmon config add --apiKey scale_grafana -
mmperfmon config show --apiKey scale_grafana
-
- Update the /etc/grafanbridge/config.ini file by adding the following
section for the API key:
##################### GPFS Server ############################################### [server] # The host name or ip address of the pmcollector node server = localhost # The https port to use serverPort = 9980 # The sleep time in seconds before attempting to get metaData from the server again. # This most likely the case if the query was sent to server before it did finish the # initial startup (maximum 3 attempts) retryDelay = 60 # The name of REST HTTPS API key name apiKeyName = scale_grafana # The REST HTTPS API key value, f.e: apiKeyValue = e40960c9-de0a-4c75-bc71-0bcae6db23b2 - Reload the systemd configuration and enable the Grafana bridge service:
-
systemctl daemon-reload -
systemctl enable gpfs.grafana-bridge.service
-
- Start the Grafana bridge service:
systemctl start gpfs.grafana-bridge.service - Verify the Grafana bridge service
status:
systemctl status gpfs.grafana-bridge.serviceA sample output is as follows:gpfs.grafana-bridge.service - IBM Storage Scale bridge for Grafana Loaded: loaded (/etc/systemd/system/gpfs.grafana-bridge.service; enabled; preset: disabled) Active: active (running) since Mon 2026-03-09 11:57:56 CET; 15s ago Main PID: 2701837 (python3.12) Tasks: 15 (limit: 74669) Memory: 42.8M CPU: 2.211s CGroup: /system.slice/gpfs.grafana-bridge.service └─2701837 /usr/bin/python3.12 /opt/IBM/grafanabridge/zimonGrafanaIntf.py --configFile /etc/grafanabridge/config.ini Mar 09 11:57:56 scale-12 grafana-bridge[2701837]: Using mmpython Mar 09 11:57:57 scale-12 grafana-bridge[2701837]: All dependencies from /opt/IBM/grafanabridge/requirements.in are installed for interpreter /usr/lpp/mmfs/bin/mmpython Mar 09 11:57:57 scale-12 grafana-bridge[2701837]: TLS certs already present at /etc/grafanabridge/ssl/certs Mar 09 11:57:58 scale-12 grafana-bridge[2701837]: 2026-03-09 11:57 - MainThread - INFO - *** IBM Storage Scale bridge for Grafana - Version: 9.0.1 *** Mar 09 11:57:58 scale-12 grafana-bridge[2701837]: 2026-03-09 11:57 - MainThread - INFO - Successfully retrieved MetaData Mar 09 11:57:58 scale-12 grafana-bridge[2701837]: 2026-03-09 11:57 - MainThread - INFO - Received sensors:CPU, CTDBDBStats, CTDBStats, DiskFree, GPFSBufMgr, GPFSEXPELNODE, GPFSFilesystem, GPFSFilesystemAPI, GPFSNSDDisk, GPFSNSDFS, GPFSNSDPool, GPFSNode, GPFSNodeAPI, GPFSRPCS, GPFSTSCOM, GPFSVFSX, GPFSWaiters, GPFSmmhealth, Load, Memory, Netstat, Network, SMBGlobalStats, SMBStats, TopProc, IPFIX, GPFSDiskCap, GPFSEXPEL, GPFSFileset, GPFSInodeCap, GPFSPool, GPFSPoolCap Mar 09 11:57:58 scale-12 grafana-bridge[2701837]: 2026-03-09 11:57 - MainThread - INFO - Initial cherryPy server engine start have been invoked. Python version: 3.12.5 (main, Aug 23 2024, 00:00:00) [GCC 11.5.0 20240719 (Red Hat 11.5.0-2)], cherryPy version: 18.10.0. Mar 09 11:57:58 scale-12 grafana-bridge[2701837]: 2026-03-09 11:57 - MainThread - INFO - Registered applications: Mar 09 11:57:58 scale-12 grafana-bridge[2701837]: OpenTSDB Api listening on Grafana queries Mar 09 11:57:58 scale-12 grafana-bridge[2701837]: 2026-03-09 11:57 - MainThread - INFO - server startedIf the Grafana bridge does not start usingsystemd(systemctl), you can try starting it manually by using one of the following methods:- Run the Python
command:
/usr/bin/python3.12 /opt/IBM/grafanabridge/zimonGrafanaIntf.py --configFile /etc/grafanabridge/config.ini - Run the startup script:
/opt/IBM/grafanabridge/bridge_startup.sh
- Run the Python
command:
- Optional: To activate the Prometheus Exporter, change the settings in the Prometheus Exporter
API Connection Defaults
section:
##################### Prometheus Exporter API Connection Defaults ############# [prometheues_exporter_plugin] # Port number the bridge listening on for Prometheus server requests; prometheus = 9250 - To remove the Grafana bridge package, run one of the following commands:
-
yum remove gpfs.grafana-bridge -
rpm -e gpfs.grafana-bridge
-
Troubleshooting
This section provides information to help identify and resolve issues with the Grafana bridge.
- Review the Grafana bridge log file located
at:
/var/log/ibm_bridge_for_grafana/zserver.logThe default log level is15, as defined in/etc/grafanabridge/config.ini.
You can also set the log level from the command line:##################### Logging #################################################### [logging] # Directory where the bridge can store logs logPath = /var/log/ibm_bridge_for_grafana # log level 5 (TRACE), 10 (DEBUG), 15 (MOREINFO), 20 (INFO), 30 (WARN), # 40 (ERROR) (Default: 15) logLevel = 15 # Log file name (Default: zserver.log) # Comment out this setting if you want to print trace messages directly on the command line logFile = zserver.logpython3 /opt/IBM/grafanabridge/zimonGrafanaIntf.py --configFile /etc/grafanabridge/config.ini --logLevel LOGLEVELYou can increase the log level in
config.inior use the--logLeveloption to enable more detailed tracing, and then restart the Grafana bridge. - If the
apiKeyis not set in /etc/grafanabridge/config.ini, the Grafana bridge fails to start.A sample output is as follows:
Resolution: Uncomment and set the# /opt/IBM/grafanabridge/bridge_startup.sh Using mmpython All dependencies from /opt/IBM/grafanabridge/requirements.in are installed TLS certs already present at /etc/grafanabridge/ssl/certs Missing mandatory ApiKey settings, quittingapiKeyfield in/etc/grafanabridge/config.ini(refer to Step 4), and then restart the Grafana bridge by usingsystemctl restart gpfs.grafana-bridge.service - If required dependencies from
/opt/IBM/grafanabridge/requirements.inare missing, you get a sample output as follows:
Resolution: Install the required dependencies by running:mmpython not found, falling back to system Python Auto-selected python version: 3.12 The following dependencies are missing: - CherryPy/usr/bin/python3.12 -m pip install -r /opt/IBM/grafanabridge/requirements.in
After applying the troubleshooting recommendations, verify successful startup of the Grafana bridge.
/opt/IBM/grafanabridge/bridge_startup.sh
- If
mmpythonis available, you can see the output similar to the following:Using mmpython All dependencies from /opt/IBM/grafanabridge/requirements.in are installed for interpreter /usr/lpp/mmfs/bin/mmpython TLS certs already present at /etc/grafanabridge/ssl/certs 2026-02-26 07:48 - MainThread - INFO - *** IBM Storage Scale bridge for Grafana - Version: 9.0.1 *** 2026-02-26 07:48 - MainThread - INFO - Successfully retrieved MetaData 2026-02-26 07:48 - MainThread - INFO - Received sensors:CPU, CTDBDBStats, CTDBStats, DiskFree, GPFSBufMgr, GPFSEXPELNODE, GPFSFilesystem, GPFSFilesystemAPI, GPFSNSDDisk, GPFSNSDFS, GPFSNSDPool, GPFSNode, GPFSNodeAPI, GPFSRPCS, GPFSTSCOM, GPFSVFSX, GPFSWaiters, GPFSmmhealth, Load, Memory, Netstat, Network, SMBGlobalStats, SMBStats, TopProc, IPFIX, GPFSDiskCap, GPFSEXPEL, GPFSFileset, GPFSInodeCap, GPFSPool, GPFSPoolCap 2026-02-26 07:48 - MainThread - INFO - Initial cherryPy server engine start have been invoked. Python version: 3.12.5 (main, Aug 23 2024, 00:00:00) [GCC 11.5.0 20240719 (Red Hat 11.5.0-2)], cherryPy version: 18.10.0. - If
mmpythonis not available, you can see the output similar to the following:mmpython not found, falling back to system Python Auto-selected python version: 3.12 All dependencies from /opt/IBM/grafanabridge/requirements.in are installed for interpreter /usr/bin/python3.12 TLS certs already present at /etc/grafanabridge/ssl/certs 2026-02-26 07:40 - MainThread - INFO - *** IBM Storage Scale bridge for Grafana - Version: 9.0.1 *** 2026-02-26 07:40 - MainThread - INFO - Successfully retrieved MetaData 2026-02-26 07:40 - MainThread - INFO - Received sensors:CPU, CTDBDBStats, CTDBStats, DiskFree, GPFSBufMgr, GPFSEXPELNODE, GPFSFilesystem, GPFSFilesystemAPI, GPFSNSDDisk, GPFSNSDFS, GPFSNSDPool, GPFSNode, GPFSNodeAPI, GPFSRPCS, GPFSTSCOM, GPFSVFSX, GPFSWaiters, GPFSmmhealth, Load, Memory, Netstat, Network, SMBGlobalStats, SMBStats, TopProc, IPFIX, GPFSDiskCap, GPFSEXPEL, GPFSFileset, GPFSInodeCap, GPFSPool, GPFSPoolCap 2026-02-26 07:40 - MainThread - INFO - Initial cherryPy server engine start have been invoked. Python version: 3.12.5 (main, Aug 23 2024, 00:00:00) [GCC 11.5.0 20240719 (Red Hat 11.5.0-2)], cherryPy version: 18.10.0. 2026-02-26 07:40 - MainThread - INFO - Registered applications: OpenTSDB Api listening on Grafana queries 2026-02-26 07:40 - MainThread - INFO - server started