Ultimate UNRAID Dashboard (UUD)


Recommended Posts

Thanks @Hoopster and @MrLondon for helping out.

 

Here is my Telegraf config.

 

telegraf.conf

 

If you import this into your appdata folder for Telegraf (mine is \\MassEffect\appdata\Telegraf), it should get that part running. You may still need to tweak things for your setup/liking including your server IP address (LINE 112). You also need to set ALL of your variables up top in the dashboard OR IT WILL NOT WORK. Finally, you will want to verify your Docker Configs for Telegraf/Grafana/InfluxDB.

 

Everyone in here has been able to get the UUD at least up and running at a baseline. I suggest you carefully read page 1 of this topic (especially the DEPENDENCIES section), and then re-read @GilbN's fantastic tutorial website. Everything you need is in this forum or within that link. That is exactly how I got started knowing absolutely zero... Our UUD community is very helpful as you can see, so we'll get you sorted out one way or another. Good luck and report back.

 

Edited by falconexe
Link to comment
19 hours ago, Hoopster said:

This is where tweaking telegraf.conf and providing certain variables and manipulating the UUD configuration to your needs comes into play.

how can i change permissions with GUS?

i cant edit enything. 😕

my linux / unraid /docker knowledge is really low. i cant  find the directory´s in the docker console to chmod the telegraf directory or what ever 😕

Link to comment

when you say you cannot edit anything, what do you mean. If you have no data, what this might mean is like me the utilization assumes that you are using a Cache drive, if you do not then you have to go into each of these settings and next to the name there is a arrow pointing down, here select edit and you can change the path from /mnt/user0 to /mnt/user this is the default path if no cache drive is being used. Which other settings are also not working?

Link to comment
38 minutes ago, stFfn said:

how can i change permissions with GUS?

i cant edit enything. 😕

my linux / unraid /docker knowledge is really low. i cant  find the directory´s in the docker console to chmod the telegraf directory or what ever 😕

Here are the folders in the appdata directory for GUS (from a Windows viewpoint):

image.png.a932cb96e18f10250ee940a86b926864.png

 

They are in {your path to appdata}/Grafana-Unraid-Stack/{folder you are trying to modify}

 

I am a bit confused as to why you need to modify permissions as the GUS docker install should have been done with appropriate permissions unless appdata itself is messed up permission wise.

 

I mention this only because I did the same you did when I first started.  I had tried to install Telegraf, InfluxDB and Grafana separately a couple of years before installing GUS.  I had deleted those docker containers but not the corresponding folders in appdata.  When I was trying to modify telegraf.conf, I was in fact modifying the old one in the wrong path instead of the GUS path to telegraf.conf.  I blew away the non-GUS folders and contents and then modified the proper telegraf.conf and all was well.

Link to comment
23 minutes ago, Hoopster said:

Here are the folders in the appdata directory for GUS (from a Windows viewpoint):

image.png.a932cb96e18f10250ee940a86b926864.png

 

They are in {your path to appdata}/Grafana-Unraid-Stack/{folder you are trying to modify}

 

I am a bit confused as to why you need to modify permissions as the GUS docker install should have been done with appropriate permissions unless appdata itself is messed up permission wise.

 

I mention this only because I did the same you did when I first started.  I had tried to install Telegraf, InfluxDB and Grafana separately a couple of years before installing GUS.  I had deleted those docker containers but not the corresponding folders in appdata.  When I was trying to modify telegraf.conf, I was in fact modifying the old one in the wrong path instead of the GUS path to telegraf.conf.  I blew away the non-GUS folders and contents and then modified the proper telegraf.conf and all was well.

i know where the folders are. i cant edit for example the telegraf.conf.... permission denied. thats why i wanted to change permissions in the docker to edit the conf file in windows.

 

 

Link to comment
1 hour ago, stFfn said:

i cant  find the directory´s in the docker console

Sorry, I misunderstood what you meant by this statement. 

 

If you go to the GUS directory in the console and list the contents, what does it show for permissions?

 

Here are mine (I have no trouble editing telegraf.conf in notepad++):

