In an ideal world all of your applications would be directly exposing Prometheus metrics, but this is unlikely to be the world you inhabit. You may have other monitoring systems already in use, and doing a big switchover one day to Prometheus is not practical.
The good news is that amongst the hundreds of exporters for Prometheus there are several that convert data from other monitoring systems into the Prometheus format. While your ideal end goal would be to move completely to Prometheus, exporters like the ones you’ll learn about in this chapter are very helpful when you are still transitioning.
Monitoring systems vary in how compatible they are with Prometheus; some require notable effort while others require close to none. For example, InfluxDB has a data model fairly similar to Prometheus, so you can have your application push the InfluxDB line protocol to the InfluxDB exporter, which can then be scraped by Prometheus.
Other systems like collectd do not have labels, but it is possible to automatically convert the metrics it outputs into an okay Prometheus metric with no additional configuration using the collectd exporter. As of version 5.7, collectd even includes this natively with the Write Prometheus plug-in.
But not all monitoring systems have data models that can be automatically converted into reasonable Prometheus metrics. Graphite does not traditionally support key-value labels,1 and some ...