diff options
| author | Paul Buetow <paul@buetow.org> | 2026-04-16 08:47:11 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-04-16 08:47:11 +0300 |
| commit | 442236f8515e761c1bd97f2cf3fd6b102bdecb64 (patch) | |
| tree | dbeb4f48688f7d5bec72f858b2c4fafc1b2fa96d /internal/cli | |
| parent | edeffd05dc62c4c3d747cc41067bf4e1814f300a (diff) | |
Add /metrics Prometheus endpoint to daemon mode
Exposes a gauge per host tracking the Unix timestamp of the last records
file update. Excluded hosts (from the excluded_host table) are labeled
excluded="true" so alerting rules can filter them out. Uses manual
Prometheus text format to avoid adding a new dependency.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/cli')
| -rw-r--r-- | internal/cli/cmd_daemon.go | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/internal/cli/cmd_daemon.go b/internal/cli/cmd_daemon.go index 2bd74a8..111968f 100644 --- a/internal/cli/cmd_daemon.go +++ b/internal/cli/cmd_daemon.go @@ -25,6 +25,7 @@ func runDaemon(args []string) error { statsDir := fs.String("stats-dir", os.Getenv("GOPRECORDS_STATS_DIR"), "Uptimed stats directory (required; env GOPRECORDS_STATS_DIR)") listen := fs.String("listen", defaultListenFromEnv(), "TCP listen address (env GOPRECORDS_LISTEN, default :8080)") authDB := fs.String("auth-db", "", "SQLite file for upload API keys (default: <stats-dir>/goprecords-auth.db)") + db := fs.String("db", os.Getenv("GOPRECORDS_DB"), "SQLite database path for excluded hosts used by /metrics (env GOPRECORDS_DB)") if err := fs.Parse(args); err != nil { return err } @@ -35,7 +36,7 @@ func runDaemon(args []string) error { } ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM) defer stop() - err := daemon.Run(ctx, daemon.Config{StatsDir: *statsDir, Addr: *listen, AuthDB: *authDB}) + err := daemon.Run(ctx, daemon.Config{StatsDir: *statsDir, Addr: *listen, AuthDB: *authDB, DB: *db}) if err != nil && !errors.Is(err, context.Canceled) { return err } |
