The design of Prometheus is for applications to ideally expose metrics
about their operation. Where applications don't have native Prometheus
or OpenMetrics support exporters are used. These are designed to be
specific to the application being monitored (e.g. MySQL or the Linux
kernel).
As a result you may end up with several exporters running on a single
machine, depending on what applications you have installed that don't
have native metrics support.
In addition the separation over multiple exporters ensures you don't
have a single point of failure causing total metrics loss (at most you'd
just lose the metrics that a specific exporter was handling).
--
Stuart Clark