• Stars
    star
    122
  • Rank 292,031 (Top 6 %)
  • Language
    Shell
  • Created over 9 years ago
  • Updated about 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Scripts and configuration to help you monitor your Docker containers

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
    

More Repositories

1

patricia

Garbage collector-sensitive patricia tree for IP/CIDR tagging
Go
250
star
2

convis

Rust
110
star
3

netdiag

Rust
75
star
4

ktranslate

System for pulling and pushing network data.
Go
56
star
5

pkg

Build Linux packages
Go
44
star
6

mobx-form

Declarative, complex forms with Mobx/React with lots of dynamic/imperative hooks
JavaScript
30
star
7

snmp-profiles

SNMP Profiles for ktranslate
23
star
8

config-snippets

Public repository that contains all available config snippets Kentik users can leverage to configure their networking equipments to export data to Kentik.
17
star
9

kprobe

Rust
15
star
10

kentik-lite

Explore your Linux host's network data via Kentik, Prometheus and Grafana.
Shell
10
star
11

community_sdk_python

Python
7
star
12

odyssey

Kentik Synthetics Kubernetes Operator
Go
6
star
13

kentik_add_device

Python script to load devices from .csv file via the API
Python
4
star
14

synth_tools

Tools supporting creation of synthetic tests
Python
4
star
15

config-snippets-cloud

config-snippets repo for Kentik cloud based deployments
Python
4
star
16

custom-notification-templates

Custom Webhook notification templates for your Kentik portal notifications
Go
3
star
17

terraform-provider-kentik-synthetics

Terraform provider supporting configuration of synthetic agents and tests in Kentik
Go
3
star
18

integrations

Example Integrations
Go
3
star
19

ksynth

Kentik Synthetic Agent
Rust
3
star
20

notarize

2
star
21

wdb_fdw

C
2
star
22

kentikapi-py

Python Kentik API client modules
Python
2
star
23

kentik_image_cache

Python
2
star
24

customer-scripts

Azure Cloud Setup
PowerShell
1
star
25

labs_blog

HTML
1
star
26

community_sdk_golang

Golang libraries - SDK
Go
1
star
27

v8vm

Rust
1
star
28

gowhitedb

Go language binding for WhiteDB
Go
1
star
29

ipset

Another minimal Patricia trie (radix tree, r=2) implementation
Go
1
star
30

api-schema-public

Python
1
star
31

k8s-ping

Rust
1
star
32

gohippo

Go
1
star
33

kentik-kube-deploy

Shell
1
star
34

aws-map-builder

AWS Serverless-based solution to build AWS network topology map using AWS SDK within Lambda function and ingest it into Kentik portal
JavaScript
1
star
35

cloud-meta

Rust
1
star