Add cert health info to checks

This commit is contained in:
Viktor Liu
2026-02-09 20:44:32 +08:00
parent 53c1016a8e
commit 73aa0785ba
9 changed files with 361 additions and 135 deletions

View File

@@ -1,39 +0,0 @@
{{define "health"}}
<!DOCTYPE html>
<html>
<head>
<title>Health</title>
<style>{{template "style"}}</style>
</head>
<body>
<h1>{{.Status}}</h1>
<p>Uptime: {{.Uptime}}</p>
<p>Management Connected: {{.ManagementReady}}</p>
<p>All Clients Healthy: {{.AllClientsHealthy}}</p>
{{if .Clients}}
<h2>Clients</h2>
<table>
<tr>
<th>Account ID</th>
<th>Healthy</th>
<th>Management</th>
<th>Signal</th>
<th>Relays</th>
<th>Error</th>
</tr>
{{range $id, $c := .Clients}}
<tr>
<td>{{$id}}</td>
<td>{{$c.Healthy}}</td>
<td>{{$c.ManagementConnected}}</td>
<td>{{$c.SignalConnected}}</td>
<td>{{$c.RelaysConnected}}/{{$c.RelaysTotal}}</td>
<td>{{$c.Error}}</td>
</tr>
{{end}}
</table>
{{end}}
<p><a href="/debug">&larr; Back</a></p>
</body>
</html>
{{end}}

View File

@@ -8,6 +8,25 @@
<body>
<h1>NetBird Proxy Debug</h1>
<p class="info">Version: {{.Version}} | Uptime: {{.Uptime}}</p>
<h2>Certificates: {{.CertsReady}} ready, {{.CertsPending}} pending, {{.CertsFailed}} failed ({{.CertsTotal}} total)</h2>
{{if .CertsReadyDomains}}
<details>
<summary>Ready domains ({{.CertsReady}})</summary>
<ul>{{range .CertsReadyDomains}}<li>{{.}}</li>{{end}}</ul>
</details>
{{end}}
{{if .CertsPendingDomains}}
<details open>
<summary>Pending domains ({{.CertsPending}})</summary>
<ul>{{range .CertsPendingDomains}}<li>{{.}}</li>{{end}}</ul>
</details>
{{end}}
{{if .CertsFailedDomains}}
<details open>
<summary>Failed domains ({{.CertsFailed}})</summary>
<ul>{{range .CertsFailedDomains}}<li>{{.Domain}}: {{.Error}}</li>{{end}}</ul>
</details>
{{end}}
<h2>Clients ({{.ClientCount}}) | Domains ({{.TotalDomains}})</h2>
{{if .Clients}}
<table>
@@ -32,7 +51,6 @@
<h2>Endpoints</h2>
<ul>
<li><a href="/debug/clients">/debug/clients</a> - all clients detail</li>
<li><a href="/debug/health">/debug/health</a> - health check</li>
</ul>
<p class="info">Add ?format=json or /json suffix for JSON output</p>
</body>