Effortless Server Monitoring: Install Grafana, Prometheus & Node Exporter with Docker!

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ส.ค. 2024
  • 🔍 Ready to elevate your server monitoring game? In this tutorial, I'll guide you through setting up Grafana via Docker for real-time server metrics visualization. We'll also cover installing Prometheus and Node Exporter and integrating it with Grafana to create a powerful, customizable dashboard.
    📊 What you'll learn:
    How to install Grafana using Docker for seamless deployment.
    Step-by-step instructions to set up Prometheus and Node Exporter for gathering detailed system metrics.
    Easy integration of Prometheus with Grafana for a dynamic monitoring experience.
    Customizing your Grafana dashboard to suit your specific monitoring needs.
    🚀 Whether you're managing a single server or a complex network, this video is perfect for IT professionals, system administrators, and tech enthusiasts looking to streamline their monitoring processes.
    🔗 Useful Links:
    Discord Channel - / discord
    Grafana
    ----
    Grafana Website - grafana.com
    Grafana Docker Compose - docs.techdox.nz/grafana/
    Prometheus
    ----
    Prometheus Website - prometheus.io
    Prometheus Docker Compose - docs.techdox.nz/prometheus/
    Node Exporter
    ----
    Node Exporter Website - prometheus.io/docs/guides/nod...
    Node Exporter Documentation - docs.techdox.nz/node-exporter/
    ✅ Don't forget to subscribe to Techdox for more tech tips, tutorials, and insights into the world of IT and server management. Hit the bell icon to stay updated on our latest content.
    💬 Questions, thoughts, or feedback? Drop a comment below - I'd love to hear from you!
    timestamps:
    0:00 Introduction
    1:51 Grafana Install
    6:05 Prometheus Install and Setup
    13:30 Node Exporter Install and Setup
    23:50 Setting up Node Exporter in Prometheus
    26:40 Grafana Dashboard Setup
    30:45 Closing Thoughts
    #Grafana #Docker #NodeExporter #ServerMonitoring #Techdox"
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 80

  • @loopcat4369
    @loopcat4369 9 วันที่ผ่านมา

    I cannot express how greatful I am for this guide. This is the only one that worked first try with no problems :)

    • @Techdox
      @Techdox  9 วันที่ผ่านมา

      Glad you found it helpful :)

  • @arthuradolfotharp1737
    @arthuradolfotharp1737 5 หลายเดือนก่อน +1

    Concise, yet thorough. Wonderful explanations!
    Gracias hombre.

  • @stephanejaglin221
    @stephanejaglin221 7 หลายเดือนก่อน +2

    Hi, yet another excellent tutorial, I have been looking for such a clear set of explanations for a while. Hopefully I will have some time over the weekend to apply. Thanks for that, much appreciated 👍🏻

    • @MartinHiggs84
      @MartinHiggs84 7 หลายเดือนก่อน

      I agree another great tutorial 👍 may dig out an old pi to test before live environment

  • @TheZjeemvel
    @TheZjeemvel 4 หลายเดือนก่อน

    Great walktrough, followed step by step and everything is working.

  • @oceanz55
    @oceanz55 7 หลายเดือนก่อน

    Fantastic yet again! Thank you for the tutorial and keep them coming. Your teaching style is precise and very easily followed. I look forward to your next video! Cheers

    • @Techdox
      @Techdox  7 หลายเดือนก่อน

      Thank you :)

  • @goovespy19
    @goovespy19 5 หลายเดือนก่อน

    Just what I needed Thank you !!!! super to the point !!!

  • @cyberjohn44
    @cyberjohn44 6 หลายเดือนก่อน

    Excellent video and continue to keep up the good work.

  • @KewlkatNDahat
    @KewlkatNDahat 6 หลายเดือนก่อน

    Very kewl stuff. Started a proxmox server(HP 800 G5 TWR, had a couple from work) 2 months ago and been learning a lot. I just have 1 ubuntu VM running with up to 10 docker containers, so far. Mostly for plex and Arrs...I like how you explain the commands in your videos. Trust me I've been on many youtubers sites...hehe I need to be able to expose some of my services soon, so more learning to do. Thx

  • @JonBrookes
    @JonBrookes 7 หลายเดือนก่อน

    This is ace. Thanks for posting. Very clear easy to follow. You have to like a nice graph and grafana certainly delivers

    • @Techdox
      @Techdox  7 หลายเดือนก่อน

      Agreed! Something satisfying when you get that dashboard setup and start to see the metrics flow in

  • @m6t6ng6
    @m6t6ng6 2 หลายเดือนก่อน

    So satisfying to see this is working on my home's lab! Thank you much, bro! --- Greetings from Argentina

  • @abrudner
    @abrudner 5 หลายเดือนก่อน

    Underrated channel! Looking forward to your growth!

    • @Techdox
      @Techdox  5 หลายเดือนก่อน

      Thank you!

    • @ivcbusinesssystems6613
      @ivcbusinesssystems6613 5 หลายเดือนก่อน

      Just discovered it... Liking & Subscribing NOW!!!

  • @helioradial
    @helioradial 2 หลายเดือนก่อน

    praise you dude! just started to monitor my homelab, and this came at the right time. keep up the good work :D

    • @Techdox
      @Techdox  2 หลายเดือนก่อน

      Thanks! Appreciate it

  • @fromhousesheoran
    @fromhousesheoran 3 หลายเดือนก่อน

    Love this, thanks man, you are a life saver, just beautifully amazing

  • @sjaafrhisjad6048
    @sjaafrhisjad6048 6 หลายเดือนก่อน

    really great tutorials, and helpfull person!! hope ur channel gonna be successfull!

  • @user-ft1lz6kk3h
    @user-ft1lz6kk3h 6 หลายเดือนก่อน

    Thank you Bro very useful this tutorial.

  • @megacast
    @megacast 3 หลายเดือนก่อน

    Thanks. A tip for your video. Add 2 small separation lights behind you. Preferably tuned to the background color. Continued success

  • @stephanejaglin221
    @stephanejaglin221 7 หลายเดือนก่อน +3

    Thanks

    • @Techdox
      @Techdox  7 หลายเดือนก่อน

      You are very kind! Thank you

  • @lucky.cat.777
    @lucky.cat.777 5 หลายเดือนก่อน

    Thanks!

    • @Techdox
      @Techdox  5 หลายเดือนก่อน +1

      Thank you for the support! Have a great day

  • @TheOpinionatedYouTuber
    @TheOpinionatedYouTuber 7 หลายเดือนก่อน +1

    This was an excellent tutorial. I’m just starting to get into playing with Docker in my lab environment.
    Is there a way to use this setup to query SNMP hosts like routers and wifi APs and printers??
    Thanks in advance!

    • @Techdox
      @Techdox  7 หลายเดือนก่อน

      Hey mate, glad you found it useful!
      So the same could be used in that situation I think, but instead of a node exporter you could use a SNMP exporter, I have not used it before though so kinda assuming here

  • @parshantjagwani30
    @parshantjagwani30 5 หลายเดือนก่อน

    ThankYou for making my life easy it was a hell, I was setting it up on EC2 Instance, tried various methods something was going wrong every time.
    But I want to run Grafana on port=3020 its was unable to reach. anyways I set it up on port=3000

  • @Cloecher11
    @Cloecher11 4 หลายเดือนก่อน

    Thank you for posting this. I've tried doing the influxdb, telegraph, grafana way to visualize data on my servers, but that's overly complicated. This was very easy and straight forward. The only question I have is is there a way to set Prometheus to store metrics on remote storage? I'm running my docker container on a nuc with a small hard drive and would love to have metric data living on a share hosted by my TrueNAS server.

    • @Techdox
      @Techdox  4 หลายเดือนก่อน

      Yeah so you can set the Prometheus data location to the shared drive, Docker supports NFS as it’s pretty critical for a lot of production environments and swarm

  • @rakeshshelar5046
    @rakeshshelar5046 3 หลายเดือนก่อน

    nice video but I am getting error while creating Data source . 403 Forbidden - There was an error returned querying the Prometheus API.

  • @paspaiocaeedro4824
    @paspaiocaeedro4824 5 หลายเดือนก่อน

    Hi great video!
    I just have a query, since I'm just trying to monitor two servers.
    I create another job under the /prometheus/prometheus/prometheus.yml. The problem is that I cannot see the second job. And the first one is named as your job "elzim" I already change ip's and job names but still cannot get the second one running. I restarted the node exporter and both grafana to no avail.
    Edit: I'm now able to see the second job, but not the second "ip/host" in grafana. And one of the jobs is still stuck with the "elzim" name
    I have the current config.
    - job_name: server1
    static_configs:
    - targets: ['x.x.x.x:9100']
    - job_name: server2
    static_configs:
    - targets: ['y.y.y.y:9100']
    I will appreciate any advice. Thank you!

    • @Techdox
      @Techdox  5 หลายเดือนก่อน

      This is my one - paste.techdox.nz/?d51044dfb4c2bab7#2zZqTg2vwUtfyWV7e4xzjG2mryqqc5YNn2AsmY8vKM2h

  • @ChaidirCB
    @ChaidirCB 5 หลายเดือนก่อน

    Quick questions guys,
    1. how to setup so it could read event at different network/wifi let say I install node exporter at other device as agent, aleady setup allow port and even turn off firewall but noting avail.
    2. related to point one, I try to install in server (linux) but only accessible via domain like domain/metrics give me data unlike point number one but when I setup config YAML with domain its error and not even show in local 9090
    notes I used macos m2 as host installed / setup Prometheus & Node Exporter via brew on terminal. Thx.

    • @Techdox
      @Techdox  5 หลายเดือนก่อน

      If you can, jump into the discord and I can try help there :)

  • @ndchartier
    @ndchartier 7 หลายเดือนก่อน

    Now that this works, can you access it outside your local network trough a Cloudflare tunnel?

    • @Techdox
      @Techdox  7 หลายเดือนก่อน

      100% just expose Grafanas port via your Cloudflare tunnel

  • @m7mmadomar
    @m7mmadomar 4 หลายเดือนก่อน

    Thank you, this is wonderful.
    I have a question: I have multiple servers and I want to display them within one Grafana dashboard, meaning more than one control panel for different servers. Is this possible? Please explain the matter to me.

    • @Techdox
      @Techdox  4 หลายเดือนก่อน

      Thank you! So you can have your servers in one dashboard. When you have say a CPU tile watching the utilisation, you can change the query of that tile and specifically point to your server and then rinse and repeat for the others.
      By default I believe the tile is looking at what ever value you have selected for the server as a variable.
      If that makes sense?

    • @m7mmadomar
      @m7mmadomar 4 หลายเดือนก่อน

      @@Techdox Okay, but how can I identify the secondary servers? Do I need to add them?
      Or download Grafana again on each server?
      I searched for a solution but couldn't find one.

    • @Techdox
      @Techdox  4 หลายเดือนก่อน

      @@m7mmadomar you follow the same steps I showed in this video. All data from your servers come from Prometheus and Node exporter, once all those logs are in Grafana you can use them as you please.
      It’s just a matter of playing around with the Grafana queries

    • @m7mmadomar
      @m7mmadomar 4 หลายเดือนก่อน

      Alright, I am not very experienced in this matter. I will try.@@Techdox

  • @stephanejaglin221
    @stephanejaglin221 7 หลายเดือนก่อน

    By the way what terminal emulator do you use, I like the path preview popping up!

    • @Techdox
      @Techdox  7 หลายเดือนก่อน

      I’m using iterm2 but the path preview etc is a service called fig

    • @stephanejaglin221
      @stephanejaglin221 7 หลายเดือนก่อน

      Thanks a lot. Have applied your tutorial to my servers (mini Lenovo sff and qnap) successfully, amazing graphs! Thanks a bunch 🙏🏻

  • @kaustubhwani1647
    @kaustubhwani1647 หลายเดือนก่อน

    Excellent Video !! but I'm getting same issue as simuman - " Got a line at the bottom saying "info msg="TLS is disabled." http2=false address=[::]:9100"> "
    and node_exporter data is not visible outside server, It's visible only inside the server

    • @Techdox
      @Techdox  หลายเดือนก่อน

      Jump into the discord, will be happy to help

  • @thedurtyversion
    @thedurtyversion 3 หลายเดือนก่อน

    does it works for raspberry pi 4 64bit ARM?

    • @Techdox
      @Techdox  3 หลายเดือนก่อน

      Sure does, check out the image on DockerHub under tags to check support - hub.docker.com/r/grafana/grafana/tags

  • @dennisfechner7
    @dennisfechner7 13 วันที่ผ่านมา

    great video!
    i have one problem (same issue i had when running it under windows),
    when i edit the yml, adding a target and restart prometheus it simply crashes, i have already checked the yml for any errors.
    maybe someone here knows the issue?

    • @Techdox
      @Techdox  13 วันที่ผ่านมา +1

      The container crashes? Are you sure you don't have the yaml formatted incorrectly? That will break things

    • @dennisfechner7
      @dennisfechner7 13 วันที่ผ่านมา

      @@Techdox the Prometheus container yes, i fixed it by completely reinstalling the lxc container and creating the yml from scratch. there was something weird going on with the container (lxc) and/or with the yml.
      Thanks for the reply!
      Greatest video on that topic :D

  • @darshansunilmalagimani2649
    @darshansunilmalagimani2649 หลายเดือนก่อน

    I see only a single endpoint in Prometheus after setting it up. I’m not able to get the metrics on grafana. Please help!

    • @Techdox
      @Techdox  หลายเดือนก่อน

      Did you restart your Prometheus container so it can pick up the new exporters?

    • @darshansunilmalagimani2649
      @darshansunilmalagimani2649 หลายเดือนก่อน

      @@Techdox works now thanks a lot!

  • @000shahul
    @000shahul 4 หลายเดือนก่อน

    Hi Sir,
    Can I ask something?
    Why we are combining promethus and grafana?Instead we can use grafana only,right?
    What extra advantage we will get if we combine these 2?

    • @Techdox
      @Techdox  4 หลายเดือนก่อน

      Grafana by itself is just for the dashboards, you need to bring data into Grafana and we are using Prometheus to grab that data and store it, we then pass that data over to Grafana to create nice dashboards

    • @000shahul
      @000shahul 4 หลายเดือนก่อน

      why alternative tools like Kibana, Microsoft Azure Monitor, and others are not being considered or used.@@Techdox

    • @Techdox
      @Techdox  4 หลายเดือนก่อน

      @@000shahul Azure monitor is not a self hosted solution. Kibana is just another product I have yet to make content around.

  • @simuman
    @simuman 5 หลายเดือนก่อน

    Hi, bit late to the party I know, followed along and everything went great until I started the node_exporter service. Got a line at the bottom saying "info msg="TLS is disabled." http2=false address=[::]:9100"> Anybody know what I've done wrong?

    • @Techdox
      @Techdox  5 หลายเดือนก่อน

      Is the service running? I think that’s just a generic info message

    • @simuman
      @simuman 5 หลายเดือนก่อน

      @@Techdox Says that service status is running, but nothing coming through to Grafana. Just completely rebuilt server today and started from scratch and same message have not got to setting up dashboard yet will let you know. Yeah, completed all the steps shown in video, still same issue. Name of job does not show in Grafana and nothing coming through to dashboard obviously as not seeing job. Looks like data is being captured as when I run the curl statement seems to have some values showing. Should there be an IP address in the "listening on" line when you run the systemctl status command of the service. Mine is showing "Listening on" address=[::]:9100.
      Not sure what the issue was, but found that after recopying the prometheus.yml file it all came to life. All good.

  • @Jpes211
    @Jpes211 หลายเดือนก่อน

    I have a question, on grafana how can you add more host?

    • @Techdox
      @Techdox  หลายเดือนก่อน +1

      Like more systems to monitor? You deploy node exporters on them

    • @Jpes211
      @Jpes211 หลายเดือนก่อน

      @@Techdox i have try this but it only appears on prometheus, but on grafana those not

    • @Techdox
      @Techdox  หลายเดือนก่อน +1

      @@Jpes211 jump into the discord and I can help. Link should be in my videos latest description

    • @Jpes211
      @Jpes211 หลายเดือนก่อน

      @@Techdox hi, sorry I wasn't on my pc, do you have time today?

    • @Techdox
      @Techdox  หลายเดือนก่อน

      @@Jpes211 yup, Discord is always open :)

  • @arjuna5051
    @arjuna5051 5 หลายเดือนก่อน

    What terminal/shell are you using?

    • @Techdox
      @Techdox  5 หลายเดือนก่อน

      Hey! I’m using iTerm2 with OHMYZSH and the Dracula theme

    • @arjuna5051
      @arjuna5051 5 หลายเดือนก่อน

      Can I use this tutorial in a production environment? How can we make this more secure? And please make a video about integrating loki with these.

    • @Techdox
      @Techdox  5 หลายเดือนก่อน

      @@arjuna5051 you can, depends how it’s going to be accessed, making sure you setup users and with the permissions they need etc if it’s public you can put it behind Cloudflare zero trust SSO. There’s a few ways to go about it

    • @arjuna5051
      @arjuna5051 5 หลายเดือนก่อน

      Thanks. Your duplicati video really saved me when duplicati on one of my server stopped working and I couldn't troubleshoot it or reinstall.

  • @willia_music
    @willia_music 3 หลายเดือนก่อน

    ✅clear points
    ✅chapters in video
    ✅accompany blog posts

  • @Zphex
    @Zphex 28 วันที่ผ่านมา

    Hey, im following the steps exactly, but when I docker compose up prometheus, I get a fail start.
    When I look at logs, I see:
    "field tergets not found in type struct { Targets []string \"yaml:\\\"targets\\\"\"; Labels model.LabelSet \"yaml:\\\"labels\\\"\" }"
    ts=2024-07-05T20:20:39.657Z caller=main.go:537 level=error msg="Error loading config (--config.file=/etc/prometheus/prometheus.yaml)""
    Following it exact, I have even tried changing the path, but now working
    Seems the dir might not be passing throught?

  • @bobskiiii
    @bobskiiii 2 หลายเดือนก่อน

    Any idea why my Prometheus container is not hot-reloading?
    I was racking my brain trying to figure out why it wouldn't see my custom exporter after updating the prometheus.yml file, trying all kinds of ip/localhost/dns until I decided to remove the default metrics and saw no changes on the Prometheus web-app
    Sure enough, taking down the container and restarting it updated the metrics it could see.
    I'm using the same volume/binds as yours in the docker-compose.yml files

    • @Techdox
      @Techdox  2 หลายเดือนก่อน

      Can it hot reload? I have had to restart it each time I make a new connection. I think I showcased that in the video