Sign inSign up

d3vilh/cadvisor-arm

By d3vilh

Updated about 3 years ago

cAdvisor image for ARM64v8 computers including Raspberry Pi.

Image
0

1.5K

d3vilh/cadvisor-arm repository overview

DEPRICATED

BEWARE. this legacy branch was deprecated in favour of this build

New maintained version image supports ARM64v8, ARM32v5 and AMD64 architectures.

cAdvisor (Container Advisor) build for ARM64v8 provides container users an understanding of the resource usage and performance characteristics of their running containers. It is a running daemon that collects, aggregates, processes, and exports information about running containers. Specifically, for each container it keeps resource isolation parameters, historical resource usage, histograms of complete historical resource usage and network statistics. This data is exported by container and machine-wide.

cAdvisor has native support for Docker containers and should support just about any other container type out of the box. We strive for support across the board so feel free to open an issue if that is not the case. cAdvisor's container abstraction is based on lmctfy's so containers are inherently nested hierarchically.

Quick Start: Running cAdvisor in a Docker Container

To quickly tryout cAdvisor on your machine with Docker, we have a Docker image that includes everything you need to get started. You can run a single cAdvisor to monitor the whole machine. Simply run this Docker compose:

---
version: "3.1"

networks:
  back-tier:

services:
  cadvisor:
    container_name: cadvisor
    image: d3vilh/cadvisor-arm:latest
    restart: unless-stopped
    privileged: true
    command:
      - '--raw_cgroup_prefix_whitelist=/docker/'
      - '--docker_only=true'
      - '--disable_metrics=memory_numa,advtcp,cpuset,referenced_memory,cpu_topology,tcp,udp,percpu,process,hugetlb,sched'
      - '--housekeeping_interval=30s'
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:ro
      - /sys/fs/cgroup:/cgroup:ro
      - /sys:/sys:ro
      - /var/lib/docker/:/var/lib/docker:ro
      - /etc/machine-id:/etc/machine-id:ro
    devices:
      - '/dev/kmsg:/dev/kmsg'
    ports:
      - '8081:8080/tcp'
    networks:
      - back-tier

cAdvisor is now running (in the background) on http://localhost:8080. The setup includes directories with Docker state cAdvisor needs to observe.

Example visualisation in Grafana

IMAGE1 IMAGE2

You can run it with following Prometheus setup, as example:

services:
  prometheus:
    container_name: prometheus
    image: prom/prometheus:latest
    restart: always
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
      - '--storage.tsdb.path=/prometheus'
      - '--storage.tsdb.retention.time=90'
      - '--web.console.libraries=/usr/share/prometheus/console_libraries'
      - '--web.console.templates=/usr/share/prometheus/consoles'
    volumes:
      - ./prometheus/:/etc/prometheus/
      - prometheus_data:/prometheus
    ports:
      - 9090:9090
    links:
      - ping:ping
      - speedtest:speedtest
    networks:
      - back-tier

Prometheus config

Tag summary

Content type

Image

Digest

sha256:6c69585c0

Size

28 MB

Last updated

about 3 years ago

docker pull d3vilh/cadvisor-arm