Your Linux fleet has a pulse.
Now you can see it.
LinuxVitals is an agentless Ansible collection that scans, opt-in self-heals, and reports on your Linux servers — with a baseline → postcheck comparison built for real maintenance windows, rendered into one self-contained HTML dashboard.
ansible-galaxy collection install sameeralam3127.linux_vitals
Deep OS posture, not just uptime pings
Six things LinuxVitals does out of the box, across RHEL, Fedora, Ubuntu, and SUSE.
Read-only scan
Kernel & bootloader validation, boot-partition health, SELinux/AppArmor, failed logins, journal errors, memory pressure. Nothing is changed unless you opt in.
vitals_scanOpt-in self-healing
One restart attempt per systemd-enabled failed service. Disabled by default (linux_vitals_heal_enabled: false) — nothing on managed hosts changes unless you flip the switch.
Baseline → postcheck comparison
Snapshot before a maintenance window, snapshot after — correlated by a maintenance id. Get status changes, RAM deltas, kernel changes, and new/resolved findings automatically.
vitals_reportSelf-contained dashboard
One HTML file. No CDN, no build step, no server. Search, sort, filter, and expandable host rows — opens in any browser, forever, offline.
dashboard.html.j2Multi-channel notifications
Slack, email, and generic webhook — configurable independently, with secrets resolved from inventory, group_vars, or a local .env file.
A real Galaxy collection
Three composable roles sharing one variable namespace. Install once, run healthcheck, baseline, or postcheck via FQCN from anywhere.
This is the actual dashboard
Real template, sample fleet data. Search a hostname, click a column to sort, expand a row for the full picture — including a live before/after maintenance comparison.
Built around real maintenance windows
Three playbooks, one shared maintenance id.
Capture a baseline
Run sameeralam3127.linux_vitals.baseline with a linux_vitals_maintenance_id before your window opens. Full posture, snapshotted per host.
Do your maintenance
Patch, reboot, reconfigure — however you normally do it. LinuxVitals stays out of the way; it only observes and, if you've enabled it, self-heals.
→Run postcheck, get the diff
Run sameeralam3127.linux_vitals.postcheck with the same id. The dashboard shows exactly what changed — per host, per finding.
Roadmap
Directions being explored for future releases. Nothing here is a commitment or a shipping date — track progress and weigh in on GitHub Issues.
Prometheus / OpenMetrics exporter
Expose the JSON report as scrapeable metrics for long-term trend dashboards in Grafana.
Multi-window trend view
Compare more than two snapshots over time — not just one baseline/postcheck pair, but a rolling history per host.
Ansible Automation Platform packaging
Execution-environment-friendly job templates for running LinuxVitals from AAP/AWX on a schedule.
CSV / spreadsheet export
A flat export of the fleet table for teams that need to paste findings into a ticket or a report deck.
Configurable finding rules
Let teams enable/disable or reweight individual findings (e.g. treat a low-priority host's reboot-required differently than a database primary's).
Serial / asset drilldown
The dashboard already surfaces each host's serial number — a dedicated per-asset history view is the natural next step.
Point it at an inventory. See what's actually going on.
No agents, no daemons — just SSH and Ansible.