Ansible playbook to deploy docker, serviced and zenoss monitoring system
The primary purpose of the playbook is to prepare the environment which is required to run zenoss:
- deploy docker with lvm storage thin pool
- deploy serviced according to requirements optionally deploy a serviced cluster, which in the turn can be used to implement zenoss distributed monitoring
- deploy zenoss
The configuration options are documented at group_vars files. You can amend variables there or override it site_vars.yml Put hosts to the hosts. It's possible to deploy only docker.
- lvm_dev : block device for lvm and docker thin pool. the value of global variable will be used if not set.
- pool_name : name of serviced pool to assign host to. the default pool is used if not set.
- prepare : prepare environment
- docker : deploy docker
- serviced : deploy serviced
- zenoss : deploy zenoss
After required configuration prepared you can use setup script to start deployment.
./setup
At least one spare partition(>= 30 Gb) must be available and configured(lvm_dev) for docker and zenoss storage pools. 4 Gb RAM to run serviced services or 24 Gb to run zenoss
Supported OS:
- Redhat / CentOS 7
- Debian Stretch
- Ubuntu Xenial
ansible: 2.3.0
The playbook tested for serviced 1.5.0 and zenoss 6.1.2. Google cloud host is used for deployment as a reproducible clean environment. For a convenience Terraform script is supplied, see zenoss.tf
See also test script to test full cycle deployment to google cloud:
./test <your google cloud ssh key username>