One-command Ansible playbook that collects Linux server performance data and generates a beautiful HTML report.
No Prometheus, no Grafana, no agents needed to run permanently — just run the playbook when you want a snapshot of your server’s health.
Perfect for:
The result is a single self-contained HTML report with tables, progress bars, and color coding.
| Distribution | Support level | Notes |
|---|---|---|
| Ubuntu 20.04 / 22.04 | Excellent | Fully tested |
| Debian 11 / 12 | Excellent | Fully tested |
| CentOS Stream 8 / 9 | Good | Works well |
| Rocky Linux 8 / 9 | Good | Works well |
| AlmaLinux 8 / 9 | Good | Works well |
| Fedora 39+ | Good | Should work |
| RHEL 8 / 9 | Good | Should work (EPEL for sysstat) |
On your control machine (where you run ansible):
On the target servers:
sudo privileges for the ansible user (become: yes)sysstat package installed for better historical datagit clone https://github.com/sameeralam3127/ansible-server-health-dashboard.git
cd ansible-server-health-dashboard
ansible-galaxy install -r requirements.yml
(If the file is empty right now — you can skip this step)
Open inventory/hosts.ini and add your servers:
[linux_servers]
server1.example.com ansible_host=192.168.1.101 ansible_user=youruser
server2.example.com ansible_host=10.20.30.40 ansible_user=admin
web01.mycompany.local
db02.mycompany.local ansible_ssh_private_key_file=~/.ssh/id_rsa_prod
ansible-playbook -i inventory/hosts.ini playbooks/site.yml
Or with extra verbosity (recommended first time):
ansible-playbook -i inventory/hosts.ini playbooks/site.yml -v
After the run finishes, look in the reports/ folder:
reports/
└── server_report_2025-02-08_ubuntu-server1.html
Just open the file in any browser.
Run on one host only:
ansible-playbook -i inventory/hosts.ini playbooks/site.yml --limit server1.example.com
Run with password prompt (if no key-based auth):
ansible-playbook -i inventory/hosts.ini playbooks/site.yml --ask-become-pass
Run and save reports to custom location:
ansible-playbook -i inventory/hosts.ini playbooks/site.yml -e "report_output_dir=/home/user/monthly-reports"