Skip to content

apel/container_accounting

Repository files navigation

container_accounting

The below documentation assumes deploying the entire system as docker containers. Other deployment methods (such as using non-containerized versions of the software) is theoretically possible, but not supported.

Running the container accounting collector involves running two containers.

  1. cAdvisor 0.35.0
  2. an APEL container

The APEL container:

  • Periodically and frequently polls the cAdvisor API to "monitor" the running containers, storing one measurement per container per day in a remote elasticsearch.

Running the container accounting collector

To run the container accounting collector

  1. Make sure you have the latest versions of the docker-compose.yml file and the client.cfg file. Further instructions will assume a directory structre as follows
    .
    |__ docker-compose.yml
    |__ conf
        |__ client.cfg
  1. Pull the latest images.
docker-compose pull
  1. Edit conf/client.cfg
  • set site_name to a meaningful, human readable, identifier for your site. This will be visible in the accounting dashboard.
  • set the elasticsearch url
  1. Edit docker-compose.yml to suit your exact deployment
  • You'll need to replace ./conf/client.cfg with the absolute path.
  • Possibly edit PUBLISH_FREQUENCY. This is the delay (in seconds) between runs of the accounting client and should correspond to how much accounting data you are happy to risk loosing. If a container is stopped between runs of the accounting client, the final resource usage for that container may not get accounted for.
  1. Run the two containers
docker-compose up -d cadvisor
docker-compose up -d apel
  1. You should start see data in the accounting dashboard within minutes, although it will take 24 hours for some charts to update.