falconexe Posted January 7, 2021 Author Share Posted January 7, 2021 Hi everyone. I am pleased how far the Ultimate UNRAID Dashboard has come since version 1.0 Since I started developing this thing, one of the most frequent questions I still get is "Do you have a way I can support you and the UUD? Do you have a donations page?" Even UNRAID themselves have asked this question when posting the UUD across social media platforms and the official newsletter. Up until now, I have not engaged in this kind of support because this was just a fun hobby I did in my spare time. Now that we are at version 1.5, supporting the UUD & assisting users with questions/issues/custom panels/1-on-1 virtual meetings, has become very time consuming. My Wife has even asked me "are you even getting paid for this?" ha ha. I blush and say no, it's not that kind of thing... However, I very much appreciate every single one of you and your positive feedback. And if you would like to officially support the UUD and my work, I have finally set up something for you. Click the link below to show your LOVE. There is still much more to come in future versions of the UUD, and I am already hard at work on version 1.6. Thanks again guys for your enthusiasm and support of this thing. It's been a fantastic experience! Quote Link to comment
corgan Posted January 7, 2021 Share Posted January 7, 2021 17 hours ago, falconexe said: Hey corgan. I am looking for some new additions to the Ultimate UNRAID Dashboard (UUD) version 1.6. I am ready to give this is shot and would like to see if we can include this. Can you please share your code/API/Instructions with me so we can get this done? I'll add you as an official contribute to the project. Let me know. Thanks. Hey, yeah sorry, i wanted to write this down for quite some time. So the goal was to view and controll dockers and VMs from in Grafana. - Status of Container / VMs - display the container/vm Icons - Enable/disable Container / VMs Short: install Unraid API Plugin install Grafana JSON API Plugin install Grafana dynamic Image Plugin Long: To get these Infos, i use the Electric Brain Unraid API Luckily, this Unraid Addon creates an Json API, wich we can use. There is nothing special about the APi. Just install and setup. The second Part is to show the Data from the Unraid API in Grafana. Therefore im using the Grafana Plugin grafana-json-datasource https://grafana.com/grafana/plugins/marcusolsson-json-datasource?pg=plugins&plcmt=featured-undefined&src=grafana_footer https://github.com/marcusolsson/grafana-json-datasource?utm_source=grafana_add_ds Install this in Datasource Plugin in Grafana and create a new Datasource. Enter your Unraid IP, with the Port of the API and add /api/getServers like http://192.168.x.x:3005/api/getServers From here, we just have to display the Unraid API Data in some nice way. So how to use the new created Json Datasource Examples Get all VMs $.['servers']['192.168.2.254']['vm']['details'][*].name Get the status of theses VMs $.['servers']['192.168.2.254']['vm']['details'][*].status Get all Docker Container $.['servers']['192.168.2.254']['docker']['details']['containers'][*].name $.['servers']['192.168.2.254']['docker']['details']['containers'][*].status $.['servers']['192.168.2.254']['docker']['details']['containers'][*].imageUrl If you only want to see the running Container $.['servers']['192.168.2.254']['docker']['details']['containers'][?(@.status== 'started')].name From here we can make a Panel which show only the running Container as Icons. For this we need another Grafana Plugin, called Dynamic image panel https://grafana.com/grafana/plugins/dalvany-image-panel?pg=plugins&plcmt=featured-undefined&src=grafana_footer We use again our JSON Datasource and seraching for all started container, get the imageurl and the Container Name as Tooltip. You have to add your Unraid URL as Base URL. $.['servers']['192.168.2.254']['docker']['details']['containers'][?(@.status== 'started')].imageUrl $.['servers']['192.168.2.254']['docker']['details']['containers'][?(@.status== 'started')].name just ask, if there are any Questions left. 1 1 Quote Link to comment
falconexe Posted January 7, 2021 Author Share Posted January 7, 2021 (edited) 16 hours ago, corgan said: Hey, yeah sorry, i wanted to write this down for quite some time. So the goal was to view and controll dockers and VMs from in Grafana. - Status of Container / VMs - display the container/vm Icons - Enable/disable Container / VMs Short: install Unraid API Plugin install Grafana JSON API Plugin install Grafana dynamic Image Plugin Long: To get these Infos, i use the Electric Brain Unraid API just ask, if there are any Questions left. Fantastic man. I’ll dive into this and see if I can natively and easily incorporate this into the UUD version 1.6. Thanks for sharing your knowledge! Edited January 7, 2021 by falconexe 1 Quote Link to comment
falconexe Posted January 7, 2021 Author Share Posted January 7, 2021 (edited) Another really cool thing happened today. @SpencerJ has featured the UUD as the very FIRST recipient of the "Best of the Forum" blog.🥇 I wanted to personally thank him for writing up this article and for his continued support of our work. You can check out the blog post here. ☺️ https://unraid.net/blog/ultimate-unraid-dashboard Edited January 7, 2021 by falconexe 1 2 Quote Link to comment
rs5050 Posted January 7, 2021 Share Posted January 7, 2021 On 9/14/2020 at 4:32 AM, falconexe said: Telegraf Pugin - [[inputs.diskio]] Noticed a typo in the first page btw.. I'm really looking forward to giving this a shot. Bit confused on the various tutorials and all, but I'll dive into the one GilbN has on his blog first and follow along. Thanks much for the hard work you guys have done on this. 1 1 Quote Link to comment
falconexe Posted January 7, 2021 Author Share Posted January 7, 2021 1 minute ago, rs5050 said: Noticed a typo in the first page btw.. I'm really looking forward to giving this a shot. Bit confused on the various tutorials and all, but I'll dive into the one GilbN has on his blog first and follow along. Thanks much for the hard work you guys have done on this. Thanks. I'll get that updated. I'm mulling over creating a FULL tutorial. Yeah, I'll just do it ha ha. Let me know if you need any help! Welcome to the community. 1 1 Quote Link to comment
rs5050 Posted January 7, 2021 Share Posted January 7, 2021 4 minutes ago, falconexe said: I'm mulling over creating a FULL tutorial. Yeah, I'll just do it ha ha. Let me know if you need any help! Welcome to the community. haha sounds good. I'm happy to hold off to test any steps if you'd like as well. I haven't done much with dashboards in unraid yet, but I do database work for the day job, so I'm looking forward to diving into it here. 1 Quote Link to comment
falconexe Posted January 7, 2021 Author Share Posted January 7, 2021 (edited) 15 minutes ago, rs5050 said: haha sounds good. I'm happy to hold off to test any steps if you'd like as well. I haven't done much with dashboards in unraid yet, but I do database work for the day job, so I'm looking forward to diving into it here. If your a DB person then you'll love Grafana. I'm a SQL/DBA guy professionally, among other IT things. I'd say follow Gilbn's website for starters, but don't hold off on my account. I knew absolute zero when I first started and here we are... I have a second server that I will start from the ground up on and document each and every install step, It will take me some time, but I'll post it on page 1 once ready. I would say stick with installing the 3 main dockers (Grafana/Telegraf/InfluxDB) manually. Good luck! Edited January 7, 2021 by falconexe 1 Quote Link to comment
ElBurrito Posted January 7, 2021 Share Posted January 7, 2021 On 1/6/2021 at 1:12 AM, falconexe said: Ah that makes COMPLETE sense now. Thanks for pointing this out! People using GUS have a different hardcoded path due to using the all in one package (which testdasi set in the GUS docker parameters), whereas most UUD users, including myself, who use the standalone dockers, it just works as currently coded. I’ll add Gilbn’s trick to a development panel, and then I’ll need some people to test the dev code on GUS. If resolved for both flavors of docker setup, I’ll release the fix officially in UUD version 1.6. I’ll be in touch once we’re ready to test. Thanks guys. No problem, glad to help. I’d be happy to test it. Quote Link to comment
CorneliousJD Posted January 7, 2021 Share Posted January 7, 2021 (edited) When I install Telegraf with post args of /bin/sh -c 'apk update && apk upgrade && apk add ipmitool && apk add smartmontools && telegraf' Then Telegraf doesn't run, container logs return /bin/sh: 1: apk: not found I assume I'm doing something wrong but would like to see if anyone knows what based on this, thanks! Edited January 7, 2021 by CorneliousJD Quote Link to comment
falconexe Posted January 7, 2021 Author Share Posted January 7, 2021 17 minutes ago, ElBurrito said: No problem, glad to help. I’d be happy to test it. Here you go. Please test this with the Grafana UNRAID Stack (GUS). This is confirmed working with the manual docker install setup on my end. Create a new panel and post the following JSON into it. Then apply. { "datasource": "$Datasource_Telegraf", "description": "Note: Change Path to \"mnt/user\" if Cache Drive is Not Present", "fieldConfig": { "defaults": { "custom": { "align": null }, "unit": "decbytes", "thresholds": { "mode": "absolute", "steps": [ { "color": "rgb(64, 138, 255)", "value": null } ] }, "mappings": [] }, "overrides": [] }, "gridPos": { "h": 6, "w": 3, "x": 3, "y": 5 }, "id": 173, "links": [], "options": { "reduceOptions": { "values": false, "calcs": [ "lastNotNull" ], "fields": "" }, "orientation": "auto", "textMode": "auto", "colorMode": "value", "graphMode": "area", "justifyMode": "auto" }, "pluginVersion": "7.3.3", "targets": [ { "alias": "Array Total", "dsType": "influxdb", "groupBy": [ { "params": [ "$__interval" ], "type": "time" } ], "measurement": "disk", "orderByTime": "ASC", "policy": "default", "query": "SELECT last(\"used\") AS \"Used\", last(\"free\") AS \"Free\", last(\"total\") AS \"Total\" FROM \"disk\" WHERE (\"path\" = '/rootfs/mnt/user0' AND \"host\" =~ /^$host$/) AND $timeFilter GROUP BY \"path\"", "rawQuery": false, "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "total" ], "type": "field" }, { "params": [], "type": "last" } ] ], "tags": [ { "key": "path", "operator": "=~", "value": "/.*user0/" }, { "condition": "AND", "key": "host", "operator": "=~", "value": "/^$Host$/" } ] } ], "title": "Array Total", "type": "stat", "hideTimeOverride": false, "interval": "", "timeFrom": null, "timeShift": null } Quote Link to comment
falconexe Posted January 7, 2021 Author Share Posted January 7, 2021 9 minutes ago, CorneliousJD said: When I install Telegraf with post args of /bin/sh -c 'apk update && apk upgrade && apk add ipmitool && apk add smartmontools && telegraf' Then Telegraf doesn't run, container logs return /bin/sh: 1: apk: not found I assume I'm doing something wrong but would like to see if anyone knows what based on this, thanks! Did you create and place the Telegraf config in the appdata folder? Quote Link to comment
GilbN Posted January 7, 2021 Share Posted January 7, 2021 1 hour ago, CorneliousJD said: When I install Telegraf with post args of /bin/sh -c 'apk update && apk upgrade && apk add ipmitool && apk add smartmontools && telegraf' Then Telegraf doesn't run, container logs return /bin/sh: 1: apk: not found I assume I'm doing something wrong but would like to see if anyone knows what based on this, thanks! Use the alpine tag in the Repository field. Quote Link to comment
falconexe Posted January 7, 2021 Author Share Posted January 7, 2021 8 minutes ago, GilbN said: Use the alpine tag in the Repository field. 1 Quote Link to comment
GilbN Posted January 7, 2021 Share Posted January 7, 2021 Yeah, default is :latest. I've updated my guide. Quote Link to comment
RockDawg Posted January 8, 2021 Share Posted January 8, 2021 On 1/5/2021 at 10:12 PM, ElBurrito said: @RockDawgI think i saw you're the GUS docker for your Grafana? I believe when I setup Grafana on my server to test a while back, i used the standalone docker and those I had to manually configure the paths i wanted (/mnt/user or /mnt/user0 or /) for the container. When I started messing with this dashboard, I installed the GUS docker and in that / is mapped to /rootfs/ for the container. Not sure if that kinda of answers/helps you with anything but I can say, you aren't alone. The array stats didn't work for me either I had to go in and adjust the panels to point to "/rootfs/mnt/user0" You are correct that I am running GUS. Quote Link to comment
RockDawg Posted January 8, 2021 Share Posted January 8, 2021 4 hours ago, falconexe said: Here you go. Please test this with the Grafana UNRAID Stack (GUS). This is confirmed working with the manual docker install setup on my end. Create a new panel and post the following JSON into it. Then apply. { "datasource": "$Datasource_Telegraf", "description": "Note: Change Path to \"mnt/user\" if Cache Drive is Not Present", "fieldConfig": { "defaults": { "custom": { "align": null }, "unit": "decbytes", "thresholds": { "mode": "absolute", "steps": [ { "color": "rgb(64, 138, 255)", "value": null } ] }, "mappings": [] }, "overrides": [] }, "gridPos": { "h": 6, "w": 3, "x": 3, "y": 5 }, "id": 173, "links": [], "options": { "reduceOptions": { "values": false, "calcs": [ "lastNotNull" ], "fields": "" }, "orientation": "auto", "textMode": "auto", "colorMode": "value", "graphMode": "area", "justifyMode": "auto" }, "pluginVersion": "7.3.3", "targets": [ { "alias": "Array Total", "dsType": "influxdb", "groupBy": [ { "params": [ "$__interval" ], "type": "time" } ], "measurement": "disk", "orderByTime": "ASC", "policy": "default", "query": "SELECT last(\"used\") AS \"Used\", last(\"free\") AS \"Free\", last(\"total\") AS \"Total\" FROM \"disk\" WHERE (\"path\" = '/rootfs/mnt/user0' AND \"host\" =~ /^$host$/) AND $timeFilter GROUP BY \"path\"", "rawQuery": false, "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "total" ], "type": "field" }, { "params": [], "type": "last" } ] ], "tags": [ { "key": "path", "operator": "=~", "value": "/.*user0/" }, { "condition": "AND", "key": "host", "operator": "=~", "value": "/^$Host$/" } ] } ], "title": "Array Total", "type": "stat", "hideTimeOverride": false, "interval": "", "timeFrom": null, "timeShift": null } That works for me in GUS. 1 Quote Link to comment
falconexe Posted January 8, 2021 Author Share Posted January 8, 2021 1 hour ago, RockDawg said: That works for me in GUS. Sweet! Now I just have to update like a 100 panels for version 1.6 😂 Thanks for testing. 1 1 Quote Link to comment
CorneliousJD Posted January 8, 2021 Share Posted January 8, 2021 16 hours ago, GilbN said: Yeah, default is :latest. I've updated my guide. Where is your guide at? I was going off the install guidance in the first post of this thread, but if you have something more detailed I'd like to take a look, thanks in advance! Quote Link to comment
GilbN Posted January 8, 2021 Share Posted January 8, 2021 1 minute ago, CorneliousJD said: Where is your guide at? I was going off the install guidance in the first post of this thread, but if you have something more detailed I'd like to take a look, thanks in advance! https://technicalramblings.com/blog/how-to-setup-grafana-influxdb-and-telegraf-to-monitor-your-unraid-system/ You still need to do some of the "Dependencies" part in the instructions from this topic after you follow that guide btw. 1 1 Quote Link to comment
GilbN Posted January 8, 2021 Share Posted January 8, 2021 @falconexe Btw, you should add a Datasource dropdown for the Varken panels. Not all have called their data source "Varken" Quote Link to comment
falconexe Posted January 8, 2021 Author Share Posted January 8, 2021 (edited) 3 minutes ago, GilbN said: @falconexe Btw, you should add a Datasource dropdown for the Varken panels. Not all have called their data source "Varken" I instruct them to call it “Varken”. We’ll see if everyone follows directions. I suppose that makes sense if someone already has a datasource for Varken that is not called “Varken”. I’ll look into it. Thx. Edited January 8, 2021 by falconexe 1 Quote Link to comment
falconexe Posted January 8, 2021 Author Share Posted January 8, 2021 (edited) 1 hour ago, CorneliousJD said: Where is your guide at? I was going off the install guidance in the first post of this thread, but if you have something more detailed I'd like to take a look, thanks in advance! This is also found in the tutorials section on POST #3 of this topic. Edited January 8, 2021 by falconexe Quote Link to comment
MammothJerk Posted January 9, 2021 Share Posted January 9, 2021 I had to install the grafana-worldmap-panel and the grafana-piechart-panel for those specific panels to show up under my plex section. Just paste these 2 commands in the Grafana docker console and then restart the container 😁 grafana-cli plugins install grafana-worldmap-panel grafana-cli plugins install grafana-piechart-panel Great progress in 1.5! Quote Link to comment
falconexe Posted January 9, 2021 Author Share Posted January 9, 2021 31 minutes ago, MammothJerk said: I had to install the grafana-worldmap-panel and the grafana-piechart-panel for those specific panels to show up under my plex section. Just paste these 2 commands in the Grafana docker console and then restart the container 😁 grafana-cli plugins install grafana-worldmap-panel grafana-cli plugins install grafana-piechart-panel Great progress in 1.5! Thanks man. Yep those commands are included in the Varken github install guide that I linked in the release notes. Thanks for sharing! Glad you are loving 1.5. Quote Link to comment
Recommended Posts
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.