Ultimate UNRAID Dashboard (UUD)


Recommended Posts

@GilbN So I've been trying to learn from your latest dashboard. I did some inverse Regex on the Array I/O panel to isolate the MD* instead of SD* (Like You Did) and it works pretty well. However, since Parity is not a part of MD because it is not in the array, I still have to use SD for those 2 drives. Which means they could still change on boot. Hence this new serial number route I am going to try across all panels if available. I'm not a huge Regex guy, and had to learn some syntax from you tonight, but the more I use it, holy cow it is powerful.

 

You:

image.thumb.png.63f2848f88f53bd1409f218e056c6108.png

 

Me:

image.thumb.png.8c33b95dd24d34f61a3b63ee28893f33.png

Edited by falconexe
Link to comment

Nice! Yea regex is crazy cool..

 

Btw, this is what I meant when fixing the host variable. 


image.png.917031216a70a6183bd54979883ac165.png

If that datasource is set to something that doesnt exits instead of the variable above, it will break it. 
Thats probably why it doesnt work. So by using that variable, when you set the Telegraf datasourceimage.png.b240016352be2a158397ce88d90884af.png

The host variable should then work, as the HOST query runs on the correct data source. 

Link to comment
Just now, GilbN said:

Nice! Yea regex is crazy cool..

 

Btw, this is what I meant when fixing the host variable. 


image.png.917031216a70a6183bd54979883ac165.png

If that datasource is set to something that doesnt exits instead of the variable above, it will break it. 
Thats probably why it doesnt work. So by using that variable, when you set the Telegraf datasourceimage.png.b240016352be2a158397ce88d90884af.png

The host variable should then work, as the HOST query runs on the correct data source. 

Ahhhh. Yeah, I'll get that updated. I also found those 4 hard coded host names of "MassEffect". They somehow were in panels I turned into banners. So they were hidden. I just find and replaced them with $telegrafdatasource in the JSON and re-imported.

  • Like 1
Link to comment

IT WORKS!

 

But I won't click on it because it lists all of the serial numbers LOL. Time for some hardcore override mapping. Guess I'll have to make a branched version for my personal dashboards, since putting overrides in using my serial numbers wouldn't be good for public distribution. 😜

 

image.png.f12a72e3b3a9de18c9b4d8955d525508.png

Link to comment
26 minutes ago, falconexe said:

And fixed... I'll release in version 1.3.

 

image.thumb.png.7420d5d1cd6d92956edf7901f4c28db0.png

@GilbN

 

So I fixed that variable as you can see above, and when I export the JSON, I still see 2 references to "MassEffect" (My Host) hard coded. Is this OK and only because the value of that variable was actually set, and it is just exporting that value? And if so, can anyone else import my dashboard and simply change it? Or will this still cause issues? If it will cause issues, what should I override this too? Null values ""?

 

image.thumb.png.2a541790db736d445164c469b74f90ed.png

Link to comment

I was making the copy using my Win10 machine, though, so wouldn't it have pulled the data across the network to my machine, then pushed it back?

3 hours ago, GilbN said:

You screenshot the network panel. That wouldn't show anything when copying data internally. SMB is sometimes smart enough to see that it's internal. 

 

3 hours ago, GilbN said:

And the disk growth panels are only displaying the array growth. It does not take in account the cache drives.

While fair enough, that means that "Today" will always show zero for those who have their shares cache set to "Yes", correct? Though I guess not. Maybe it depends on when "today" is measured - since my mover is scheduled for 01:10, "Today's" growth is really what I added to the cache yesterday. I guess that's just semantics - while it's technically "today", it effectively happened "yesterday". I guess I could change the label if it bothers me enough.

image.png.ac850b05b92195266af4a82b193325fe.png

 

3 hours ago, GilbN said:

Are you using an AMD cpu? I made the dashboard on an Intel system, so that's probably why it's showing wierd.

Yes I am. Is this in reference to the internal temperatures?

 

Link to comment
16 minutes ago, FreeMan said:

I was making the copy using my Win10 machine, though, so wouldn't it have pulled the data across the network to my machine, then pushed it back?

 

While fair enough, that means that "Today" will always show zero for those who have their shares cache set to "Yes", correct? Though I guess not. Maybe it depends on when "today" is measured - since my mover is scheduled for 01:10, "Today's" growth is really what I added to the cache yesterday. I guess that's just semantics - while it's technically "today", it effectively happened "yesterday". I guess I could change the label if it bothers me enough.

