mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-31 10:13:14 -04:00 
			
		
		
		
	prometheus: add docs and fix varz a little
This commit is contained in:
		
							
								
								
									
										30
									
								
								middleware/prometheus/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								middleware/prometheus/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | |||||||
|  | # prometheus | ||||||
|  |  | ||||||
|  | This module enables prometheus metrics for CoreDNS. | ||||||
|  |  | ||||||
|  | The following metrics are exported: | ||||||
|  |  | ||||||
|  | * coredns_dns_request_count_total | ||||||
|  | * coredns_dns_request_duration_seconds | ||||||
|  | * coredns_dns_response_size_bytes | ||||||
|  | * coredns_dns_response_rcode_count_total | ||||||
|  |  | ||||||
|  | Each counter has a label `zone` which is the zonename used for the request/response. | ||||||
|  | The `request_count` metrics has an extra label `qtype` which holds the qtype. And | ||||||
|  | `rcode_count` has an extra label which has the rcode. | ||||||
|  |  | ||||||
|  | Restarting CoreDNS will stop the monitoring. This is a bug. Also [this upstream | ||||||
|  | Caddy bug](https://github.com/mholt/caddy/issues/675). | ||||||
|  |  | ||||||
|  | ## Syntax | ||||||
|  |  | ||||||
|  | ~~~ | ||||||
|  | prometheus | ||||||
|  | ~~~ | ||||||
|  |  | ||||||
|  | For each zone that you want to see metrics for. | ||||||
|  |  | ||||||
|  | It optionally takes an address where the metrics are exported, the default | ||||||
|  | is `localhost:9153`. The metrics path is fixed to `/metrics`. | ||||||
|  |  | ||||||
|  | ## Examples | ||||||
| @@ -9,7 +9,7 @@ import ( | |||||||
| 	"github.com/prometheus/client_golang/prometheus" | 	"github.com/prometheus/client_golang/prometheus" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| const namespace = "daddy" | const namespace = "coredns" | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	requestCount    *prometheus.CounterVec | 	requestCount    *prometheus.CounterVec | ||||||
| @@ -74,7 +74,7 @@ func define(subsystem string) { | |||||||
| 	responseRcode = prometheus.NewCounterVec(prometheus.CounterOpts{ | 	responseRcode = prometheus.NewCounterVec(prometheus.CounterOpts{ | ||||||
| 		Namespace: namespace, | 		Namespace: namespace, | ||||||
| 		Subsystem: subsystem, | 		Subsystem: subsystem, | ||||||
| 		Name:      "rcode_code_count_total", | 		Name:      "response_rcode_count_total", | ||||||
| 		Help:      "Counter of response status codes.", | 		Help:      "Counter of response status codes.", | ||||||
| 	}, []string{"zone", "rcode"}) | 	}, []string{"zone", "rcode"}) | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user