More and more products use the approach Something as code - build as code, continious delivery as code, infrastructure as code. Some monitoring systems also support "Monitoring as code" - e.g. Prometheus
It is very convenient to store something as code:
- You can see what changes someone made
- You can restore old system state from code
- You can review code
- You can use all the tools to work with the code - for example, a simple search in files
Approach something as code can be in several variants (include each other):
- Save the configuration as a code - just a copy of the system in code, but changes occur in UI (e.g TeamCity save XML)
- Change configuration only in code - we don't need think about conflict and sync beetwen UI and code (e.g. Kotlin DSL in TeamCity)
- You can change configuration both in code and in UI - hard to realize ,but friendly approach (I have no example )
Zabbix can go from simple to complex, as TeamCIty (JetBrains CI-server):
To start make one-way sync - save exported XML to git repository with mentioning who made this change.
We implemented a similar mechanism in third-party toolkit https://gitlab.com/devopshq/zabbix-review-export, But it would be more convenient to have a built-in mechanism.
We hope that this feature will not take much time and will be useful to the community of wonderful monitoring system Zabbix!