image.png.ac850b05b92195266af4a82b193325fe.png

 

Yes I am. Is this in reference to the internal temperatures?

 

Yea, it's in the name "Array Data Growth Today" and /mnt/cache is not part of the array :)

 

image.png.ef1c1f4f22592943b1be76985b902f85.png

 

Yea, AMD cpus can't report temps correctly on the current kernel  unraid 6.8.3 is using, iirc. 
But on v6.9 it should work better. 
Better to use IPMI if your board supports that. Most consumer boards doesn't though. 

Link to comment
1 hour ago, falconexe said:

@GilbN

 

So I fixed that variable as you can see above, and when I export the JSON, I still see 2 references to "MassEffect" (My Host) hard coded. Is this OK and only because the value of that variable was actually set, and it is just exporting that value? And if so, can anyone else import my dashboard and simply change it? Or will this still cause issues? If it will cause issues, what should I override this too? Null values ""?

 

image.thumb.png.2a541790db736d445164c469b74f90ed.png

I think that is because you saved the current variables as default when saving. Are you selecting "Export for sharing externally" ?

Link to comment

@GilbN @falconexe - OK i moved my telegraf to host and its pulling in *some* UPS data but not all of it, also noticing some strange things with the array growth and the TX/RX numbers on my eth0 interface. 

 

in #1 - my UPS stats are not all populating. Im using the APC UPS Daemon thats built into unraid if that matters.

in #2 - my annual array growth is less than my weekly/monthly

in #3 -randomly i will get massive numbers on this panel, i assume its just something weird on my end but thought i would bring it to your attention. 

 

Also, random question, is there a way to convert the CPU temps to Farenheit?

3.PNG

2.PNG

1.PNG

Edited by hermy65
Link to comment
3 hours ago, hermy65 said:

@GilbN @falconexe - OK i moved my telegraf to host and its pulling in *some* UPS data but not all of it, also noticing some strange things with the array growth and the

 

TX/RX numbers on my eth0 interface. (Looks like the unit may have changed. Set it to Data Rate bytes/Sec.)

 

in #1 - my UPS stats are not all populating. Im using the APC UPS Daemon thats built into unraid if that matters.

(You may need to set the IP address of your server under the UPS area within the Telegraf config)

 

in #2 - my annual array growth is less than my weekly/monthly (This is because of the update interval. One thing you can do is delete annual, recreate it from Monthly, and just set it to "y" vs "M" on the query. Use 2h or 1h for interval. That should fix it. All three Week/Month/Year need to use the same interval in order to sync up.)

 

in #3 -randomly i will get massive numbers on this panel, i assume its just something weird on my end but thought i would bring it to your attention. (Sounds like a buffer overrun issue. You can adjust beffer, memory for buffer, and jitter in the Telegraf config)

 

