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
Next revision
Previous revision
gpfs_performance_monitoring [2026/07/31 19:34] – ajusto headers 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> 
 +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> 
 + 
 +Esto generaba que se inyecte la flag -s en la REST API de GPFS, que no era soportada. Generaba un log: 
 + 
 +<code>400: unknown option 's',</code> 
 + 
 +<code> 
 +[podman@vlmgt02 ~]$ cd ibm-spectrum-scale-bridge-for-grafana-9.1.0 
 +</code> 
 + 
 +Buildeamos la imagen 
 + 
 +<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>
  
-<code>systemd-run --pty --wait -p User=podman -p PAMName=login /bin/bash</code> 
gpfs_performance_monitoring.1785526449.txt.gz · Last modified: by bbruzzo