Code Monkey home page Code Monkey logo

docker-monitor's Introduction

Docker Container Monitoring

Monitor real-time and historical memory, cpu, and network usage of your Docker containers.

Run cAdvisor with InfluxDB and Grafana

Launch the cAdvisor monitoring service with an InfluxDB storage backend and Grafana web-based dashboard with a simple command. Everything runs in Docker containers, so you don't need to install anything. Several Grafana dashboards are created for you: one showing all containers, and one for each.

docker-compose.yml is a Docker Compose definition that starts the three services in containers and wires them together for you.

Read docker-compose.README.md for details.

Connect Grafana to InfluxDB & Share Team Dashboards

Once cAdvisor is writing to InfluxDB, you'll need to configure Grafana to connect to InfluxDB, then load up your team's shared Dashboards.

create-dashboareds.sh ensures that an InfluxDB database and user exists, that Grafana has a data store that points to it, and all Grafana dashboards are created.

Read create-dashboards.README.md for details.

Try It Out!

TODO: Update screenshots

Try out the "All Containers (Stacked)" dashboard, which shows the CPU, memory, and network activity for all of your Docker containers.

Note about Container Network Usage: if you use --net=host option in Docker, each container is reporting all traffic on the shared network interface, so you'll lose per-container visibility. You'll need to click on a single container to see the proper sum of all.

  1. Start your monitoring Docker cluster. The first time you run this might take a little while, since Composer will need to download Docker images from the Docker Hub:

    docker-compose up
    
  2. Wait 10 seconds, so the services have time to start.

  3. Run this command, which will set up Grafana to talk with InfluxDB, and create dashboards for any existing Docker containers:

    ./create-dashboards.sh
    
  4. View your new Grafana dashboard at http://localhost:3000 with admin/admin

Grafana screenshot

  1. View your new cAdvisor realtime performance monitoring dashboard at

http://localhost:9090.

cAdvisor screenshot

  1. Query for specific metrics using your new InfluxDB instance at http://localhost:8083.

InfluxDB screenshot

  1. Re-run the shell script at any point, to create dashboards for all of the currently-running Docker containers

    ./create-dashboards.sh
    

docker-monitor's People

Contributors

wblakecaldwell avatar

Watchers

James Cloos avatar Hua Zhang avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.