Integrating PMM into an environment with an existing Consul, Prometheus and Grafana.

We currently have a production environment with our own Consul, Prometheus and Grafana services running. We manage them with Puppet/Terraform.
What is the most straight-forward way to integrate PMM server with my environment?

I am mostly interested in the Query Analyzer, but the whole container looks great.
I am also concerned about being able to upgrade properly to new versions, so trying to avoid a hacky manual solution.

My first concern is integrating the Consul server in the container with our own Consul cluster without messing the production cluster.
I’d also like to be able to poll data for Prometheus from the existing Prometheus agents on the clients (node_exporter, mysqld_exporter).

Is this even possible?

Percona Monitoring and Management is designed as self-contained application. While we use a lot of Open Source Components there is currently no stable public interface for their integration. For example we might chose not to use consul for internal storage in next PMM release or completely change format with no warning.

Having said that as Percona Monitoring and Management is Open Source you’re welcome to use only portions of it which you like to build your own application. For example we have many users using dashboards exported from PMM with their own Grafana and Prometheus - as long as you follow the same labeling rules as we they should work with no changes.

Having said all of that we’re very interested understanding what “integrations” are the most important for users to make PMM more useful. For example whenever you’re running Consul, Kubernetes or have deployment it might be great for PMM to be able to automatically discover the instances you have to assign them appropriate labels as well as potentially help to spot instances which are not monitored.

We have been incorporating graphs from PMM into our Prometheus/Grafana infrastructure and it works well.

Having PMM discover our DB servers when they register with Consul would probably be the preferred way for us.
Another feature that would be great would be to have a way to add a role tag to servers so we can quickly just see those groups of servers we are interested in.