Ultimate UNRAID Dashboard (UUD)


Recommended Posts

I liked this dashboard so much i decided to install it on my other unraid box as well :), but i'm having an issue with CPU temp :(.

 

I cannot get my CPU temp from IPMI since this is an unraid box made from spare parts and lacks IPMI support, i can see the CPU temp in the unraid dashboard so i assume it should be possible to send that reading through telegraf, the question is how? the telegraf [[inputs.cpu]] seem to only take care of usage, not temperature.

 

the guide also seems to be missing [[inputs.net]] and [[inputs.docker]], i had to uncomment both of these to get any readings for network and docker on this other box.

 

Lastly just a minor thing, i run both my dashboards on the same grafana instance and i would like to be able to switch between them seamlessly in kiosk mode.

Currently i have "dashboard Links" setup on each dashboard to navigate to each-other, the problem is that this button gets hidden in kiosk mode, Is there any way to keep it on top even in kiosk mode? 😁

Edited by MammothJerk
Link to comment

Thanks for the work. Coming over from Reddit from a post you commented on. On a few groups I belong to people have asked if I’d share the dash I made. It was heavily based on yours with other stuff added so, I don’t feel right sharing it without asking if you mind? I’ll make sure to add a mention to this forum in the description or some other way if you have a better idea. 

Link to comment
20 hours ago, falconexe said:

 

For Regex help, see Post #3. I put some great resources in there. Or you can beg GilbN to help you out. If I had the time, I'd do it for you, but EVERYONE should really start trying to learn REGEX. The online lab that I linked is a GREAT way to learn!

 

 

Those UPS query errors, and everyone who has encountered them so far, ALL seems to be people missing the dependencies. Please verify that you have the Telgraf Config set correctly for [[inputs.apcupsd]]. See Post# 1

 

image.png.c62630b30f45f952cf949f566ee72ac7.png

 

Thanks @falconexe - I'll check out that regex stuff and hopefully figure it out.

 

As for the telegraph setup - how I am setup matches post #1/your screenshot - I verified in the config, I am using the GUS config from @testdasi.  I did delete both telegraph and influx configs and got default ones before checking everything lined up with the above as well.  Any other thoughts or information I can provide to help diagnose?

 

Thanks!

Link to comment
7 hours ago, MammothJerk said:

I liked this dashboard so much i decided to install it on my other unraid box as well :), but i'm having an issue with CPU temp :(.

 

I cannot get my CPU temp from IPMI since this is an unraid box made from spare parts and lacks IPMI support, i can see the CPU temp in the unraid dashboard so i assume it should be possible to send that reading through telegraf, the question is how? the telegraf [[inputs.cpu]] seem to only take care of usage, not temperature.

 

As an alternate to IPMI to monitor CPU/System/Aux Temps, you can try the Sensors Plugin.

  • Enable [[inputs.sensors]] in the Telegraf Config (Uncomment It)image.png.428640e03b730afa1d36b8cb0f59b753.png
  • Bash into the Telegraf Docker and Execute "apk add lm_sensors"
  • Stop All 3 Dockers (Grafana > Telegraf > InfluxDB)
  • If You Want to Keep This Plugin in Perpetuity, You Will Need to Modify Your Telegraf Docker Post Arguments To (Adding lm_sensors):
    • "/bin/sh -c 'apk update && apk upgrade && apk add ipmitool && apk add smartmontools && apk add lm_sensors && telegraf'"

  • Start All 3 Dockers (InfluxDB > Telegraf > Grafana)

Let me know if that works for you.

  • Like 2
Link to comment
9 hours ago, MammothJerk said:

the guide also seems to be missing [[inputs.net]] and [[inputs.docker]], i had to uncomment both of these to get any readings for network and docker on this other box.

 

Since that should be a part of the default tutorial that GilbN created (his website), that I linked in the Resources section in Post #3, I did not add it. However, you make a good point, and I can see how others might miss that, so I will add those explicitly to the Dependencies section in Post #1.

 