image.png.efc24a63501d11a2451096fc230e8e72.png

Link to comment
6 minutes ago, Hoopster said:

Sorry, I misunderstood what you meant by this statement. 

 

If you go to the GUS directory in the console and list the contents, what does it show for permissions?

 

Here are mine (I have no trouble editing telegraf.conf in notepad++):

image.png.efc24a63501d11a2451096fc230e8e72.png

image.png.1ebf7a729dd56d19eeb2501cfb503db0.png

 

i cant edit anything in these folders with an editor (using notepad ++ as well )

Edited by stFfn
Link to comment
4 minutes ago, stFfn said:

image.png.1ebf7a729dd56d19eeb2501cfb503db0.png

 

i cant edit anything in these folders with an editor (using notepad ++ as well )

Can you edit other things from other folders on your server in Windows?  I wonder if the "permission denied" error is on the Windows side if it is not using the right user to give it access to the server.

Link to comment
2 minutes ago, Hoopster said:

Can you edit other things from other folders on your server in Windows?  I wonder if the "permission denied" error is on the Windows side if it is not using the right user to give it access to the server.

yes i was able to edit other things... for example swag configs.

Edited by stFfn
Link to comment

I updated the CPU panel list to show CPU's 0-9 first followed by CPU's 10+ to resolve it sorting like cpu0, cpu1, cpu10, cpu11, etc. The same logic should be able to be added to the CPU graph panel. It was done by updating the first query to only return results for CPU0-9 and then added a second query that returned results for all values except CPU0-9 & cpu-total.

 

{
  "cacheTimeout": null,
  "datasource": "$telegrafdatasource",
  "fieldConfig": {
    "defaults": {
      "custom": {
        "align": null
      },
      "unit": "percent",
      "min": 0,
      "max": 100,
      "thresholds": {
        "mode": "absolute",
        "steps": [
          {
            "color": "rgb(0, 255, 255)",
            "value": null
          },
          {
            "color": "#EAB839",
            "value": 50
          },
          {
            "color": "red",
            "value": 75
          }
        ]
      },
      "mappings": []
    },
    "overrides": []
  },
  "gridPos": {
    "h": 12,
    "w": 11,
    "x": 13,
    "y": 18
  },
  "hideTimeOverride": true,
  "id": 130,
  "interval": "$interval",
  "links": [],
  "options": {
    "reduceOptions": {
      "values": false,
      "calcs": [
        "lastNotNull"
      ],
      "fields": ""
    },
    "orientation": "horizontal",
    "displayMode": "lcd",
    "showUnfilled": true
  },
  "pluginVersion": "7.3.3",
  "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": "cpu3"
        },
        {
          "condition": "OR",
          "key": "cpu",
          "operator": "=",
          "value": "cpu4"
        },
        {
          "condition": "OR",
          "key": "cpu",
          "operator": "=",
          "value": "cpu5"
        },
        {
          "condition": "OR",
          "key": "cpu",
          "operator": "=",
          "value": "cpu6"
        },
        {
          "condition": "OR",
          "key": "cpu",
          "operator": "=",
          "value": "cpu7"
        },
        {
          "condition": "OR",
          "key": "cpu",
          "operator": "=",
          "value": "cpu8"
        },
        {
          "condition": "OR",
          "key": "cpu",
          "operator": "=",
          "value": "cpu9"
        },
        {
          "condition": "AND",
          "key": "cpu",
          "operator": "!=",
          "value": "cpu-total"
        }
      ]
    },
    {
      "alias": "$tag_cpu",
      "groupBy": [
        {
          "params": [
            "$__interval"
          ],
          "type": "time"
        },
        {
          "params": [
            "cpu"
          ],
          "type": "tag"
        }
      ],
      "measurement": "cpu",
      "orderByTime": "ASC",
      "policy": "default",
      "refId": "B",
      "resultFormat": "time_series",
      "select": [
        [
          {
            "params": [
              "usage_idle"
            ],
            "type": "field"
          },
          {
            "params": [],
            "type": "last"
          },
          {
            "params": [
              "*-1+100"
            ],
            "type": "math"
          }
        ]
      ],
      "tags": [
        {
          "key": "cpu",
          "operator": "!=",
          "value": "cpu-total"
        },
        {
          "condition": "AND",
          "key": "cpu",
          "operator": "!=",
          "value": "cpu0"
        },
        {
          "condition": "AND",
          "key": "cpu",
          "operator": "!=",
          "value": "cpu1"
        },
        {
          "condition": "AND",
          "key": "cpu",
          "operator": "!=",
          "value": "cpu2"
        },
        {
          "condition": "AND",
          "key": "cpu",
          "operator": "!=",
          "value": "cpu3"
        },
        {
          "condition": "AND",
          "key": "cpu",
          "operator": "!=",
          "value": "cpu4"
        },
        {
          "condition": "AND",
          "key": "cpu",
          "operator": "!=",
          "value": "cpu5"
        },
        {
          "condition": "AND",
          "key": "cpu",
          "operator": "!=",
          "value": "cpu6"
        },
        {
          "condition": "AND",
          "key": "cpu",
          "operator": "!=",
          "value": "cpu7"
        },
        {
          "condition": "AND",
          "key": "cpu",
          "operator": "!=",
          "value": "cpu8"
        },
        {
          "condition": "AND",
          "key": "cpu",
          "operator": "!=",
          "value": "cpu9"
        }
      ]
    }
  ],
  "timeFrom": null,
  "timeShift": null,
  "title": "$host - CPU Load",
  "type": "bargauge"
}

