d3vilh/cadvisor-arm
cAdvisor image for ARM64v8 computers including Raspberry Pi.
275
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.
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
docker pull d3vilh/cadvisor-arm