Congrats, you are now an Official UUD CONTRIBUTOR (You are now listed as such on Post #1) 🤝🥳

Edited by falconexe
  • Like 1
Link to comment
7 hours ago, MammothJerk said:

Lastly just a minor thing, i run both my dashboards on the same grafana instance and i would like to be able to switch between them seamlessly in kiosk mode.

Currently i have "dashboard Links" setup on each dashboard to navigate to each-other, the problem is that this button gets hidden in kiosk mode, Is there any way to keep it on top even in kiosk mode? 😁

Not that I am aware of. There are some things that even us developers are waiting for the Grafana vendor to add as features to the tool. If you come across an update or a way to add this in via back end code, let me know and I will be happy to add this.

 

One thought on Windows 10 is that you can run both instances in Kiosk mode by putting the tabs in 2 separate windows, and then just pin them with the Window + Up/Down/Left/Right key combo. Sometimes I run production and dev vertically stacked like this when I am actively developing. But I have a 43 inch monitor so it is big enough to not lose detail. You could also do side-by-side. Just a possible work around...

  • Like 1
Link to comment

I finally got all the UPS stats showing properly.  The hold up was something stupid, as is often the case.

 

I installed the Grafana-Unraid-Stack (GUS) from @testdasi while using UUD as the dashboard.  For some reason, I could not get the UPS stats to show no matter what I did.  Edited telegraf.conf to add [[inputs.acpupsd]], deleted telegraf.conf and forced an update on GUS which supposedly downloaded a new telegraf.conf with apcupsd enabled, etc.  Nothing.

 

Then I realized the mistake.  Two years ago, I installed Grafana, Influxdb and Telegraf docker containers to play around with setting up an unRAID dashboard.  It was taking too much time and I had other priorities so I deleted the docker containers; however, the folders were still in appdata with their contents including telegraf.conf.  I had been editing and deleting the wrong file!!! The telegraf.conf file that matters is in appdata/Grafana-Unraid-Stack/telegraf. 

 

I deleted the old stand-alone folders and their contents and enabled [[inputs.apcupsd]] editing the telegraf.conf in the correct folder and voila!, UPS stats in UUD.  After adding the cost per kwh and the max wattage of the UPS in UUD, everything is now working as it should be with customizations for my hardware.

 

Thanks to @falconexe and @testdasi (and @GilbN) for making this all so simple.  I remember what a pain it was two years ago which is why I eventually moved on to other things.  Now I have a really good looking dashboard based on an extremely easy to install and use docker container stack without all the manual messing around in myriad config files.

Edited by Hoopster
  • Thanks 2
Link to comment
2 hours ago, mmag05 said:

Thanks for the work. Coming over from Reddit from a post you commented on. On a few groups I belong to people have asked if I’d share the dash I made. It was heavily based on yours with other stuff added so, I don’t feel right sharing it without asking if you mind? I’ll make sure to add a mention to this forum in the description or some other way if you have a better idea. 

 

@mmag05

 

 

I'm cool with that as long as the following is done. And this goes for anyone who wants to republish our original work within or based on the Ultimate UNRAID Dashboard (UUD).

 

  •  Always REFERENCE and LINK This Official UNRAID Forum Topic

 

  • Within Your Modified Dashboard Under Dashboard Settings > General 
    • Add a Description of: Modified With Permission From "Ultimate UNRAID Dashboard" Template
    • Tag "falconexe", "GilbN", UUD, & Ultimate UNRAID Dashboard 
    • image.png.d1cbb6ff6745dab16064fa34acf9733c.png
    • image.thumb.png.1f92b7335609d35fdc335f928fa520b0.png

 

 

  • Support: You Support the Modifications and Additions to the UUD (AKA Your Stuff). However, I am happy to support anyone having issues with original panels from the UUD within this forum, so feel free to send them here.

 

Fair Enough? 👍

 

Edited by falconexe
Link to comment
1 hour ago, shwa87 said:

Thanks @falconexe - I'll check out that regex stuff and hopefully figure it out.

 

As for the telegraph setup - how I am setup matches post #1/your screenshot - I verified in the config, I am using the GUS config from @testdasi.  I did delete both telegraph and influx configs and got default ones before checking everything lined up with the above as well.  Any other thoughts or information I can provide to help diagnose?

 

Thanks!

@shwa87 are you on the UNRAID Discord? We may need to get real time with this LOL. What exact make/model is your UPS? Please post a screenshot of your UNRAID GUI UPS screen. Did you add the POST ARGUMENTS to the Telegraf Docker, AND RESTART all 3 Dockers?

 

@testdasi any thoughts as he is using your GUS?

Edited by falconexe
Link to comment
12 minutes ago, Hoopster said:

Then I realized the mistake.  Two years ago, I installed Grafana, Influxdb and Telegraf docker containers to play around with setting up an unRAID dashboard.  It was taking too much time and I had other priorities so I deleted the docker containers; however, the folders were still in appdata with their contents including telegraf.conf.  I had been editing and deleting the wrong file!!!

 

Thanks to @falconexe and @testdasi (and @GilbN) for making this all so simple.  I remember what a pain it was two years ago which is why I eventually moved on to other things.  Now I have a really good looking dashboard based on an extremely easy to install and use docker container stack without all the manual messing around in myriad config files.

 

That will do it ha ha. Been there, done that (in my earlier UNRAID days). It happens. I always go rm -rfv (be careful...) the old appdata folder once I delete a docker for this very reason. Also helps if you want to use the same Docker name in the future. That way your not messing with the old folder.

 

12 minutes ago, Hoopster said:

Thanks to @falconexe and @testdasi (and @GilbN) for making this all so simple.  I remember what a pain it was two years ago which is why I eventually moved on to other things.  Now I have a really good looking dashboard based on an extremely easy to install and use docker container stack without all the manual messing around in myriad config files.

 

Really glad you finally got this to work. Happy for you man.

 

My goal with creating the UUD was to empower the masses with an easy, sexy, and out of the box solution (as much as possible). We are getting a ton of great feedback across the world where people are finally getting back into Grafana, or just now realizing this is possible. It's a great feeling to know people actually like your work and are excited about it as much as we are! 😄

  • Like 1
Link to comment
4 minutes ago, falconexe said:

I always go rm -rfv (be careful...) the old appdata folder once I delete a docker for this very reason.

And I usually do this as well, but, I missed those.  When I installed GUS, I did not even notice it was a different container folder at first and was just looking at the old ones. 

 

I am old so I have an excuse for my diminishing gray matter (or so I like to tell myself). 😁

  • Like 1
Link to comment
4 hours ago, shwa87 said:

Thanks @falconexe - I'll check out that regex stuff and hopefully figure it out.

 

@shwa87 Just wanted to point out that if you want to get this done in a quick and dirty way, you can always go the manual route. Some users prefer that explicit control over their dashboard. I know I did when I made version 1.0 and even had stuff still hard coded in version 1.1. I didn't start adding REGEX until version 1.2 (at GilbN's suggestion). Using REGEX allows the UUD to be dynamic and work on almost any system.

 

