mirror of
https://github.com/coredns/coredns.git
synced 2025-10-27 08:14:18 -04:00
plugin/metrics: Add a metric to monitor which plugin(s) is(are) enabled (#2700)
* Add a GaugeVec for enabled plugins monitoring. Signed-off-by: Jiacheng Xu <xjcmaxwellcjx@gmail.com> * Add server label and zone label for enable_plugin matric. * Add a test for PluginEnabled metric * Add description for enabledPlugin metric. * Change the description for the enabledPlugin metric. * Reset the enabledPlugin metric when restart the server. * Add the bug session for enabledPlugin metric. * Remove the resolveTCPAddr
This commit is contained in:
@@ -186,3 +186,39 @@ google.com:0 {
|
||||
t.Errorf("Expected metric data retrieved for %s, expected %d, got %d", cacheSizeMetricName, 1, endCacheSize-beginCacheSize)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMetricsPluginEnabled(t *testing.T) {
|
||||
corefile := `example.org:0 {
|
||||
chaos CoreDNS-001 miek@miek.nl
|
||||
prometheus localhost:0
|
||||
}
|
||||
|
||||
example.com:0 {
|
||||
forward . 8.8.4.4:53
|
||||
prometheus localhost:0
|
||||
}
|
||||
`
|
||||
srv, err := CoreDNSServer(corefile)
|
||||
if err != nil {
|
||||
t.Fatalf("Could not get CoreDNS serving instance: %s", err)
|
||||
}
|
||||
defer srv.Stop()
|
||||
|
||||
metricName := "coredns_plugin_enabled" //{server, zone, name}
|
||||
|
||||
data := test.Scrape("http://" + metrics.ListenAddr + "/metrics")
|
||||
|
||||
// Get the value for the metrics where the one of the labels values matches "chaos".
|
||||
got, _ := test.MetricValueLabel(metricName, "chaos", data)
|
||||
|
||||
if got != "1" {
|
||||
t.Errorf("Expected value %s for %s, but got %s", "1", metricName, got)
|
||||
}
|
||||
|
||||
// Get the value for the metrics where the one of the labels values matches "whoami".
|
||||
got, _ = test.MetricValueLabel(metricName, "whoami", data)
|
||||
|
||||
if got != "" {
|
||||
t.Errorf("Expected value %s for %s, but got %s", "", metricName, got)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user