Again, thanks for a intuitive, and easy-to-follow guide. It did of course now work the 1st time, but after some trouble-shooting a copy-paste error was discovered and now I have page showing my shiny stats!
Great info! Love all your raspberry pi stuff. Im running now 27 containers on one of my rasp4 including HA, nodered, and so much more, learned a lot from you! Many thanks!
@@canichos Oh cool, awesome. I'm getting a 2Gb soon and was a little worried if I didn't need more. But if you can run that many containers on 4Gb, surely even 10 containers should be doable. Just out of curiosity, what things are you running? I currently have Homebridge (HA alternative) and Node-RED running on a Pi Zero W
@@ColinEditz currently I have, nginx, bitwarden, nodered, pihole, cloudflared, portainer, wireguard, mosquitto, zwavejs2mqtt, homeassistant, duckdns, wordpress, endlessh, heimdall, nginx_db, cloudflareddns, wordpress_db, tandoor, tandoor_db, daapd, motioneye, Samba_Server, but don't ignore a fast ssd since impact is huge on the rasp performance.
I really appreciate all your hard work and help provided by your content. I put this together in a stack and got everything up and running on two different test systems. I thought I would share here in case anyone wanted to try out this method. Note that this setup still relies on the "prometheus.yml" file so the appropriate folder and file needs to be created BEFORE running the stack. Enjoy! version: '2' services: node-exporter: image: quay.io/prometheus/node-exporter:latest container_name: node-exporter restart: unless-stopped volumes: - '/:/host:ro,rslave' - /etc/localtime:/etc/localtime:ro network_mode: host command: - '--path.rootfs=/host' pid: host prometheus: image: prom/prometheus container_name: prometheus restart: unless-stopped depends_on: - node-exporter ports: - 9090:9090 volumes: - /srv/dev-disk-by-label-Files/Config/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml grafana: image: grafana/grafana container_name: grafana restart: unless-stopped depends_on: - prometheus - node-exporter ports: - 9006:3000
I used your macvlan videos to containerize and centralize around 10 of my apps running in separate linux containers (lxc’s) on a single system. However, some remaining apps need to be Internet accessible, so I think I’ll put them on a separate node using wireguard to connect them to my internet accessible vps. So, I’ll want to have metrics from multiple systems sent to prometheus and available to grafana for “dashboarding” . Is there a video on how to set things up to monitor multiple docker nodes/hosts ? Also, a video on alerting would be great as well. While containerizing apps, found an app that hadn’t been able to connect to it’s data source for 5 months! I had no clue it was broken until I migrated it to docker.
Great video. I like your channel. I have prometheus running on another host in a truenas jail which has its own up address. I get the website with metrics. I have grafana running in a container on a ubuntu server. It seems that the grafana server cannot connect to node exporter in Prometheus on truenas. Any ideas why? It seems that grafana can’t connect to the external network. I’m new to docker/rancher/kubernetes. Thx bud
Hello, I've tried to install node-exporter so many times now but can't get it to work. I only recieve this: docker: Error response from daemon: path / is mounted on / but it is not a shared or slave mount. Do you have any idea about what to do about that. I'm running docker in a lxc container on proxmox.
Hello David, can do another video showing how to scrape data from containers? as far I could understand Node export only collects data from the host itself but not of the containers, it would be great if you create a video showing how to collect metrics of the containers
Love your content. Always clear and reliable. Could you make a short video on how to set up Grafana for local https in Docker please? I currently have many panels pulled into Home Assistant as /webpage cards, but unfortunately these won't load/display when viewed on a remote browser or the HA companion app, because the embedded links from Grafana are http. Nowhere can I find this information. Thanks.
You should use a reverse proxy such as nginx with letsencrypt free ssl and publish your cards using the front domain with https with the reverse proxy doing the job.
@@washingtoninf Good idea. I just set up Traefik for this a few days ago. I made DNS aliases (CNAMEs) for my services, pointed them t the proxy IP, and it servers the wildcard ssl certificate and forward the connect back to the correct host on the backend. I like how it automatically renews certs as well.
I came here because, from the title, I though the dashboard would have docker container metrics. This is sort of useful, but since most of my apps are dockerized, I really want metrics for my containers more than the docker host.
Thanks, all up but grafana in not showing any data. Followed all your steps. prometheus works, node exporter spits out data...but dashboard on the grafana show "no data" on all of them. Thanks
Exactly the same thing happens to me, I installed it first in my virtual machine (omv6) and everything was perfect as DB says, but when I install it in my real server (OMV5) prometheus it seems that it does not take the data from node exporter :( you already solved it ?
Hi DB Tech Thank you for your great content. I would like your help with a question. In your video, you have installed all software on the same server (Raspberry Pi). Let´s spouse that I have 4 different servers that I would like to monitor. I would like to monitor all of them from a single point (docker server with grafana). Should I install only node exporter in each server that I want to monitor or should I need to install Prometheus in all of them? In minute 9:41 of your video, you have a dashboard that shows several servers monitored. I would love to do the same. Do you mind sharing with us how you did it? Thank you for all your help. I´m having a lot of fun following your guides.
You would install Node Exporter on each of the servers you want to manage. Then you would modify the prometheus.yml file on your main server to have more lines: nano prometheus.yml global: scrape_interval: 5s external_labels: monitor: 'node' scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['192.168.68.127:9090'] ## IP Address of the localhost - job_name: 'node-exporter' static_configs: - targets: ['192.168.68.127:9100'] ## IP Address of the localhost - job_name: 'node-exporter' static_configs: - targets: ['192.168.68.128:9100'] ## IP Address of the additional computer - job_name: 'node-exporter' static_configs: - targets: ['192.168.68.129:9100'] ## IP Address of the additional computer - job_name: 'node-exporter' static_configs: - targets: ['192.168.68.130:9100'] ## IP Address of the additional computer
Great tutorial as always, but I cannot for the life of me get this working. I can bring up the metrics (node-exporter), and can also fire up prometheus, but when I click under service discovery, I cannot get Prometheus to pick up Node-exporter.... I created the prometheus.yml as suggested, with the applicable IP addresses, but/home/andy/docker/prometheus/prometheus.yml... can someone tell me if there's an issue with keeping it there rather than ETC? I adjust my docker stack accordingly to take into account my location, but I cannot get it to read it. Any thoughts?
if you are doing this for a VPS and not your pi, you should include the port 9100 into the allowed list, id suggest ip params setting it to only be accessible by the systems own IP but try it without that setting first.
Exactly the same thing happens to me, I installed it first in my virtual machine (omv6) and everything was perfect as DB says, but when I install it in my real server (OMV5) prometheus it seems that it does not take the data from node exporter under service discovery :( you already solved it ?
On that page, there is a description at the top and then 2 links; one for the docker compose and one for the prometheus.yml file. I just checked and even have the page open and am looking at it right now.
@@DBTechYT at the beginning of the video you mentioned we need to install node exporter, you then paste into putty a command and follow up with “all of this will be in the description down below” i know how to use docker compose, my first statement was “this could be confusing for some viewers“
@@DBTechYT i was searching the other day for just a network monitoring system. I'm having ping spikes every so often through my network and wanted to see what piece of equipment was taking up bandwidth. if it could be done through dashboard and outputted in grafana would be cool. I looked but most of the stuff, well it's above my learning or knowledge of implementing it . Maybe you know of something or .......
At 9:38 seeing you have few instances (node-exporter) which you can select in the drop-down menu in Instance section. My question is, so far I have 2 different Node-Exporter with State=up in Prometheus/Targets but in Grafana is showing me only 1 of 2. How did you get more nodes in the grafana dashboard ?
It's been a while since I did this video, but, if I remember correctly, I had to add additional lines to the .yml file... something like this I think: global: scrape_interval: 5s external_labels: monitor: 'node' scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['192.168.68.127:9090'] ## IP Address of the first host - targets: ['192.168.68.128:9090'] ## IP Address of the second host - job_name: 'node-exporter' static_configs: - targets: ['192.168.68.127:9100'] ## IP Address of the first host - targets: ['192.168.68.128:9100'] ## IP Address of the second host
@@DBTechYT I've added like that but still not seeing another target from another host in the dashboard. missing something in the configuration OPNSense,Prometheus or Grafana
Great video - spared me a lot of time. Some hickups though: 1. as of now you have to download and edit the json file to your preferred dashboard. Otherwise you just get "table-old" error reportin inside the dashboard. 2. my installation picks /dev/loop1 98M 98M 0 100% /snap/core/10577 as root partition of the node - stating it is 100% full. Certainly this is not as intended...
@@DBTechYT yeah, kind confusing to understand the impact this news for people that have a home lab. Do you see any issues using the Docker runtime long term or should I consider using another runtime for all my docker images?
Thank very much for explaining and sharing your knowledge. If I start node exporter on another system how will I pull the data in the main system with prometheus?
Install Node Exporter on the new server. Then, on your existing system, add an additional node-exporter line in your prometheus file that has the IP address and port for node-exporter of your new device
In the Prometheus command the second part doesn't work for me for some reason, the :/etc/prometheus/prometheus.yml prom/prometheus. Did we have to create a /etc/prometheus folder beforehand?
@@DBTechYT Hmm, still don't see the folder creation in etc there, no worries though - just used cloud commander and copied it over manually. Now it works!
I got error in prometheus >>>Warning: Error fetching server time: Detected 48578.12199997902 seconds time difference between your browser and the server. Prometheus relies on accurate time and time drift might cause unexpected query results. how to solve ??????
Hey, thanks for the video! I tried to get Grafana dashboard on my raspberry pi 2 model B, but, when I'm trying to add an id of grafana dashboard, I get a message: "Cannot read property 'result' of undefined", so the dashboard is empty. I tried to find a solution, but I didn't find a way to fix. Maybe you can help me? Thanks!
I used the stack on the link via Portainer. When using nano to write the prometheus.yml file, I get the following error when trying to save it: [ Error writing prometheus.yml: Is a directory ]. Any idea how to get around this?
Do the following: Ssh into your server Cd to the prometheus.yml Remove it with: rm -rf prometheus.yml Then re-create the file with: nano prometheus.yml
Hi DB Tech Thank you for your great content. I have a Mikrotik router that I would like to monitor. Do you know how I could monitor the Mikrotik router and switch using Prometheus and grafana? If you have a Mikrotik device I think it will be such great content to share. Thank you for all your help.
In my lab I use Watchtower to update my containers and when I tried running Grafana, each time it would update it would lose its config. How do you go about making Grafana persistent?
Hey, I just found your channel and you have some really good content. QQ, Do you know of any software that can report\monitor on specific process / services on windows? (Processes I pick)
Great video as always :) Question: in the .yml file, is it possible to add other ip for example other computers running prometheus, so i can have one dashborad for all my computers.?
You can install this to pull data from multiple servers, but you'll need to install the node-exporter docker container on each of the servers you want to pull data from. Then your prometheus.yml file will look like this: global: scrape_interval: 5s external_labels: monitor: 'node' scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['192.168.68.127:9090'] ## IP Address of the localhost - job_name: 'node-exporter-first-server' ## You can name 'node-exporter-first-server' basically whatever you want static_configs: - targets: ['192.168.68.127:9100'] ## IP Address of the localhost - job_name: 'node-exporter-second-server' ## You can name 'node-exporter-second-server' basically whatever you want static_configs: - targets: ['192.168.68.250:9100'] ## IP Address of the localhost Just keep repeating the last section that starts with "- job_name" all the way through the targets
Then you can toggle between the machines on the dashboard at the top where it says "JOB". You'll be able to select the server you want in the drop down.
Hey thanks for the video. I'm failing at the first hurdle I'm afraid. When I run the node explorer container on my Synology, I get this message at the end of the install: docker: "Error response from daemon: linux mounts: path / is mounted on / but it is not a shared or slave mount. " I tried Google but I cant seem to find a way to fix. Thanks!
Another cool video..i gonna try it in my servers..is possible get info from another server..not just from the localhost? maybe have a centralized grafana-prometheus log server???..greets from argentina!!!
You can install this to pull data from multiple servers, but you'll need to install the node-exporter docker container on each of the servers you want to pull data from. Then your prometheus.yml file will look like this: global: scrape_interval: 5s external_labels: monitor: 'node' scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['192.168.68.127:9090'] ## IP Address of the localhost - job_name: 'node-exporter-first-server' ## You can name 'node-exporter-first-server' basically whatever you want static_configs: - targets: ['192.168.68.127:9100'] ## IP Address of the localhost - job_name: 'node-exporter-second-server' ## You can name 'node-exporter-second-server' basically whatever you want static_configs: - targets: ['192.168.68.250:9100'] ## IP Address of the localhost Just keep repeating the last section that starts with "- job_name" all the way through the targets
Then you can toggle between the machines on the dashboard at the top where it says "JOB". You'll be able to select the server you want in the drop down.
Hello, thanks for this tutorial as well! :-) Everything worked, until I cannot for the life of me remember the username and password for my Grafana-install. What is the easiest way to reset this?
just edit the prometheus.yml - separating the servers by colon and run node exporter on second host static_configs: - targets: ['192.168.68.127:9100','0.0.0.0:9100'] ## IP Address of the localhost
Seriously? There's a link right near the top of the description that has all the info you need that I can't put in the description because RUclips restricts what kind of stuff I can put in there.
@@DBTechYT When typing the command you said you could find it in the description, but there is nothing there (except a link with yml without a description of what it is).
This is in the description: /===========/ I've been wanting to get into Grafana dashboards for a while, so here we go! This is much easier to setup than I originally thought it would be and we can do it in about 5 steps. Updated information here: dbt3ch.com/books/prometheus-grafana-dashboard /===========/ If you click that link, you'll be taken to a page that says: /===========/ Prometheus / Grafana Dashboard After you've created the prometheus.yml file and have deployed the docker-compose, the rest of the steps are as follows: - Select DataSource on home page. Select Prometheus. - Search for: "node exporter grafana dashboards" on Google - Look for results on grafana.com - Find ID of the dashboard you like (This is the dashboard I like: grafana.com/grafana/dashboards/11074) - Import ID in Grafana /===========/ With further information of the content of both files listed below. How could I POSSIBLY make it easier? I can't put all the information in a RUclips video description. RUclips won't let me. So I set up a website/repository of information for viewers to get the detailed information that RUclips won't let me put in the video descriptions. This is the same method that lots of creators use to help their viewers get the information they need. Wanna know what some other creators do? NOTHING. They leave NOTHING in the description and expect the viewer to go find the information for themselves. And, I can say this with 100% honesty, in the couple of years of doing this you are the only one who seems to take issue with it.
If I put a link in the description and you acknowledge the link but refuse to click it to get the additional information that is disclosed in the text before the link... I'm just lost on what you think the solution is...
@@DBTechYT github.com/aristocratos/bpytop "Install python3 and git with a package manager of you choice Install psutil python module (sudo might be required) python3 -m pip install psutil"
Great walkthrough! I followed you exactly and everything is working as expected except Prometheus. I keep getting this error but can't seem to figure out why and my Google-fu is letting me down. level=error ts=2021-06-29T03:17:38.313Z caller=main.go:355 msg="Error loading config (--config.file=/etc/prometheus/prometheus.yml)" err="open /etc/prometheus/prometheus.yml: no such file or directory"
The best RUclips tuto for Grafana installing......... and it's again DB Tech. Thanks a lot friend.
Wow, thanks!
Again, thanks for a intuitive, and easy-to-follow guide. It did of course now work the 1st time, but after some trouble-shooting a copy-paste error was discovered and now I have page showing my shiny stats!
Glad it helped
Great info! Love all your raspberry pi stuff. Im running now 27 containers on one of my rasp4 including HA, nodered, and so much more, learned a lot from you! Many thanks!
Good stuff!
Wow that sounds great! Which model of the Rasp4 do you have, how much RAM?
@@ColinEditz its a 4gb version booting directly from a very fast SSD, I don't even use a memory card, amazing results.
@@canichos Oh cool, awesome. I'm getting a 2Gb soon and was a little worried if I didn't need more. But if you can run that many containers on 4Gb, surely even 10 containers should be doable. Just out of curiosity, what things are you running? I currently have Homebridge (HA alternative) and Node-RED running on a Pi Zero W
@@ColinEditz currently I have, nginx, bitwarden, nodered, pihole, cloudflared, portainer, wireguard, mosquitto, zwavejs2mqtt, homeassistant, duckdns, wordpress, endlessh, heimdall, nginx_db, cloudflareddns, wordpress_db, tandoor, tandoor_db, daapd, motioneye, Samba_Server,
but don't ignore a fast ssd since impact is huge on the rasp performance.
So much more modern looking than the previous rpi-monitor. Thank you!
this channel is a goldmine
Thank you man, was really painless to setup, nice !
Great to hear!
Your Pi was probably having DNS issues as I did not need to use an IP on my install.
Thank you for the guide this is Awesome!!!
Another great video. Thanks for sharing. I'm really enjoying the series.
A great Thanks !! Can you do a video on monitoring different hosts with prometheus and Grafana ?
Very Cool! Thank You!! Also love your website! All kinds of cool stuff!
Thanks so much!
I really appreciate all your hard work and help provided by your content. I put this together in a stack and got everything up and running on two different test systems. I thought I would share here in case anyone wanted to try out this method. Note that this setup still relies on the "prometheus.yml" file so the appropriate folder and file needs to be created BEFORE running the stack. Enjoy!
version: '2'
services:
node-exporter:
image: quay.io/prometheus/node-exporter:latest
container_name: node-exporter
restart: unless-stopped
volumes:
- '/:/host:ro,rslave'
- /etc/localtime:/etc/localtime:ro
network_mode: host
command:
- '--path.rootfs=/host'
pid: host
prometheus:
image: prom/prometheus
container_name: prometheus
restart: unless-stopped
depends_on:
- node-exporter
ports:
- 9090:9090
volumes:
- /srv/dev-disk-by-label-Files/Config/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
grafana:
image: grafana/grafana
container_name: grafana
restart: unless-stopped
depends_on:
- prometheus
- node-exporter
ports:
- 9006:3000
Really great tutorial!
I just want to ask, how can we add another server in the same dashboard? Is there an easy way doing that?
I used your macvlan videos to containerize and centralize around 10 of my apps running in separate linux containers (lxc’s) on a single system.
However, some remaining apps need to be Internet accessible, so I think I’ll put them on a separate node using wireguard to connect them to my internet accessible vps.
So, I’ll want to have metrics from multiple systems sent to prometheus and available to grafana for “dashboarding” .
Is there a video on how to set things up to monitor multiple docker nodes/hosts ?
Also, a video on alerting would be great as well. While containerizing apps,
found an app that hadn’t been able to connect to it’s data source for 5 months! I had no clue it was broken until I migrated it to docker.
Thanks! I really no have any idea how works, well that before see your video, thanks! keep sharing cool things like this.
Followed all steps, working fine. Thanks alot.
Thx for this guide. It helped me a lot!
Great video. I like your channel. I have prometheus running on another host in a truenas jail which has its own up address. I get the website with metrics. I have grafana running in a container on a ubuntu server. It seems that the grafana server cannot connect to node exporter in Prometheus on truenas. Any ideas why? It seems that grafana can’t connect to the external network. I’m new to docker/rancher/kubernetes. Thx bud
nice video, used stacks to deploy this, worked after only a few ds moves :)
Hello,
I've tried to install node-exporter so many times now but can't get it to work. I only recieve this: docker: Error response from daemon: path / is mounted on / but it is not a shared or slave mount.
Do you have any idea about what to do about that.
I'm running docker in a lxc container on proxmox.
me too and have a proxmox too... maibe cant be install over proxmox
Hello David, can do another video showing how to scrape data from containers? as far I could understand Node export only collects data from the host itself but not of the containers, it would be great if you create a video showing how to collect metrics of the containers
Thanks a lot. Very impressive dashboard and monitoring tool !!!!
Glad you like it!
Love your content. Always clear and reliable. Could you make a short video on how to set up Grafana for local https in Docker please?
I currently have many panels pulled into Home Assistant as /webpage cards, but unfortunately these won't load/display when viewed on a remote browser or the HA companion app, because the embedded links from Grafana are http.
Nowhere can I find this information.
Thanks.
You should use a reverse proxy such as nginx with letsencrypt free ssl and publish your cards using the front domain with https with the reverse proxy doing the job.
@@washingtoninf Good idea. I just set up Traefik for this a few days ago. I made DNS aliases (CNAMEs) for my services, pointed them t the proxy IP, and it servers the wildcard ssl certificate and forward the connect back to the correct host on the backend. I like how it automatically renews certs as well.
Well done! It works perfectly!
Awesome!
Great video as always!
I appreciate that
Superb. Really excellent. Thank you.
Thank you, all up and running!
Could you have a look at selfhosting Clockify in a docker container? would love a tutorial :)
Can it stores and monitor the information of our system on which grafana and Prometheus is installed by Docker?
Interesting Video. Is it possible to monitor docker container with this as well? And is it possible to use this on a VM?
I came here because, from the title, I though the dashboard would have docker container metrics. This is sort of useful, but since most of my apps are dockerized, I really want metrics for my containers more than the docker host.
Awesome Tutorial quick setup.. Thanks
Thanks, all up but grafana in not showing any data. Followed all your steps. prometheus works, node exporter spits out data...but dashboard on the grafana show "no data" on all of them. Thanks
Exactly the same thing happens to me, I installed it first in my virtual machine (omv6) and everything was perfect as DB says, but when I install it in my real server (OMV5) prometheus it seems that it does not take the data from node exporter :( you already solved it ?
I might have done something wrong but I cant choose any job from the dashboard, even though the service is picked up by prometheus.
Great video, thanks!
You bet!
Hi DB Tech
Thank you for your great content. I would like your help with a question. In your video, you have installed all software on the same server (Raspberry Pi). Let´s spouse that I have 4 different servers that I would like to monitor. I would like to monitor all of them from a single point (docker server with grafana). Should I install only node exporter in each server that I want to monitor or should I need to install Prometheus in all of them? In minute 9:41 of your video, you have a dashboard that shows several servers monitored. I would love to do the same. Do you mind sharing with us how you did it? Thank you for all your help. I´m having a lot of fun following your guides.
You would install Node Exporter on each of the servers you want to manage. Then you would modify the prometheus.yml file on your main server to have more lines:
nano prometheus.yml
global:
scrape_interval: 5s
external_labels:
monitor: 'node'
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['192.168.68.127:9090'] ## IP Address of the localhost
- job_name: 'node-exporter'
static_configs:
- targets: ['192.168.68.127:9100'] ## IP Address of the localhost
- job_name: 'node-exporter'
static_configs:
- targets: ['192.168.68.128:9100'] ## IP Address of the additional computer
- job_name: 'node-exporter'
static_configs:
- targets: ['192.168.68.129:9100'] ## IP Address of the additional computer
- job_name: 'node-exporter'
static_configs:
- targets: ['192.168.68.130:9100'] ## IP Address of the additional computer
Really helpful video...thanks a lot
Most welcome!
awesome tutorial, thanks so much
Glad it was helpful!
Thank you mate!
Great tutorial as always, but I cannot for the life of me get this working. I can bring up the metrics (node-exporter), and can also fire up prometheus, but when I click under service discovery, I cannot get Prometheus to pick up Node-exporter.... I created the prometheus.yml as suggested, with the applicable IP addresses, but/home/andy/docker/prometheus/prometheus.yml... can someone tell me if there's an issue with keeping it there rather than ETC? I adjust my docker stack accordingly to take into account my location, but I cannot get it to read it. Any thoughts?
if you are doing this for a VPS and not your pi, you should include the port 9100 into the allowed list, id suggest ip params setting it to only be accessible by the systems own IP but try it without that setting first.
Exactly the same thing happens to me, I installed it first in my virtual machine (omv6) and everything was perfect as DB says, but when I install it in my real server (OMV5) prometheus it seems that it does not take the data from node exporter under service discovery :( you already solved it ?
i dont see the code in the description below as you mentioned in the video
Click the link in the description
@@DBTechYT the link below only gives us code for a docker compose witch is not on the video tutorial. Makes it kinda confusing for some viewers
On that page, there is a description at the top and then 2 links; one for the docker compose and one for the prometheus.yml file. I just checked and even have the page open and am looking at it right now.
@@DBTechYT at the beginning of the video you mentioned we need to install node exporter, you then paste into putty a command and follow up with “all of this will be in the description down below” i know how to use docker compose, my first statement was “this could be confusing for some viewers“
Sorry if I’m missing something or just not making sense
Could I suggest a complete network monitoring setup ? Step by step please
Did you have something specific in mind?
@@DBTechYT i was searching the other day for just a network monitoring system. I'm having ping spikes every so often through my network and wanted to see what piece of equipment was taking up bandwidth. if it could be done through dashboard and outputted in grafana would be cool. I looked but most of the stuff, well it's above my learning or knowledge of implementing it . Maybe you know of something or .......
Thank you! worked perfect
Awesome! Thanks for the comment :)
TYVM i love ur vids
At 9:38 seeing you have few instances (node-exporter) which you can select in the drop-down menu in Instance section. My question is, so far I have 2 different Node-Exporter with State=up in Prometheus/Targets but in Grafana is showing me only 1 of 2. How did you get more nodes in the grafana dashboard ?
It's been a while since I did this video, but, if I remember correctly, I had to add additional lines to the .yml file... something like this I think:
global:
scrape_interval: 5s
external_labels:
monitor: 'node'
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['192.168.68.127:9090'] ## IP Address of the first host
- targets: ['192.168.68.128:9090'] ## IP Address of the second host
- job_name: 'node-exporter'
static_configs:
- targets: ['192.168.68.127:9100'] ## IP Address of the first host
- targets: ['192.168.68.128:9100'] ## IP Address of the second host
@@DBTechYT I've added like that but still not seeing another target from another host in the dashboard. missing something in the configuration OPNSense,Prometheus or Grafana
OPNsense is using Telegraf with output to Prometheus, could be there something
Prometheus is getting the node-exporter will all data but Grafana is not seeing it :(
Great video - spared me a lot of time. Some hickups though:
1. as of now you have to download and edit the json file to your preferred dashboard. Otherwise you just get "table-old" error reportin inside the dashboard.
2. my installation picks
/dev/loop1 98M 98M 0 100% /snap/core/10577
as root partition of the node - stating it is 100% full. Certainly this is not as intended...
Cool!!! Thanks!!!
Would it be possible to monitor devices not using docker ? I have a pi using steam link which can't be run in docker and would like to see performance
Should I still look at using Docker with the recent deprecation news? I'm just getting started.
What deprecation news? I've only heard that Kubernetes isn't supporting Docker the same way moving forward.
@@DBTechYT yeah, kind confusing to understand the impact this news for people that have a home lab. Do you see any issues using the Docker runtime long term or should I consider using another runtime for all my docker images?
Docker isn't going anywhere I don't think. The only change is the Kubernetes thing, so you should be just fine.
Hey man, how can i add my ext USB hdd mountpoint is /dev/sda1..... i cant finde a possibility
Nice! Thank you.
Thank very much for explaining and sharing your knowledge. If I start node exporter on another system how will I pull the data in the main system with prometheus?
Install Node Exporter on the new server. Then, on your existing system, add an additional node-exporter line in your prometheus file that has the IP address and port for node-exporter of your new device
Thank You
Last few days i try to figure out this, but failed.
In the Prometheus command the second part doesn't work for me for some reason, the :/etc/prometheus/prometheus.yml prom/prometheus. Did we have to create a /etc/prometheus folder beforehand?
This is what happens when you don't watch the video. 4:33
@@DBTechYT Hmm, still don't see the folder creation in etc there, no worries though - just used cloud commander and copied it over manually. Now it works!
I installed prometheus on all my nodes but I can't combine all of the data sources like yours. How did you do that? Great video btw.
I show the entire process in this video. Check your container logs to figure out what's going wrong
@@DBTechYT You actually are not showing that actually and that’s why I asked. Thanks anyway.
I got error in prometheus >>>Warning: Error fetching server time: Detected 48578.12199997902 seconds time difference between your browser and the server. Prometheus relies on accurate time and time drift might cause unexpected query results.
how to solve ??????
Great video. Can you do a video on DiskOver?
Great recommendation! I'll look into it
How do I get access to the grafana.ini file so I can update alert info (email, slack webnooks, etc.)?
Awesome
Hey, thanks for the video! I tried to get Grafana dashboard on my raspberry pi 2 model B, but, when I'm trying to add an id of grafana dashboard, I get a message: "Cannot read property 'result' of undefined", so the dashboard is empty. I tried to find a solution, but I didn't find a way to fix. Maybe you can help me? Thanks!
No idea. I don't have a Pi 2 to test on.
I used the stack on the link via Portainer. When using nano to write the prometheus.yml file, I get the following error when trying to save it: [ Error writing prometheus.yml: Is a directory ]. Any idea how to get around this?
Do the following:
Ssh into your server
Cd to the prometheus.yml
Remove it with: rm -rf prometheus.yml
Then re-create the file with: nano prometheus.yml
@@DBTechYT Thanks very much for the response. That solved that problem. I now can't get any data on my Grafana dashboard, but I'll keep plugging away!
All working now :)
Hi DB Tech
Thank you for your great content. I have a Mikrotik router that I would like to monitor. Do you know how I could monitor the Mikrotik router and switch using Prometheus and grafana? If you have a Mikrotik device I think it will be such great content to share. Thank you for all your help.
You can only monitor things that have an API that you can tap into.
In my lab I use Watchtower to update my containers and when I tried running Grafana, each time it would update it would lose its config. How do you go about making Grafana persistent?
Setup a link to a volume or bind mount like so: ./data/grafana:/var/lib/grafana
@@Marchand_ Think I tried that once and Grafana just didn't want to work.
dang, nice video!
Thanks!
but this graph are static not dynamic?
Hey, I just found your channel and you have some really good content. QQ, Do you know of any software that can report\monitor on specific process / services on windows? (Processes I pick)
I believe you can install Node Exporter on Windows and then monitor it this same way
Great video as always :) Question: in the .yml file, is it possible to add other ip for example other computers running prometheus, so i can have one dashborad for all my computers.?
You can install this to pull data from multiple servers, but you'll need to install the node-exporter docker container on each of the servers you want to pull data from.
Then your prometheus.yml file will look like this:
global:
scrape_interval: 5s
external_labels:
monitor: 'node'
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['192.168.68.127:9090'] ## IP Address of the localhost
- job_name: 'node-exporter-first-server' ## You can name 'node-exporter-first-server' basically whatever you want
static_configs:
- targets: ['192.168.68.127:9100'] ## IP Address of the localhost
- job_name: 'node-exporter-second-server' ## You can name 'node-exporter-second-server' basically whatever you want
static_configs:
- targets: ['192.168.68.250:9100'] ## IP Address of the localhost
Just keep repeating the last section that starts with "- job_name" all the way through the targets
Then you can toggle between the machines on the dashboard at the top where it says "JOB". You'll be able to select the server you want in the drop down.
@@DBTechYT How do i install node-exporter into each of my docker container?
You don't. It installs on your server and monitors everything
Hey thanks for the video. I'm failing at the first hurdle I'm afraid. When I run the node explorer container on my Synology, I get this message at the end of the install: docker: "Error response from daemon: linux mounts: path / is mounted on / but it is not a shared or slave mount.
" I tried Google but I cant seem to find a way to fix. Thanks!
Scrub that :) - I found this command "mount --make-rshared /" and all worked well then.
Awesome! Thanks for sharing your solution!!
@@DBTechYT Thank you for the video. Used Grafana at work but never thought to have it here for my personal NAS. Thanks again for all the great vids :)
I’m having this same error on a mac mini, can’t seem to figure this one out. Any suggestions?
|Can I use this to montier Docker Containers Ram , Network traffic and CPU usage ?
I'm almost positive there's a way to do that, but I've never done it myself.
Wow hello again
👋
When we are using a pc, the title and the controls of the video does not let us see the top and the bottom of your video. :(
That sounds like an issue on your end. I have never encountered what you're talking about. Can you send me a screenshot?
Can also turn plex into grafana. and if so could you turn this into a tutorial?
Another cool video..i gonna try it in my servers..is possible get info from another server..not just from the localhost? maybe have a centralized grafana-prometheus log server???..greets from argentina!!!
You can install this to pull data from multiple servers, but you'll need to install the node-exporter docker container on each of the servers you want to pull data from.
Then your prometheus.yml file will look like this:
global:
scrape_interval: 5s
external_labels:
monitor: 'node'
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['192.168.68.127:9090'] ## IP Address of the localhost
- job_name: 'node-exporter-first-server' ## You can name 'node-exporter-first-server' basically whatever you want
static_configs:
- targets: ['192.168.68.127:9100'] ## IP Address of the localhost
- job_name: 'node-exporter-second-server' ## You can name 'node-exporter-second-server' basically whatever you want
static_configs:
- targets: ['192.168.68.250:9100'] ## IP Address of the localhost
Just keep repeating the last section that starts with "- job_name" all the way through the targets
Then you can toggle between the machines on the dashboard at the top where it says "JOB". You'll be able to select the server you want in the drop down.
Well, this is way sexier than it has any business being
Right?!
That is sweet
can change prometheus port ?
Hello, thanks for this tutorial as well! :-) Everything worked, until I cannot for the life of me remember the username and password for my Grafana-install. What is the easiest way to reset this?
How to save n limit the data to 1 year rather than beginning of the server ?
delete old logs?
@@DBTechYT yes delete logs that are older than 1 year to save space.....can we automate this process ?
I have another server to monitor, how to add it on the same dashboard/"Instance" ?
just edit the prometheus.yml - separating the servers by colon and run node exporter on second host
static_configs:
- targets: ['192.168.68.127:9100','0.0.0.0:9100'] ## IP Address of the localhost
@@patrickgleissner3945 thanks
No info in descryption.
Seriously? There's a link right near the top of the description that has all the info you need that I can't put in the description because RUclips restricts what kind of stuff I can put in there.
@@DBTechYT When typing the command you said you could find it in the description, but there is nothing there (except a link with yml without a description of what it is).
This is in the description:
/===========/
I've been wanting to get into Grafana dashboards for a while, so here we go!
This is much easier to setup than I originally thought it would be and we can do it in about 5 steps.
Updated information here: dbt3ch.com/books/prometheus-grafana-dashboard
/===========/
If you click that link, you'll be taken to a page that says:
/===========/
Prometheus / Grafana Dashboard
After you've created the prometheus.yml file and have deployed the docker-compose, the rest of the steps are as follows:
- Select DataSource on home page. Select Prometheus.
- Search for: "node exporter grafana dashboards" on Google
- Look for results on grafana.com
- Find ID of the dashboard you like
(This is the dashboard I like: grafana.com/grafana/dashboards/11074)
- Import ID in Grafana
/===========/
With further information of the content of both files listed below.
How could I POSSIBLY make it easier?
I can't put all the information in a RUclips video description. RUclips won't let me. So I set up a website/repository of information for viewers to get the detailed information that RUclips won't let me put in the video descriptions.
This is the same method that lots of creators use to help their viewers get the information they need. Wanna know what some other creators do? NOTHING. They leave NOTHING in the description and expect the viewer to go find the information for themselves.
And, I can say this with 100% honesty, in the couple of years of doing this you are the only one who seems to take issue with it.
If I put a link in the description and you acknowledge the link but refuse to click it to get the additional information that is disclosed in the text before the link... I'm just lost on what you think the solution is...
is this info still valid??
There is a fantastic tool in SSH : bpytop
Just tried it on 2 different systems and got this result each time: -bash: bpytop: command not found
@@DBTechYT github.com/aristocratos/bpytop "Install python3 and git with a package manager of you choice
Install psutil python module (sudo might be required)
python3 -m pip install psutil"
Great walkthrough!
I followed you exactly and everything is working as expected except Prometheus. I keep getting this error but can't seem to figure out why and my Google-fu is letting me down.
level=error ts=2021-06-29T03:17:38.313Z caller=main.go:355 msg="Error loading config (--config.file=/etc/prometheus/prometheus.yml)" err="open /etc/prometheus/prometheus.yml: no such file or directory"
sir i want to monitor jitsi meet server with grafana any idea ?