However, there is nothing wrong with taking this dashboard and modding the crap out of it to your liking and needs. I encourage it. That's how you learn!

 

So, just do this if you want to take a hard pass on REGEX 😂

 

Edit the query as shown below, and Click on "Select Tag Value" to select your desired core in the drop down. Hit the + button to add new CPU cores. Always change the logic to OR as it defaults to AND. You want any of these cores (OR). You can't select ALL of these cores (AND) because no one core has ALL of those names. It has to do with database Boolean Operators/NAND logic.

 

image.thumb.png.f6705ecace6fe292e2f34cb83980c360.png

 

After clicking on "select tag value"

image.thumb.png.8ba6d1f22fc6f59533ce3f755e57f573.png

 

If you want to just use this now, paste the following code into the Panel JSON and save.

 

image.thumb.png.b16baa1d0c3c6e58115266a132eef77b.png

 

Copy the GREEN Code Below. Select All and Delete the Original JSON Code. Paste my JSON Code. Click Apply. And Viola! (Before you do this, save your dashboard so you can revert if something goes wrong).

 

image.thumb.png.fadc9cb0fa0f53055940c3dfeea001a8.png

 

 

NON-REGEX CPU 01 Code Below:

 

{

  "aliasColors": {},

  "dashLength": 10,

  "datasource": "$telegrafdatasource",

  "description": "Note: This is a special CPU panel written especially for shwa87!",

  "fieldConfig": {

    "defaults": {

      "custom": {},

      "links": [],

      "mappings": [],

      "thresholds": {

        "mode": "absolute",

        "steps": [

          {

            "color": "green",

            "value": null

          },

          {

            "color": "red",

            "value": 80

          }

        ]

      }

    },

    "overrides": []

  },

  "fill": 4,

  "gridPos": {

    "h": 14,

    "w": 12,

    "x": 12,

    "y": 206

  },

  "id": 215,

  "interval": "30s",

  "legend": {

    "alignAsTable": true,

    "avg": true,

    "current": true,

    "hideEmpty": false,

    "hideZero": false,

    "max": true,

    "min": true,

    "rightSide": true,

    "show": true,

    "total": false,

    "values": true

  },

  "lines": true,

  "linewidth": 1,

  "links": [],

  "nullPointMode": "null",

  "paceLength": 10,

  "pluginVersion": "7.1.5",

  "pointradius": 5,

  "renderer": "flot",

  "seriesOverrides": [],

  "spaceLength": 10,

  "targets": [

    {

      "alias": "$tag_cpu",

      "dsType": "influxdb",

      "groupBy": [

        {

          "params": [

            "$__interval"

          ],

          "type": "time"

        },

        {

          "params": [

            "cpu"

          ],

          "type": "tag"

        }

      ],

      "hide": false,

      "measurement": "cpu",

      "orderByTime": "ASC",

      "policy": "default",

      "refId": "A",

      "resultFormat": "time_series",

      "select": [

        [

          {

            "params": [

              "usage_idle"

            ],

            "type": "field"

          },

          {

            "params": [],

            "type": "last"

          },

          {

            "params": [

              "*-1+100"

            ],

            "type": "math"

          }

        ]

      ],

      "tags": [

        {

          "key": "cpu",

          "operator": "=",

          "value": "cpu0"

        },

        {

          "condition": "OR",

          "key": "cpu",

          "operator": "=",

          "value": "cpu1"

        },

        {

          "condition": "OR",

          "key": "cpu",

          "operator": "=",

          "value": "cpu2"

        },

        {

          "condition": "OR",

          "key": "cpu",

          "operator": "=",

          "value": "select tag value"

        }

      ]

    }

  ],

  "thresholds": [],

  "timeRegions": [],

  "title": "CPU 01",

  "tooltip": {

    "shared": true,

    "sort": 2,

    "value_type": "individual"

  },

  "type": "graph",

  "xaxis": {

    "buckets": null,

    "mode": "time",

    "name": null,

    "show": true,

    "values": []

  },

  "yaxes": [

    {

      "$$hashKey": "object:8009",

      "decimals": null,

      "format": "percent",

      "label": null,

      "logBase": 1,

      "max": "100",

      "min": null,

      "show": true

    },

    {

      "$$hashKey": "object:8010",

      "format": "short",

      "label": null,

      "logBase": 1,

      "max": null,

      "min": null,

      "show": false

    }

  ],

  "yaxis": {

    "align": false,

    "alignLevel": null

  },

  "bars": false,

  "dashes": false,

  "fillGradient": 0,

  "hiddenSeries": false,

  "percentage": false,

  "points": false,

  "stack": false,

  "steppedLine": false,

  "timeFrom": null,

  "timeShift": null

}

 

 

