Visualizing LED wall temperature

  • What Grafana version and what operating system are you using?

  • What are you trying to achieve?
    I have a video wall made of 72 LED panels, laid out in a grid 12x6. I’d like to monitor the temperature of each panel in a way that makes sense visually, so that if one panel overheats, it’s easy to identify its location. Here’s an image of how I want it to look:

  • How are you trying to achieve it?
    This data is coming from Prometheus SNMP and each metric is labeled with its Port ID and Unit ID, representing column and row, respectively. The data looks like this:

ledTemperatureUnitCelsiusAmbient{ledCellStatusPortId="12",ledCellStatusUnitId="1"} 20.8
ledTemperatureUnitCelsiusAmbient{ledCellStatusPortId="12",ledCellStatusUnitId="2"} 24
ledTemperatureUnitCelsiusAmbient{ledCellStatusPortId="12",ledCellStatusUnitId="3"} 26.1
ledTemperatureUnitCelsiusAmbient{ledCellStatusPortId="12",ledCellStatusUnitId="4"} 26.7
ledTemperatureUnitCelsiusAmbient{ledCellStatusPortId="12",ledCellStatusUnitId="5"} 27.3
ledTemperatureUnitCelsiusAmbient{ledCellStatusPortId="12",ledCellStatusUnitId="6"} 27.8

In Grafana, I created a table with the query:
max(ledTemperatureUnitCelsiusAmbient{instance=""}) by(ledCellStatusPortId,ledCellStatusUnitId) with type=instant and format=table.
I used “organize fields” transformation to remove time and value.

  • What happened?
    I have a table with 72 rows (one per metric) and 3 columns (port, unit, value).

  • What did you expect to happen?
    I want to have 6 rows and 12 columns, with each cell containing only the value.

  • Can you copy/paste the configuration(s) that you are having problems with?

  • Did you receive any errors in the Grafana UI or in related logs? If so, please tell us exactly what they were.

  • Did you follow any online instructions? If so, what is the URL?
    I tried following instructions from here: Bi dimensional matrix table display from Prometheus query
    But the “outer join” and “labels to fields” transformations both have no effect.

Dynamic text plugin is your friend. There are few examples you can search in this forum. for example using Dynamic Text plugin with d3