At present, we are using nagios and zabbix to monitor host services that are very common, and Prometheus is mainly used to monitor containers. Why are there more than one? This is for historical reasons. No one completely replaces the other. Different systems target differently.
Too much monitoring will cause problems. Sometimes it is not efficient to find multiple systems to troubleshoot a problem, and it will cause duplication of some monitoring, too much alarm information, and it is difficult to integrate different systems.