Prometheus is a compelling solution that -- deservedly -- has considerable momentum. For completeness, I urge you to consider other changes that may required by Prometheus as you determine whether it's appropriate for you to switch from your existing solution. This will be one of many changes for which you should be prepared.
I don't know why Prometheus' developers took the path that they did with configuration but I'll give you one benefit of the model. By requiring that configuration is written in (YAML) configuration files, you are able to commit these configurations to your source control and manage changes to these files just as you would with other sources. This is a tenet of "Infrastructure as code" and there are many benefits to this.
Now, it's also true that a UI Console tool could write changes to configuration files for you and you could then manage these files using source control as before. But, this functionality isn't available in the core solution.
One facility that may interest you is that you needn't restart prometheus nor alertmananger when you make changes to their configuration. You can change the configuration and then, POST
to the services' /-/reload
endpoint and the service will refresh configuration.
See:
https://prometheus.io/docs/prometheus/latest/configuration/configuration/
https://prometheus.io/docs/alerting/configuration/
Also see this useful article that explains how to have Prometheus automatically refresh its configuration when changes are made to a list of targets:
https://www.robustperception.io/using-json-file-service-discovery-with-prometheus