User Tools

Site Tools


gpfs_performance_monitoring

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
gpfs_performance_monitoring [2026/07/31 19:36] – podman build bbruzzogpfs_performance_monitoring [2026/08/14 13:56] (current) – [Containerizando el bridge] bbruzzo
Line 182: Line 182:
 ==== Containerizando el bridge ==== ==== Containerizando el bridge ====
  
-Como vamos a correr el bridge en un nodo con un collector, necesitamos setear podman para esos nodos, ya que solo está configurado en mmgt02 y vlmgt01 que son quorum nodes de sus respectivos clusters.+Utilizamos podman en mmgt02
  
-Podman ya está instalado en todos los nodos, pero necesitamos crearle un usuario y asignarle subuid y subgid.+<code>systemd-run --pty --wait -p User=podman -p PAMName=login /bin/bash</code>
  
  
-En vlmgt01:+Actualmente estamos trabajando con la [[https://github.com/IBM/ibm-spectrum-scale-bridge-for-grafana/releases/tag/v9.1.0 
 + | release 9.1.0]] del bridge. 
 + 
 +Tiene un bug que debemos parchear para poder ver correctamente las métricas que son counters. 
 + 
 +Editar el archivo source/prometheus.py 
 + 
 +Cambiar la sección que figura como:
  
 <code> <code>
-mkdir /opt/containers +345       if self.raw_data or "counter" in self.TOPO.getSensorMetricTypes(sensor).values()
-useradd -r -d /opt/containers -s /usr/sbin/nologin podman +346           attrs.update({'nsamples'period, 'rawData'True, 'skipNullValues'True}) 
-chown -R podman:podman /opt/containers +347-            self.logger.debug(MSG['SensorForceRawData'].format(sensor))
-echo "podman:500000:65536" >> /etc/subuid +
-echo "podman:500000:65536" >> /etc/subgid+
 </code> </code>
  
-Ya podemos usar podman en vlmgt01.+Para que skipNullValues sea False
  
-<code>systemd-run --pty --wait -p User=podman -p PAMName=login /bin/bash</code>+<code> 
 +345       if self.raw_data or "counter" in self.TOPO.getSensorMetricTypes(sensor).values(): 
 +346:            attrs.update({'nsamples': period, 'rawData': True, 'skipNullValues': False}) 
 +347           self.logger.debug(MSG['SensorForceRawData'].format(sensor)) 
 +</code>
  
-Tenemos la release del bridge en el home del user podman.+Esto generaba que se inyecte la flag -s en la REST API de GPFS, que no era soportadaGeneraba un log: 
 + 
 +<code>400: unknown option 's',</code>
  
 <code> <code>
-[podman@vlmgt02 ~]$ pwd 
-/opt/containers 
-[podman@vlmgt02 ~]$ whoami 
-podman 
-[podman@vlmgt02 ~]$ ls 
-ibm-spectrum-scale-bridge-for-grafana-9.1.0 
 [podman@vlmgt02 ~]$ cd ibm-spectrum-scale-bridge-for-grafana-9.1.0 [podman@vlmgt02 ~]$ cd ibm-spectrum-scale-bridge-for-grafana-9.1.0
 </code> </code>
Line 216: Line 221:
  
 <code>podman build --format=docker -t bridge_image:latest .</code> <code>podman build --format=docker -t bridge_image:latest .</code>
 +
 +Generamos unit file en /opt/containers/.config/containers/systemd/monitoring/gpfs-bridge.container
 +
 +El contenido del unit file es:
 +
 +<code>
 +[Unit]
 +Description=GPFS Grafana Bridge
 +After=pmcollector.service
 +
 +[Container]
 +ContainerName=gpfs_bridge
 +Image=localhost/bridge_image:latest
 +Volume=/opt/IBM/zimon/ZIMonSensors.cfg:/opt/IBM/zimon/ZIMonSensors.cfg:ro
 +Volume=/opt/containers/monitoring/gpfs_bridge/config.ini:/opt/IBM/bridge/config.ini:ro
 +Volume=/opt/IBM/zimon/defaults:/opt/IBM/zimon/defaults:ro
 +
 +Network=host
 +
 +[Install]
 +WantedBy=default.target
 +</code>
 +
 +Asegurarse que los permisos de /opt/IBM/zimon sean lo suficientemente permisivos para que el usuario podman pueda leer sus contenidos. Tuvimos que editar esto.
 +
 +Luego se puede lanzar o detener el container con systemd.
 +
 +<code>
 +podman $  systemctl --user daemon-reload
 +podman $  systemctl --user start gpfs-bridge
 +podman $  podman logs gpfs_bridge
 +</code>
 +
gpfs_performance_monitoring.txt · Last modified: by bbruzzo