GithubHelp home page GithubHelp logo

jut4eva / jut-cadvisor-agent Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jut-io/jut-cadvisor-agent

0.0 2.0 0.0 311 KB

Jut cAdvisor companion program to send metrics/events to Jut Data Node.

License: MIT License

Shell 2.17% Go 97.83%

jut-cadvisor-agent's Introduction

jut-cadvisor-agent

jut-cadvisor-agent is a companion program to [cAdvisor] (https://github.com/google/cadvisor), which monitors [Docker] (https://www.docker.com/) containers. It runs alongside cAdvisor, polling it for metrics/events, and sends those metrics/events to a Jut Data Node.

For more information on Jut Data Nodes and how to use the metrics and events collected from Docket containers, please visit our [Web Site] (http://www.jut.io) or read our [Documentation] (http://docs.jut.io).

Usage

jut-cadvisor-agent is typically run as follows:

 jut-cadvisor-agent --apikey=<apikey> --datanode=<jut data node hostname>

apikey is a string specific to your deployment. The jut data node hostname is a hostname of the form data-engine-192-168-37-12.jutdata.io.

Configuration

jut-cadvisor-agent can be configured from the command line or the environment. Command line arguments take precedence over environment variables.

###Environment Variables

The following environment variables control the behavior of jut-cadvisor-agent:

JUT_APIKEY - Jut Data Engine API Key. Must be provided in environment or on command line.
JUT_CADVISOR_URL - cAdvisor Root URL.
JUT_DATA_SOURCE - Data Source to use for points.
JUT_DATANODE - Jut Data Node Hostname. Must be provided in environment or on command line.
JUT_POLL_INTERVAL - How often to poll containers (seconds).
JUT_ALLOW_INSECURE_SSL - Allow insecure certificates when connecting to Jut Data Node.
JUT_METRICS - Collect Metrics from cAdvisor and send to Data Node.
JUT_EVENTS - Collect Events from cAdvisor and send to Data Node.
JUT_FULL_METRICS - Collect and report full set of metrics from containers.
JUT_SPACE - Jut Space to use for points.

###Command Line Arguments

The following command line arguments correspond to the above environment variables. Also included are their default values.

--apikey=""
--cadvisor_url=http://127.0.0.1:8080
--data_source="docker"
--datanode=""
--poll_interval=10
--allow_insecure_ssl=false
--metrics=true
--events=true
--full_metrics=false
--space="default"

Additionally, the following command line arguments can be provided to control logging behavior. They do not have corresponding environment variables.

--alsologtostderr=true - log to standard error as well as files.
--log_backtrace_at=:0: - when logging hits line file:N, emit a stack trace.
--log_dir="" - If non-empty, write log files in this directory.
--logtostderr=false - log to standard error instead of files.
--stderrthreshold=0 - logs at or above this threshold go to stderr.
--v=0 - log level for V logs.
--vmodule - comma-separated list of pattern=N settings for file-filtered logging.

jut-cadvisor-agent can also be run from Docker Hub. Assuming you have cAdvisor running in a container named "cadvisor", this docker run command will start jut-cadvisor-agent to poll cAdvisor and send metrics/events to your jut Data Node:

 docker run --detach=true --name jut-cadvisor-agent \
 --net=container:cadvisor jutd/jut-cadvisor-agent:latest \
 --apikey=<apikey> --datanode=<jut data node hostname>

Metrics Collected

jut-cadvisor-agent can be configured to collect and transmit a default set of important metrics for each container, or a much larger set of full metrics.

The default metrics include:

  • CPU: total/user/system, load_average
  • Memory: usage/working set
  • Network: bytes/packets sent overall (not per-interface)

The Full Set of metrics adds the following:

  • CPU: per-cpu usage
  • Details on disk I/O utilization
  • Memory: page fault counts
  • Network: per-interface information
  • Filesystem: per-filesystem I/O information
  • task information (sleeping/running/etc)

Logging

jut-cadvisor-agent uses [glog] (https://github.com/golang/glog) for logging. When run inside a container, jut-cadvisor-agent can be configured to log to standard error.

jut-cadvisor-agent's People

Contributors

normanjoyner avatar

Watchers

 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.