/docker-prometheus

Docker project to build Prometheus images (for ARM)

MIT LicenseMIT

Prometheus on ARM

This project produces Prometheus Docker images for ARM hosts (and one for x64 for testing).

The available tags are:

  • armhf: for 32-bits ARM hosts (built on Travis)
    Layers
  • aarch64: for 64-bits ARM hosts (also built on Travis)
    Layers
  • latest: for x86 hosts (auto-built on Docker Hub
    Layers

The images are all based on Alpine Linux with the ARM images having a small QEMU binary to be able to build them on x64 hosts.

Usage

The image uses the same ENTRYPOINT and CMD instructions as the official prom/prometheus image.

To run it, use:

docker run -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml \
       rycus86/prometheus

This will take your Prometheus config from /tmp/prometheus.yml and use it to start the x64 version on port 9090.

To run it with docker-compose:

version: '2'
services:

  prometheus:
    image: rycus86/prometheus:aarch64
    restart: always
    ports:
     - "9090:9090"
    volumes:
     - /tmp/prometheus.yml:/etc/prometheus/prometheus.yml

  ...

This will start the 64-bits ARM version with the configuration as above but because of docker-compose you can refer to the monitored applications with their service name as hostname. For example if you have a webapp service exposing metrics on port 9123 you can configure it in the prometheus.yml file as:

...

scrape_configs:

  - job_name: 'web_app'
    
    static_configs:
     - targets: ['webapp:9123']
  
  ...