Once you have the CPU 01 panel dialed in, simply duplicate the panel, and then swap out the cores for CPU 02. Remember cores are listed in an array, so they start at 0 and end 1 less than the total number of cores you have. So my 16 core machine is 0-7, 8-15. Adjust to your 8 core machine (0-3, 4-7).

 

To Duplicate An Entire Panel Click This:

 

image.png.a9cf2deb8c48eafea34cf3db064dea6c.png

 

To Duplicate a Query Within a Panel Click This:

 

image.thumb.png.3b91f2abdb92a79388a07ed3af885d11.png

 

 

That's all for today's lesson. 🤣

 

Edited by falconexe
Link to comment

Hey Everyone. Just wanted to let you know that I heavily updated the Dependencies section in Post #1 to be more detailed and easier to follow. If you are old or new, please have a look. In release 1.4, I will officially be adding support for the "Sensors" plugin as an alternate to IPMI for those that run on non server hardware. This will provide an alternate source for CPU/System/Auxiliary temps. Stay tuned...

Edited by falconexe
  • Like 1
Link to comment
On 9/24/2020 at 6:07 AM, falconexe said:

Variable values are stored within Grafana on a per dashboard basis. They will definitely need to be set again upon importing a new dashboard.

Well, don't that just suck!

 

Hey, waitacottonpickinminute! Isn't InfluxDB a data base?? How 'bout I just add a table that maps my serial numbers to my disk names, create a view that joins them, then do the Grafana queries off of that view and pull in the name instead of the serial!

 

