Carbonio Monitoring Automation With Carbonio Mesh#
Carbonio employs the Consul Service Discovery to provide the automation of its monitoring systems. One of the biggest advantages of using Consul is the ability to filter by tag in Prometheus.
With Prometheus, services that are create in Consul can be automatically discovered.
For example, when a virtual machine is created, it can be registered with Consul based on the services it hosts, seamlessly integrating all of them into Prometheus monitoring system. Furthermore, when this virtual machine is decommissioned, it will be automatically removed from the Prometheus endpoints as soon as it is deregistered from Consul.
Another advantage for Prometheus is that it can rely on Consul’s
Catalog API, allowing to discover more targets on the Carbonio
infrastructure and therefore to gather additional data. Each
discovered target has an __address__
label set to
<service_or_node_addr>:<service_port>
: <service_or_node_addr>
is either the service address or, if the service address is empty, the
Node address, while the <service_port>
is the port on which the
service listens for incoming connections.
The following meta-labels are available for discovered targets:
__meta_consul_address:
the address of the target__meta_consul_dc:
the datacenter name for the target__meta_consul_health:
the health status of the service__meta_consul_metadata_<key>:
each node metadata key value of the target__meta_consul_namespace:
namespace of the service - see namespace docs__meta_consul_node:
the node name defined for the target__meta_consul_partition:
partition of the service - see partition docs__meta_consul_service_address:
the service address of the target__meta_consul_service_id:
the service ID of the target__meta_consul_service_metadata_<key>:
each service metadata key value of the target__meta_consul_service_port:
the service port of the target__meta_consul_service:
the name of the service the target belongs to__meta_consul_tagged_address_<key>:
each node tagged address key value of the target__meta_consul_tag_<tagname>:
the value for the given tag of the target__meta_consul_tagpresent_<tagname>:
“true” for every tag of the target__meta_consul_tags:
the list of tags of the target joined by the tag_separator
See also
To connect to the Carbonio Mesh graphic interface, follow the directions in Section Carbonio Mesh Administration Interface.
Relevant Consul commands that can be used to manage Carbonio Mesh, discover services, and more, refer to Section Carbonio Mesh.