Create consul version metric with version label (#9350)
* create consul version metric with version label * agent/agent.go: add pre-release Version as well as label Co-Authored-By: Radha13 <kumari.radha3@gmail.com> * verion and pre-release version labels. * hyphen/- breaks prometheus * Add Prometheus gauge defintion for version metric * Add new metric to telemetry docs Co-authored-by: Radha Kumari <kumari.radha3@gmail.com> Co-authored-by: Aestek <thib.gilles@gmail.com> Co-authored-by: Daniel Nephin <dnephin@hashicorp.com>
This commit is contained in:
parent
3f2199d323
commit
8bda36c9f4
|
@ -18,6 +18,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/armon/go-metrics"
|
||||
"github.com/armon/go-metrics/prometheus"
|
||||
"github.com/hashicorp/go-connlimit"
|
||||
"github.com/hashicorp/go-hclog"
|
||||
"github.com/hashicorp/go-memdb"
|
||||
|
@ -614,9 +615,22 @@ func (a *Agent) Start(ctx context.Context) error {
|
|||
a.logger.Warn("DEPRECATED Backwards compatibility with pre-1.9 metrics enabled. These metrics will be removed in a future version of Consul. Set `telemetry { disable_compat_1.9 = true }` to disable them.")
|
||||
}
|
||||
|
||||
// consul version metric with labels
|
||||
metrics.SetGaugeWithLabels([]string{"version"}, 1, []metrics.Label{
|
||||
{Name: "version", Value: a.config.Version},
|
||||
{Name: "pre_release", Value: a.config.VersionPrerelease},
|
||||
})
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
var Gauges = []prometheus.GaugeDefinition{
|
||||
{
|
||||
Name: []string{"version"},
|
||||
Help: "Represents the Consul version.",
|
||||
},
|
||||
}
|
||||
|
||||
// Failed returns a channel which is closed when the first server goroutine exits
|
||||
// with a non-nil error.
|
||||
func (a *Agent) Failed() <-chan struct{} {
|
||||
|
|
|
@ -199,6 +199,7 @@ func getPrometheusDefs(cfg lib.TelemetryConfig) ([]prometheus.GaugeDefinition, [
|
|||
consul.SessionGauges,
|
||||
grpc.StatsGauges,
|
||||
usagemetrics.Gauges,
|
||||
Gauges,
|
||||
}
|
||||
// Flatten definitions
|
||||
// NOTE(kit): Do we actually want to create a set here so we can ensure definition names are unique?
|
||||
|
|
|
@ -183,6 +183,7 @@ This is a full list of metrics emitted by Consul.
|
|||
| `consul.dns.ptr_query.` | This measures the time spent handling a reverse DNS query for the given node. | ms | timer |
|
||||
| `consul.dns.domain_query.` | This measures the time spent handling a domain query for the given node. | ms | timer |
|
||||
| `consul.http...` | DEPRECATED IN 1.9: This tracks how long it takes to service the given HTTP request for the given verb and path. Paths do not include details like service or key names, for these an underscore will be present as a placeholder (eg. `consul.http.GET.v1.kv._`) | ms | timer |
|
||||
| `consul.version | This metric measures the count of running agents. | agents | guage |
|
||||
|
||||
## Server Health
|
||||
|
||||
|
|
Loading…
Reference in New Issue