[Edward] In this Prometheus use case,
I'll explain about Consul integration.
Consul is a distributed, highly available solution
providing a service mesh, which is actually pretty recent,
so all the versions cannot provide this.
Service discovery, health checks for your services,
a key-value store, secure service communications,
and multi-datacenter support.
Consul is often deployed in conjunction with Docker.
There are two integrations that are interesting to use.
One, Prometheus can scrape Consul's metrics
and provide you with all sorts of information
about your running services.
Consul provides service discovery,
so it knows where services are running
and what the current state of it is.
There are health checks that are being done,
so if a health check fails,
the service might not be running anymore,
and Prometheus can scrape the information.
Consul can also be integrated within Prometheus
to automatically add the services as targets.
Consul will discover your services,
and these can then be automatically added to Prometheus
as a target, and then you will be able to use those metrics
of those targets within Prometheus,
rather than having to add those targets manually.
In the next demo I'll focus on the Prometheus integration
with Consul, not really on implementing Consul itself.
I will show you how to do the installation of Consul,
but not how to integrate Consul with your infrastructure.
It is out of scope for this Prometheus course.
I'll manually register a service to Consul,
rather than setting up service discovery.
In production environments,
where you have a lot of services,
service discovery using Consul will allow you
to register your services automatically.
If you are interested in Consul,
have a look at the documentation at consul.io,
and you can find the service registrator for Docker
at this GitHub URL.
So I'll mainly focus on the Prometheus integration,
because that is what is relevant for us.
Consul is a whole system on itself.
If you want to learn more about Consul
and how its service discovery works,
then have a look at this registrator
and the website of Consul.
What I will do in the next demo is,
I will not use a service discovery,
but I'll manually register a service,
which for our purpose is the same,
because I want to show you
how the Prometheus integration works.
If you already have Consul,
then implementing Prometheus is very straightforward.
After the demo,
if you are interested in Consul after this demo,
then I would recommend you
to learn a bit more about Consul first,
then implement Consul, and then maybe integrate Consul
with Prometheus.