Concierge managed Zabbix monitoring server for Mesoform
952
Ansible playbook for creating a Zabbix Server container, orchestrated by Containerpilot and maintained using the principles of Concierge Paradigm. In fact, this is one of the components that principle.
The Concierge Paradigm is a principle for auto-operating containers. It makes use of a service discovery system (Consul) and event management system (Zabbix) as a Concierge System which look after each other and all workloads under their domain of control.
This is the Zabbix Server implementation of the Concierge System
There are Docker Compose files in the root directory. docker-compose-full-stack.yml is a good place
to start because it has services for the web server, consul, Zabbix server, and database if running
as a container in the same cluster (Other DB instances work just as well. In fact testing is done using
Google CloudSQL)
To configure the Zabbix server, add any Zabbix Server variables
as environment variables in the Compose file, prepended with ZBX_. For example to set DebugLevel
to 5 (very verbose), add
environment:
ZBX_DebugLevel: 5
Additional variable need to be set for creating the database schema and zabbix user for the database:
MYSQL_ROOT_USER, MYSQL_ROOT_USER and CREATE_ZBX_DB_USER which need to be set to the root user
and password for the database instance and a boolean to tell the orchestration script to create a user
on the instance for the Zabbix server to use
These variables will allow your container to start but if you want to automate the import of further, domain specific configuration like templates you will want to look to set the following values:
ZABBIX_API_USER default = Admin
ZABBIX_API_PASS default = zabbix
ZABBIX_API_SERVER default = zabbix-web
Change the zbx_srv_ver Ansible variable to the desired Zabbix version and bump img_ver. Then run
ansible-playbook -v app.yml
This will create you a new concierge-zabbix image with a tag for latest and one for the value of img_ver
The installation scripts are written as templates to try and reduce the need to modify them with each
new upgrade. If there is a need to make changes, some obvious updates have been considered like package
or build dependencies that need to be installed, so Ansible variables have been declared called package_dependencies
and build_packages. For more complex changes, the script templates can be found in the templates/scripts
directory
Content type
Image
Digest
Size
431.6 MB
Last updated
over 7 years ago
docker pull mesoform/concierge-zabbix