image.png.5e1f8cfed73a02a5b8aa702f99376006.png

 

image.png.a1dafa4e080fc50340f985a2a21d899e.png

 

  • Like 1
Link to comment

Hey guys. We had a Corona virus scare over here (been super sick), so we've been dealing with that. I was hoping to have this out by tonight, but I am still working on it. I have the code written and the JSON is independently completed, but I have yet to integrate it into the UUD. And the the largest task of all is documentation and release notes (and that takes a LONG time). I've been going back and forth debating whether or not to release this independently as the Ultimate Plex Dashboard (UPD), or just integrate it into the UUD as version 1.5. I've decided to incorporate it into UUD, but for those of you who want a dedicated Plex Dashboard, I can release a standalone version of this as well, if there is enough demand. I'll post updates next week on a potential release date.

 

I hope you all have a fantastic Thanksgiving!

  • Thanks 3
Link to comment

Can anyone give any advice on how to show historical fan RPMs.  I have graphs that show the last 12 hours of CPU temp and usage and I would like to add one to show the CPU fan speed over the same time.  It sounds like it is adjusting speed all the time and if I can see whatit's doing based off CPU temp then maybe I could adjust settings in BIOS to minimize the fluctuations.

 

Plus, I have a thing for historical data.  Lol.

Link to comment
7 hours ago, falconexe said:

Hey guys. We had a Corona virus scare over here (been super sick), so we've been dealing with that. I was hoping to have this out by tonight, but I am still working on it. I have the code written and the JSON is independently completed, but I have yet to integrate it into the UUD. And the the largest task of all is documentation and release notes (and that takes a LONG time). I've been going back and forth debating whether or not to release this independently as the Ultimate Plex Dashboard (UPD), or just integrate it into the UUD as version 1.5. I've decided to incorporate it into UUD, but for those of you who want a dedicated Plex Dashboard, I can release a standalone version of this as well, if there is enough demand. I'll post updates next week on a potential release date.

 

I hope you all have a fantastic Thanksgiving!

Hope you are feeling better and Happy Thanksgiving as well.

Link to comment
3 hours ago, caplam said:

i can but don't know how.

I'm new to Grafana myself so I may be wrong, but I think if you go in to edit the panel, you can click on the Query Inspector button.  In the pane that slides out you can click on the JSON tab.  I think if you copy an paste that code into here, we can copy and paste into our dashboard.

  • Thanks 2
Link to comment
4 hours ago, RockDawg said:

I'm new to Grafana myself so I may be wrong, but I think if you go in to edit the panel, you can click on the Query Inspector button.  In the pane that slides out you can click on the JSON tab.  I think if you copy an paste that code into here, we can copy and paste into our dashboard.

