Monitoring registered services with Prometheus

What’s the best way to monitor services registered with Consul using Prometheus? Prometheus primarily uses scraping to export metrics and such however, with something like consul_exporter, I’m able to send service down alerts to alert manager with Prometheus.

I can use Consul health API like http://127.0.0.1:8500/v1/health/state/failing or http://127.0.0.1:8500/v1/health/state/warning to find out whether a service is healthy or not. But there is no Prometheus format for these checks. I’m wondering which alerting mechanism others are using for service down/warning alerts.

I don’t want to use consul_exporter since it has it’s own problems and to me is an additional thing to maintain.

Any suggestions about monitoring registered services with Prometheus?