cAdvisor Test - y12studio/y12io GitHub Wiki

cAdvisor only

google/cadvisor

$ sudo docker run \
  --volume=/var/run:/var/run:rw \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --publish=8080:8080 \
  --detach=true \
  --name=cadvisor \
  google/cadvisor:latest
$ sudo docker run --name some-mysql \
   -e MYSQL_ROOT_PASSWORD=mysecretpassword -d mysql

curl POST

$ curl -i -H "Accept: application/json" -X POST http://localhost:8080/api/v1.0/machine
HTTP/1.1 200 OK
Date: Thu, 07 Aug 2014 03:42:24 GMT
Content-Length: 44
Content-Type: text/plain; charset=utf-8

{"num_cores":1,"memory_capacity":4145586176}
$ curl -X POST http://localhost:8080/api/v1.0/containers/docker/some-mysql | python -m json.tool

time-event json, allow data to be pushed to influxdb #39 that suits the data.

       {
            "cpu": {
                "load": 0,
                "usage": {
                    "per_cpu_usage": [
                        1611849380
                    ],
                    "system": 1000000000,
                    "total": 1611849380,
                    "user": 420000000
                }
            },
            "memory": {
                "container_data": {
                    "pgfault": 39173,
                    "pgmajfault": 182
                },
                "hierarchical_data": {
                    "pgfault": 39173,
                    "pgmajfault": 182
                },
                "usage": 604106752,
                "working_set": 588668928
            },
            "network": {
                "rx_bytes": 0,
                "rx_dropped": 0,
                "rx_errors": 0,
                "rx_packets": 0,
                "tx_bytes": 0,
                "tx_dropped": 0,
                "tx_errors": 0,
                "tx_packets": 0
            },
            "timestamp": "2014-08-07T03:47:05.387437215Z"
        }

with influxDB

influxDB

$ sudo docker run -d --name=influxdb1 \
  -p 8083:8083 -p 8086:8086 --expose 8090 --expose 8099 tutum/influxdb
// create database cadvisor from http://localhost:8083
$ sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}' influxdb1
172.17.0.2
$ sudo docker run \
  --volume=/var/run:/var/run:rw \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --publish=8080:8080 \
  --detach=true \
  --name=cadvisor \
  google/cadvisor:latest \
  -storage_driver influxdb \
  -storage_driver_host 172.17.0.2:8086 \
  -storage_driver_name cadvisor \
  -storage_driver_user root \
  -storage_driver_password root

InfluxDB query port:8083

select * from /.*/ limit 10

json api http://192.168.2.73:8086/db/cadvisor/series?u=root&p=root&q=select%20*%20from%20cadvisorTable%20limit%2010

columns: [time, sequence_number, container_name, cpu_cumulative_usage, cpu_cumulative_usage_system,…]
0: "time"
1: "sequence_number"
2: "container_name"
3: "cpu_cumulative_usage"
4: "cpu_cumulative_usage_system"
5: "cpu_cumulative_usage_user"
6: "cpu_instant_usage"
7: "machine"
8: "memory_container_pgfault"
9: "memory_container_pgmajfault"
10: "memory_hierarchical_pgfault"
11: "memory_hierarchical_pgmajfault"
12: "memory_usage"
13: "memory_working_set"
14: "per_core_cumulative_usage_core_0"
15: "per_core_instant_usage_core_0"
16: "sample_duration"
17: "timestamp"
name: "cadvisorTable"

InfluxDB Aggregate Functions

select MAX(memory_usage) from /.*/ group by time(1m)
SELECT STDDEV(memory_usage) FROM /.*/