This section exemplifies how the Prometheus forwarding agent can be used. Consider the following scenario:
The Prometheus agent is used to send metrics from a workflow to the cache that exposes them for a Prometheus instance to scrape.
A Pulse agent sends a simple PulseUDR
to an Analysis agent.
The Analysis agents creates a PrometheusUDR
. It uses the label country
. The value is generated randomly to visualize fluctuation.
As the next step the PrometheusUDR
is routed on route r_2 to the Prometheus forwarding agent.
You create PromethueusUDRs
in the Analysis agent. It has to be filled in with metric data.
Code Block |
---|
//New UDR representing a metric:
PrometheusUDR metric = udrCreate(PrometheusUDR);
//Map containing labels and their values:
map<string,string> labels = mapCreate(string,string);
mapSet(labels, "country", "session.country");
metric.Description = "Items being process";
metric.Labels = labels;
metric.MetricType = "GAUGE";
metric.Name = "myMetric_value";
metric.Value = randomInt(111);
udrRoute(metric); |
The Analysis agent routes the UDR to the Prometheus agent, which stores it in the cache where it waits to be scraped by a Prometheus instance.
After running the workflow for a few moments the metrics can be visualized directly in Prometheus or in Grafana (if configured).