Compare commits
	
		
			2 Commits
		
	
	
		
			0b3c06cab9
			...
			4b7ab8cd0f
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 4b7ab8cd0f | |||
| 8220d21ec4 | 
							
								
								
									
										6
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										6
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							| @@ -2,11 +2,11 @@ | ||||
|   "nodes": { | ||||
|     "nixpkgs": { | ||||
|       "locked": { | ||||
|         "lastModified": 1747744144, | ||||
|         "narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=", | ||||
|         "lastModified": 1748693115, | ||||
|         "narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=", | ||||
|         "owner": "NixOS", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f", | ||||
|         "rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|   | ||||
							
								
								
									
										2
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								main.go
									
									
									
									
									
								
							| @@ -17,7 +17,7 @@ import ( | ||||
| 	"github.com/prometheus/client_golang/prometheus/promhttp" | ||||
| ) | ||||
|  | ||||
| const Version = "0.1.0" | ||||
| const Version = "0.1.1" | ||||
|  | ||||
| func LoadConfig() (*config.Config, error) { | ||||
| 	path := "labmon.toml" | ||||
|   | ||||
| @@ -29,6 +29,13 @@ var stepCertError = promauto.NewGaugeVec(prometheus.GaugeOpts{ | ||||
| 	Help:      "Error checking the certificate.", | ||||
| }, []string{"cert_id"}) | ||||
|  | ||||
| var stepCertLifetime = promauto.NewGaugeVec(prometheus.GaugeOpts{ | ||||
| 	Namespace: "labmon", | ||||
| 	Subsystem: "stepmon", | ||||
| 	Name:      "certificate_lifetime_seconds", | ||||
| 	Help:      "How long the certificate is valid in seconds.", | ||||
| }, []string{"cert_id"}) | ||||
|  | ||||
| type StepMonitor struct { | ||||
| 	BaseURL string | ||||
| 	RootID  string | ||||
| @@ -77,6 +84,8 @@ func (sm *StepMonitor) Start() { | ||||
| 				stepCertError.WithLabelValues(sm.RootID).Set(1) | ||||
| 			} else { | ||||
| 				stepCertError.WithLabelValues(sm.RootID).Set(0) | ||||
| 				lifetime := sm.certificate.NotAfter.Sub(sm.certificate.NotBefore).Seconds() | ||||
| 				stepCertLifetime.WithLabelValues(sm.RootID).Set(lifetime) | ||||
| 			} | ||||
|  | ||||
| 			timerCertFetch.Reset(5 * time.Minute) | ||||
|   | ||||
| @@ -37,6 +37,13 @@ var ( | ||||
| 		Help:      "Error checking the certificate.", | ||||
| 	}, []string{"address"}) | ||||
|  | ||||
| 	gaugeCertLifetime = promauto.NewGaugeVec(prometheus.GaugeOpts{ | ||||
| 		Namespace: "labmon", | ||||
| 		Subsystem: "tlsconmon", | ||||
| 		Name:      "certificate_lifetime_seconds", | ||||
| 		Help:      "How long the certificate is valid in seconds.", | ||||
| 	}, []string{"address"}) | ||||
|  | ||||
| 	// OTEL tracing | ||||
| 	tracer = otel.Tracer(name) | ||||
| ) | ||||
| @@ -104,6 +111,8 @@ func (tm *TLSConnectionMonitor) Start(ctx context.Context) { | ||||
| 	if err := tm.fetchCert(ctx); err != nil { | ||||
| 		gaugeCertError.WithLabelValues(tm.Address).Set(1) | ||||
| 		gaugeCertTimeLeft.WithLabelValues(tm.Address).Set(0) | ||||
| 		lifetime := tm.cert.NotAfter.Sub(tm.cert.NotBefore).Seconds() | ||||
| 		gaugeCertLifetime.WithLabelValues(tm.Address).Set(lifetime) | ||||
| 	} else { | ||||
| 		gaugeCertError.WithLabelValues(tm.Address).Set(0) | ||||
| 		timeLeft := time.Until(tm.cert.NotAfter).Seconds() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user