Nice! I have a similar setup at home (using a RPi4). Grafana, Loki and Promtail. But instead InfluxDB I use Prometheus. I found it better fit to manage infrastructure (in any case for my home usage it would be the same :)). Along Prometheus I use Node Export for the node metrics and cAdvisor for the containers. I see here with Telegraf you get both in one go. Nice. InfluxDB I use it for Home Assistant historic data. I find it better for that scenario. Long time period retention and lot of sensors going on. At work I am currently trying to deploy a distributed stack, where I use Prometheus in agent mode in the servers, writing out to a central Prometheus instance having all our metrics in one place. On top of that Grafana. Thanks for the video!
hey! thanks for the tutorial! got a couple of problems with your docker-compose in my synology NAS, hope it helps some viewers 1) in Jim's docker-compose ports are labeled differently from container to container, some are with double quotes: - "xxxx:xxxx" others without: - xxxx:xxxx I tried to compose up this in portainer and no ports were published in the end. So I just deleted double quotes so every port is declared in the same way and it worked! 2) during prometheus setup i got 2 errors: - err="open /prometheus/queries.active: permission denied" - err="open /etc/prometheus/prometheus.yml: permission denied" i tried to troubleshoot them myself for hours, but in the end I saw your "user: 0" with grafana container and added that to prometheus too. not elegant and security risk, but chmodding it to 777 is worse i suppose?...
Great video - but InfluxDB has really put pay to wanting to mess with the TICK stack, or any other variation of it, what with the 3.0 Edge and Community shenanigans. I think these days it would be far better for the homelab market to use Netdata, or perhaps just Prometheus and Grafana together.
Great presentation. I'm wondering how resource intensive this stack is. In a limited environment, will this be a CPU or memory hog? Especially once you get numerous monitors configured.
Thanks, I recommend that you first cut the stack to only what you need. Then, impose resource limits on the containers, and only record what you need at a sensible frequency and retention period. I'm reasonably confident that it should remain lightweight.
Jim, I’ve recently discovered your channel. Great content with clearly articulated details and gotchas. Well done sir. I do have a question in regards to this video, if I create a docker stack containing all the services and I need Telegraf to scrape an external resource outside the docker network, won’t it fail in this setup? I always seems to get “no route to host” or the like when I try to connect externally from within the container.
Thanks for the feedback. It should be fine to link to external services, I do. Need to make sure that there're no firewall rules in the way and that the correct ports are open on the host
After I've run the docker compose and everything is pulled, I got message in the end [network proxy delared as external, but could not be found] did I missed something? Thanks for the video by the way.
This is because I'm using an external network called proxy that I created when I deployed Traefik. Check out my Traefik video if you need further help.
i didn't get the idea on why using Prometheus with you are already using influx that has all the things, promtail there is the tail thing for influx for example
The configuration does not work and there is no instruction on how to get it running, you are missing a few configuration files (e.g. loki-config.yml) so those services wont start. Information on that would be helpful. Also, the Grafana container doesn't have the port assigned to it so that starts but is inaccessible.
Perhaps things have changed but it worked at the time of recording, I'll check. I'm using a reverse proxy so no ports are required for grafana, it's much nicer using fqdn with Https. Add ports if you don't want to use a proxy.
just wanna come to say thank you! I've been watching your Homelab series to build up my home server, really appreciate your contents here!
Thanks, appreciate your feedback 🙂
Thanks Jim, your videos always has great explanation and easy step by step solutions.
Wow, thank you for the kind donation!
Been loving your videos. This came out just in time, i'm finally getting to the monitoring part of my homelab. TY SO MUCH!
Thanks 👍 I'm hoping to have part 2 out shortly.
THANK YOUUUUU JIM
@@issamzgybi9761 you're welcome
Brill stuff great to see your sub count growing defo deserved
Thank you for your support
Great video! thank you so much! Subscribed!
Appreciated, thanks 👍
Nice! I have a similar setup at home (using a RPi4). Grafana, Loki and Promtail. But instead InfluxDB I use Prometheus. I found it better fit to manage infrastructure (in any case for my home usage it would be the same :)). Along Prometheus I use Node Export for the node metrics and cAdvisor for the containers. I see here with Telegraf you get both in one go. Nice.
InfluxDB I use it for Home Assistant historic data. I find it better for that scenario. Long time period retention and lot of sensors going on.
At work I am currently trying to deploy a distributed stack, where I use Prometheus in agent mode in the servers, writing out to a central Prometheus instance having all our metrics in one place. On top of that Grafana.
Thanks for the video!
Thanks, sounds like you have a detailed setup 👍
hey! thanks for the tutorial!
got a couple of problems with your docker-compose in my synology NAS, hope it helps some viewers
1) in Jim's docker-compose ports are labeled differently from container to container, some are with double quotes:
- "xxxx:xxxx"
others without:
- xxxx:xxxx
I tried to compose up this in portainer and no ports were published in the end.
So I just deleted double quotes so every port is declared in the same way and it worked!
2) during prometheus setup i got 2 errors:
- err="open /prometheus/queries.active: permission denied"
- err="open /etc/prometheus/prometheus.yml: permission denied"
i tried to troubleshoot them myself for hours, but in the end I saw your "user: 0" with grafana container and added that to prometheus too. not elegant and security risk, but chmodding it to 777 is worse i suppose?...
Thanks 👍 user 0 is worse as it runs the container as root (I think). 777 simply means anyone can alter it (but they're not root)
Great video - but InfluxDB has really put pay to wanting to mess with the TICK stack, or any other variation of it, what with the 3.0 Edge and Community shenanigans. I think these days it would be far better for the homelab market to use Netdata, or perhaps just Prometheus and Grafana together.
Great presentation. I'm wondering how resource intensive this stack is. In a limited environment, will this be a CPU or memory hog? Especially once you get numerous monitors configured.
Thanks, I recommend that you first cut the stack to only what you need. Then, impose resource limits on the containers, and only record what you need at a sensible frequency and retention period.
I'm reasonably confident that it should remain lightweight.
Jim, I’ve recently discovered your channel. Great content with clearly articulated details and gotchas. Well done sir.
I do have a question in regards to this video, if I create a docker stack containing all the services and I need Telegraf to scrape an external resource outside the docker network, won’t it fail in this setup? I always seems to get “no route to host” or the like when I try to connect externally from within the container.
Thanks for the feedback. It should be fine to link to external services, I do. Need to make sure that there're no firewall rules in the way and that the correct ports are open on the host
@@Jims-Garage I appreciate the reply. I’ll investigate further. 👊🏻
At 21:50, the default username and password is "admin". Hope this helps someone in future...
Hi, I do not have reverse proxy running. Which port should I access Grafana? I tried adding a port in the docker compose file but its not working :/
@@yonko1941 I think it's 3000
@Jims-Garage neither :(
Nice
How and where would I find the global id of my docker user?
Hey, it's id -u username and id -g username
@@Jims-Garage Maybe I missed something. Am I supposed to create a new user for this Monitoring docker stack?
@@grocerylist Did you get the docker user global id figured out?
After I've run the docker compose and everything is pulled, I got message in the end [network proxy delared as external, but could not be found] did I missed something? Thanks for the video by the way.
This is because I'm using an external network called proxy that I created when I deployed Traefik. Check out my Traefik video if you need further help.
@@Jims-Garage Thanks for you prompt reply, unfortunately I cannot use reverse proxy because I cannot do port forwarding.
@@JPEO Sure you can, follow my Traefik guide. You use a DNS challenge method, not a TLS. This doesn't require port forwarding.
@@Jims-Garage I didnt know that I'll watch it again.
i didn't get the idea on why using Prometheus with you are already using influx that has all the things, promtail there is the tail thing for influx for example
Influx doesn't do alerting. Hence why Prometheus is used.
The configuration does not work and there is no instruction on how to get it running, you are missing a few configuration files (e.g. loki-config.yml) so those services wont start. Information on that would be helpful. Also, the Grafana container doesn't have the port assigned to it so that starts but is inaccessible.
Perhaps things have changed but it worked at the time of recording, I'll check. I'm using a reverse proxy so no ports are required for grafana, it's much nicer using fqdn with Https. Add ports if you don't want to use a proxy.