Great idea, FreeMan, but HeidiSQL won't connect to an influxDB backend. Haz a sad😥

 

Are there recommended tools for connecting to influxDB? A quick search hasn't turned anything up. Is this even possible?

 

If you I we do this (I'm more than willing to dig into it given the proper tool to connect, I've used my share of SSMS), the DML to create the table & view can be included in the first post, along with a sample file of how to insert the serial/drive names (hrm, may take installing the proper tool on each users' machine somewhere, somehow). Once they're in the table, there's no need to ever redo the overrides in each panel for each update. Additionally, it's only occasional updates to the config table as drives are added, moved, rearranged.

Link to comment
10 hours ago, falconexe said:

In release 1.4, I will officially be adding support for the "Sensors" plugin as an alternate to IPMI for those that run on non server hardware. This will provide an alternate source for CPU/System/Auxiliary temps.

Very much looking forward to this as my servers have always run on desktop hardware. I get no CPU utilization or fan speeds.

Link to comment

My UPS is a bit finicky with the apcups plugin and does not always work correctly, NUT however always works and i created a small edit to the UPS section if you would like to add the option for NUT.

 

Firstly you need the "NUT Network UPS Tools" plugin for unraid and then the "maihai/nut-influxdb-exporter" docker to get the data to the influxdb database.

 

then all you need to do is change the variables around a bit and it works just the same as the apcups option :)

 

Attached is the UPS section of the main dashboard edited to work with NUT :).

 

 

NUT UPS Dashboard for falconexe-1601050759513.json

Edited by MammothJerk
cleaned up variables
Link to comment
1 minute ago, MammothJerk said:

My UPS is a bit finicky with the apcups plugin and does not always work correctly, NUT however always works and i created a small edit to the UPS section if you would like to add the option for NUT.

 

Firstly you need the "NUT Network UPS Tools" plugin for unraid and then the "maihai/nut-influxdb-exporter" docker to get the data to the influxdb database.

 

then all you need to do is change the variables around a bit and it works just the same as the apcups option :)

 

Attached is the UPS section of the main dashboard edited to work with NUT :).

NUT UPS Dashboard for falconexe-1601050352396.json 32.27 kB · 0 downloads

Btw, if you want a standalone Dashboard for NUT. https://grafana.com/grafana/dashboards/10914

  • Like 1
Link to comment
30 minutes ago, FreeMan said:

Very much looking forward to this as my servers have always run on desktop hardware. I get no CPU utilization or fan speeds.

