Publish configurable health-check tool #1

Closed
opened 2026-08-11 08:17:09 +02:00 by michael · 1 comment
Owner

Goal

Publish the existing OpenBSD health-check script as the first useful tool in lazy-admin-tools and make its checks configurable enough for reuse.

Reason

The existing Tiamat health report already provides useful operational feedback, including disk usage, memory/load, running services, and pending OpenBSD patches.

During the session we agreed to turn this operational helper into the first public lazy-admin-tools tool.

Before publishing, the script should gain configurable checks and port checks so an administrator can adapt what is monitored without changing the monitoring logic itself.

Scope

  • Bring the existing health-check script into this repository.
  • Make individual check areas configurable through simple variables.
  • Keep the currently useful report areas, including:
    • disk usage
    • memory/load
    • services
    • pending OpenBSD patches
  • Add configurable port checks.
  • Keep expected services configurable.
  • Preserve cron-friendly report output suitable for mail delivery.
  • Keep the tool small and readable.
  • Do not introduce a daemon, database, container, monitoring stack, or framework.

Cross-repository context

A Praxislog article in DAW/dragons-at-work-de will describe the patching/health-check use case and link to this repository.

Acceptance criteria

  • The existing health-check functionality is available in lazy-admin-tools.
  • Individual check areas can be enabled or disabled through simple variables.
  • Expected services can be configured without changing service-check logic.
  • Expected ports can be configured and checked.
  • Pending OpenBSD patches are still reported when that check is enabled.
  • Output remains suitable for unattended cron execution and mail delivery.
  • No daemon, database, container, or external monitoring stack is required.
  • Basic usage and configuration are documented.
## Goal Publish the existing OpenBSD health-check script as the first useful tool in `lazy-admin-tools` and make its checks configurable enough for reuse. ## Reason The existing Tiamat health report already provides useful operational feedback, including disk usage, memory/load, running services, and pending OpenBSD patches. During the session we agreed to turn this operational helper into the first public `lazy-admin-tools` tool. Before publishing, the script should gain configurable checks and port checks so an administrator can adapt what is monitored without changing the monitoring logic itself. ## Scope - Bring the existing health-check script into this repository. - Make individual check areas configurable through simple variables. - Keep the currently useful report areas, including: - disk usage - memory/load - services - pending OpenBSD patches - Add configurable port checks. - Keep expected services configurable. - Preserve cron-friendly report output suitable for mail delivery. - Keep the tool small and readable. - Do not introduce a daemon, database, container, monitoring stack, or framework. ## Cross-repository context A Praxislog article in `DAW/dragons-at-work-de` will describe the patching/health-check use case and link to this repository. ## Acceptance criteria - [ ] The existing health-check functionality is available in `lazy-admin-tools`. - [ ] Individual check areas can be enabled or disabled through simple variables. - [ ] Expected services can be configured without changing service-check logic. - [ ] Expected ports can be configured and checked. - [ ] Pending OpenBSD patches are still reported when that check is enabled. - [ ] Output remains suitable for unattended cron execution and mail delivery. - [ ] No daemon, database, container, or external monitoring stack is required. - [ ] Basic usage and configuration are documented.
Author
Owner

Session 2026-08-12

  • [OK] openbsd-health.sh and debian-health.sh implemented: disk, service,
    port and patch/update checks, configurable via inline variables
  • [OK] port checks distinguish public vs. local bindings, unexpected
    public ports trigger WARN
  • [OK] unexpected running services trigger WARN on both platforms
  • [OK] root enforced on both scripts, ufw active-status special-cased
    for the systemd 'inactive (dead)' quirk on Debian 13
  • [OK] verified in production on three real systems: OpenBSD 7.8
    (tiamat), Debian 13 (terrador), Debian 12 (typhon) - each run
    surfaced a real, previously unnoticed issue (open port, wrong
    service bind, baseline drift)
  • [OK] output is cron-friendly, mailed report with ERROR/WARN/OK
    status levels
## Session 2026-08-12 - [OK] openbsd-health.sh and debian-health.sh implemented: disk, service, port and patch/update checks, configurable via inline variables - [OK] port checks distinguish public vs. local bindings, unexpected public ports trigger WARN - [OK] unexpected running services trigger WARN on both platforms - [OK] root enforced on both scripts, ufw active-status special-cased for the systemd 'inactive (dead)' quirk on Debian 13 - [OK] verified in production on three real systems: OpenBSD 7.8 (tiamat), Debian 13 (terrador), Debian 12 (typhon) - each run surfaced a real, previously unnoticed issue (open port, wrong service bind, baseline drift) - [OK] output is cron-friendly, mailed report with ERROR/WARN/OK status levels
michael 2026-08-12 13:10:41 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
DAW/lazy-admin-tools#1
No description provided.