Also, random question, is there a way to convert the CPU temps to Farenheit? (Yes, you'll either need to put a math function on your query and do the actual calculation, or you can try changing the unit to F and hopefully Grafana is smart enough to convert it...prob not though because it will just change the raw data to the new unit)

 

Glad to see you making progress!

Edited by falconexe
Link to comment
7 hours ago, GilbN said:

I think that is because you saved the current variables as default when saving. Are you selecting "Export for sharing externally" ?

 

No I just copied the JSON from the JSON overview. So if I export for sharing externally, it will default the variables? If so, good to know...

Link to comment
20 hours ago, falconexe said:

And how are you getting "=~" to show up, that is not an option for me? If I type it in, it reverts to "=".

Don't know if you ID'd this yet, but if you put RegEx in the RHS box, you'll automatically get a =~ in the equality box instead of =.

 

Also, for the array growth queries, I modified them to be very similar to  @GilbN's query. I have

SELECT last("used") FROM "disk" WHERE ("path" =~ /.*user0/) AND $timeFilter GROUP BY time($__interval)

The key difference being in the path = condition. I left out "host" =~ /^NAS$/ and it works just fine - that may help make it transition more easily to other's setups.

 

Also, what is this for:

image.png.51054b83d760f552465cfde4ced0c52f.png

Does that tell Grafana how many threads to use, or is it somehow related to the number of cores I have, or...

What's the impact of changing that number?

 

 

Well, would ya look at that!

image.png.80253c14302cca68b1e6cb2260c3c112.png

Edited by FreeMan
Link to comment

@falconexe i have my server ip configured in the apcupsd section of the telgraf config as shown

 

# # Monitor APC UPSes connected to apcupsd
[[inputs.apcupsd]]
#   # A list of running apcupsd server to connect to.
#   # If not provided will default to tcp://127.0.0.1:3551
   servers = ["tcp://192.168.0.50:3551"]
#
#   ## Timeout for dialing server.
#   timeout = "5s"

Maybe @GilbN has a little insight since he mentioned he is using the built in apc ups daemon as well. 

Link to comment
2 minutes ago, hermy65 said:

@falconexe i have my server ip configured in the apcupsd section of the telgraf config as shown

 


# # Monitor APC UPSes connected to apcupsd
[[inputs.apcupsd]]
#   # A list of running apcupsd server to connect to.
#   # If not provided will default to tcp://127.0.0.1:3551
   servers = ["tcp://192.168.0.50:3551"]
#
#   ## Timeout for dialing server.
#   timeout = "5s"

Maybe @GilbN has a little insight since he mentioned he is using the built in apc ups daemon as well. 

In the terminal what does 

apcaccess | grep 'NOMPOWER\|LOAD'

output

Link to comment
6 minutes ago, hermy65 said:

@falconexe i have my server ip configured in the apcupsd section of the telgraf config as shown

 


# # Monitor APC UPSes connected to apcupsd
[[inputs.apcupsd]]
#   # A list of running apcupsd server to connect to.
#   # If not provided will default to tcp://127.0.0.1:3551
   servers = ["tcp://192.168.0.50:3551"]
#
#   ## Timeout for dialing server.
#   timeout = "5s"

Maybe @GilbN has a little insight since he mentioned he is using the built in apc ups daemon as well. 

I'm getting UPS data, but I've got the servers = line commented out.

Link to comment
33 minutes ago, FreeMan said:

Don't know if you ID'd this yet, but if you put RegEx in the RHS box, you'll automatically get a =~ in the equality box instead of =.

 

Also, for the array growth queries, I modified them to be very similar to  @GilbN's query. I have


SELECT last("used") FROM "disk" WHERE ("path" =~ /.*user0/) AND $timeFilter GROUP BY time($__interval)

The key difference being in the path = condition. I left out "host" =~ /^NAS$/ and it works just fine - that may help make it transition more easily to other's setups.

 

Also, what is this for:

image.png.51054b83d760f552465cfde4ced0c52f.png

Does that tell Grafana how many threads to use, or is it somehow related to the number of cores I have, or...

What's the impact of changing that number?

That is for the CPU container usage panel. 

% divided by threads. 
As 1 thread = 100% If 6 threads are maxed it will show 600% cpu usage. 

Link to comment
1 minute ago, hermy65 said:

@GilbN  I get nothing when i run that

 

1.PNG

Ok, then it seems you have a UPS that's not supported. As it doesn't have those metrics. If you look at your dashboard you will see the same thing. 
How it should look like: 
raw

 

You could do some googling to see if there is a way of adding those metrics to your model.

Link to comment
1 minute ago, GilbN said:

That is for the CPU container usage panel. 

% divided by threads. 
As 1 thread = 100% If 6 threads are maxed it will show 600% cpu usage. 

Since that's a user configurable, how should that be set?

 

Thinking it was related to core count, I set it to 4. I see several containers at 100%+. Set to 32, I see containers at 30% or less. How do I know what's accurate?

Link to comment
Just now, FreeMan said:

Since that's a user configurable, how should that be set?

 

Thinking it was related to core count, I set it to 4. I see several containers at 100%+. Set to 32, I see containers at 30% or less. How do I know what's accurate?

You need to set it to how many cores or threads your system has. Which CPU do you have?
In V 1.3 this will be done for you by running a query btw.

Link to comment
1 minute ago, GilbN said:

You need to set it to how many cores or threads your system has. Which CPU do you have?
In V 1.3 this will be done for you by running a query btw.

I've got an AMD A10. Four cores + 6 GPU cores. Not exactly the ideal server CPU... :( I really didn't read all that carefully when I purchased. On the list of things to do is migrate this to a desktop machine and update the server.

 

Sounds like I should set it to 4, then.

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.