You can create one like this.

raw

 

I use sensors on https://grafana.com/grafana/dashboards/7233

But those panels doesnt work with AMD as the current 6.8.3 kernel har some issues. Should be resolved on the 6.9 kernel..I think

Edited by GilbN
  • Like 1
Link to comment

A consideration for those of us who don't have 43" 4k monitors (which I would imagine to be the significant majority of your audience ;)).

Remove the word "Storage" from the top utilization boxen:

image.png.30569f8ddf96fb533eea7aa1786d3ed1.png

On my 24" 1920x1280 monitor, I see a series of "Array Storage ..." "Array Storage ..." because the titles are too long for the box size.

 

The same is true for the Cache storage text:

image.png.ca26532b3444d0ac6c679809e8f8b7ef.png

 

Yes, I can edit the titles (and have done so for the first 2, leaving the rest as examples), but I think that the vast majority of folk will be able to figure out that an "Array Total" measured in "TB" refers to "storage" without having to be explicitly told.  And for those that can't, do you really want the support nightmares of them asking eleventy-seven bajillion questions? (He asks checking his post count on this thread, noting it's approaching eleventy-two bajillion... ;) )

Edited by FreeMan
  • Like 2
Link to comment
1 hour ago, FreeMan said:

A consideration for those of us who don't have 43" 4k monitors (which I would imagine to be the significant majority of your audience ;)).

Remove the word "Storage" from the top utilization boxen:

image.png.30569f8ddf96fb533eea7aa1786d3ed1.png

On my 24" 1920x1280 monitor, I see a series of "Array Storage ..." "Array Storage ..." because the titles are too long for the box size.

 

The same is true for the Cache storage text:

image.png.ca26532b3444d0ac6c679809e8f8b7ef.png

 

Yes, I can edit the titles (and have done so for the first 2, leaving the rest as examples), but I think that the vast majority of folk will be able to figure out that an "Array Total" measured in "TB" refers to "storage" without having to be explicitly told.  And for those that can't, do you really want the support nightmares of them asking eleventy-seven bajillion questions? (He asks checking his post count on this thread, noting it's approaching eleventy-two bajillion... ;) )


 

Makes Sense. Done. This will be released in Version 1.4.

 

image.thumb.png.181492fa0966ae66b64e9252e9d7b031.png

 

 

Congrats, you are now an Official UUD CONTRIBUTOR (You are now listed as such on Post #1) 🤝🥳

Edited by falconexe
Link to comment
21 hours ago, falconexe said:

 

@mmag05

 

 

I'm cool with that as long as the following is done. And this goes for anyone who wants to republish our original work within or based on the Ultimate UNRAID Dashboard (UUD).

 

  •  Always REFERENCE and LINK This Official UNRAID Forum Topic

 

  • Within Your Modified Dashboard Under Dashboard Settings > General 
    • Add a Description of: Modified With Permission From "Ultimate UNRAID Dashboard" Template
    • Tag "falconexe", "GilbN", UUD, & Ultimate UNRAID Dashboard 
    • image.png.d1cbb6ff6745dab16064fa34acf9733c.png
    • image.thumb.png.1f92b7335609d35fdc335f928fa520b0.png

 

 

  • Support: You Support the Modifications and Additions to the UUD (AKA Your Stuff). However, I am happy to support anyone having issues with original panels from the UUD within this forum, so feel free to send them here.

 

Fair Enough? 👍

 

Awesome deal. Will do the above before sharing. Thanks!

Link to comment
2 hours ago, falconexe said:

Plex/Varken is coming...  Possibly Planned For 1.5

Fuck yes man!!!! I gotta say....I very briefly tried setting up all this stuff up from scratch (telegraf, grafana, etc)....it was a headache and I just didn't have time to fumble around all the menus.

The UUD all-in-one docker container.....work of art! So simple...and I can tell you guys poured some time into this shit to make it ez for someone to just fire it up and go! Thank you

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.