Dockerfile all-in-the-box, plugins and templates to monitor various metrics in Québec.
Let's monitor Quebec! This work is inspired by http://iceland.adagios.org by @palli.
How to: run at home
Generate the configuration
(not mandatory) Fill the tokens needed for certain web services
$ cp scripts/tokens.py.copyme scripts/tokens.py $ <your-favourite-editor> scripts/tokens.py
Run the Docker container
The only dependency is Docker, on Debian- or Ubuntu-based distros you can:
$ sudo apt-get install docker.io
For a list of all installation guides for Docker, visit http://docs.docker.com/installation/#installation
After cloning the repository, just do:
$ sudo make run
If you installed Docker manually, perhaps the command to run it is
docker instead of
docker.io. In this case, run
sed -i s/docker.io/docker/g Makefile, or symlink docker.io to your docker
And now, navigate to
http://localhost:8080. Say hello to your instance!
- What? You really use sudo? This looks dangerous.
- In order to use Docker, admin rights are required. If you're not confident doing this, you can easily check that only the Ubuntu trusted image is downloaded, everything is built from it in the Dockerfile.
- What does it install on my machine?
- Nothing, except for Docker if you didn't have it already. Everything's installed in a container, which is more or less a virtual machine that you can throw away afterwards :-)
- Is it really that simple to run?
If you want to host this and get analytics, adapt the Piwik
For an easy-to-setup Piwik in Docker, try https://github.com/matthieucan/Dockerfiles/piwik
How to: contribute
Everything here is based on:
- back-end: the monitoring engine Shinken,
- front-end: the Django application Adagios,
- all-in-the-box: the container manager Docker.
If you want to add a metric in an existing category, you can add
relevant information in
If you want to create a new category, create a script in
scripts/<your-cool-idea>.py, and an entry in the Makefile.
The scripts are used to generate the Shinken configuration, which uses plugins. Most of the plugins are hosted on Open Build Service, a service from OpenSuse which allows us to build Debian packages, which are easier to install in the Docker container. If you need inspiration to write new plugins, check out their source code and our plugins library.
To have a nice development environment:
Please install npm
sudo apt-get install npm
make dev will:
- generate the configuration from your scripts/ (look in the Makefile),
- bring you in an interactive Docker environment (where you can play with Shinken, Apache, and the various scripts),
- map the frontend application from your harddrive to your container,
- map the specific Quebec247 configuration from your harddrive to your container.
service shinken start && service apache2 start in your
container. Make changes to the
scripts/*.py (backend) or
(frontend), run your scripts, restart Shinken in your container, and everything
will be automatically updated!
Pull requests, patches, bug reports, feedback and pizzas are always welcome!
How to: contact us
If Github workflows (issues, pull-requests) are not suitable for you, or if you prefer to use traditional email, you can reach us through email@example.com.
We're looking forward to hearing from you!