Right click any panel and select...

 

image.png.6ce3de48dfc86f2ce4ede679cde304e6.png

 

Post the JSON.

 

To import the JSON, click any panel, and select the same option. Copy the new JSON code (Control + C), Delete all existing JSON code from the original panel (Control + A), and then Paste in the new JSON (Control + V) to make it the new version.

 

image.thumb.png.09b4046b16b75f4fe3a858e7a08cb984.png

 

Click Apply. This creates the new Panel. Then to keep it, SAVE YOUR DASHBOARD.

 

Edited by falconexe
  • Thanks 1
Link to comment

On my array growth graphs, the Weekly growth shows rounded edges, while all the others seem to show pretty sharp corners. I took a look through the options and didn't see anything that looked like it should control this. Am I hallucinating, is my data growth for the week actually rounded like that, or did I miss some sort of obvious (to everyone else) setting?

image.png.cc38df25e190cdeef3af13c357357c85.png

 

Link to comment
2 hours ago, FreeMan said:

On my array growth graphs, the Weekly growth shows rounded edges, while all the others seem to show pretty sharp corners. I took a look through the options and didn't see anything that looked like it should control this. Am I hallucinating, is my data growth for the week actually rounded like that, or did I miss some sort of obvious (to everyone else) setting?

image.png.cc38df25e190cdeef3af13c357357c85.png

 

 

No you are not hallucinating. That is controlled by the Group By "Interval" option within the query itself. Grouping by time will curve the edges. It is a nice feature to curve 0 values (nulls) into a graph without having a gap. You can add that group by to all, or remove it from all. I would definitely match them all up one way or the other though.

 

image.png.85723ae44df0c05fd09163aad3d2faae.png

 

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

 

No you are not hallucinating. That is controlled by the Group By "Interval$" option within the query itself. Grouping by time will curve the edges. It is a nice feature to curve 0 values (nulls) into a graph without having a gap. You can add that group by to all, or remove it from all. I may have forgot to add it to that Day panel, but mine are all the same.

 

Does that help?

Well... sorta...

For my (Day) query, where I've got the squared off graphs, I have this:

SELECT last("used") FROM "disk" WHERE ("path" = '/mnt/user0' AND "host" =~ /^$Host$/) AND $timeFilter GROUP BY time($__interval)

Note the group by ($__interval) (there are 2 underscores there)

The (Week) query has:

SELECT last("used") FROM "disk" WHERE ("path" = '/mnt/user0' AND "host" =~ /^$Host$/) AND $timeFilter GROUP BY time($interval)

with no underscores in it.

 

I tried editing the (Day) query, but it automatically changes it back. If I edit in "text editor" mode, then hit "Apply", it applies the change, but makes no change in what I see. When I go back in to edit, it's still in text edit mode and still shows no underscores. As soon as I go back to "graphic" editor mode, it shows it with the 2 underscores.

Link to comment
5 minutes ago, FreeMan said:

Well... sorta...

For my (Day) query, where I've got the squared off graphs, I have this:


SELECT last("used") FROM "disk" WHERE ("path" = '/mnt/user0' AND "host" =~ /^$Host$/) AND $timeFilter GROUP BY time($__interval)

Note the group by ($__interval) (there are 2 underscores there)

The (Week) query has:


SELECT last("used") FROM "disk" WHERE ("path" = '/mnt/user0' AND "host" =~ /^$Host$/) AND $timeFilter GROUP BY time($interval)

with no underscores in it.

 

I tried editing the (Day) query, but it automatically changes it back. If I edit in "text editor" mode, then hit "Apply", it applies the change, but makes no change in what I see. When I go back in to edit, it's still in text edit mode and still shows no underscores. As soon as I go back to "graphic" editor mode, it shows it with the 2 underscores.

 

Try clicking the $. It will sometimes turn blue and auto populate. You can also try removing the group by, and then reapplying it. You can also set it to however many seconds you want, like "30s", so "time(30s)".

 

image.png.56e97b5bd2f98be153fe305ea657b4fd.png

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.