Replace manual upsert logic with SQLite native upsert in Docker CRUD repositories, enhance Ansible backup playbook with better error handling and file permissions, add favicon endpoint, and improve playbook editor UI with syntax highlighting, lint integration, quality badges, and enhanced code editing features
Tests / Backend Tests (Python) (3.10) (push) Has been cancelled
Tests / Backend Tests (Python) (3.11) (push) Has been cancelled
Tests / Backend Tests (Python) (3.12) (push) Has been cancelled
Tests / Frontend Tests (JS) (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / All Tests Passed (push) Has been cancelled

This commit is contained in:
2025-12-17 15:36:49 -05:00
parent 785db4b302
commit 05087aa380
77 changed files with 15286 additions and 304 deletions
File diff suppressed because one or more lines are too long
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `b9a9bbac12a5402f813c74c7ab3e59a3` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T02:25:00.003450+00:00 |
| **Fin** | 2025-12-17T02:25:21.960086+00:00 |
| **Durée** | 22.0s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003332", "end": "2025-12-16 21:25:11.311547", "msg": "", "rc": 0, "start": "2025-12-16 21:25:11.308215", "stderr": "", "stderr_lines": [], "stdout": " 21:25:11 up 21 days, 8:36, 1 user, load average: 0.91, 0.75, 0.73", "stdout_lines": [" 21:25:11 up 21 days, 8:36, 1 user, load average: 0.91, 0.75, 0.73"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003844", "end": "2025-12-16 21:25:11.315095", "msg": "", "rc": 0, "start": "2025-12-16 21:25:11.311251", "stderr": "", "stderr_lines": [], "stdout": " 21:25:11 up 21 days, 10:35, 1 user, load average: 0.07, 0.03, 0.00", "stdout_lines": [" 21:25:11 up 21 days, 10:35, 1 user, load average: 0.07, 0.03, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004080", "end": "2025-12-16 21:25:11.335589", "msg": "", "rc": 0, "start": "2025-12-16 21:25:11.331509", "stderr": "", "stderr_lines": [], "stdout": " 21:25:11 up 21 days, 9:49, 1 user, load average: 0.61, 0.74, 0.76", "stdout_lines": [" 21:25:11 up 21 days, 9:49, 1 user, load average: 0.61, 0.74, 0.76"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002980", "end": "2025-12-16 21:25:11.346834", "msg": "", "rc": 0, "start": "2025-12-16 21:25:11.343854", "stderr": "", "stderr_lines": [], "stdout": " 21:25:11 up 2 days, 10:57, 1 user, load average: 0.13, 0.22, 0.27", "stdout_lines": [" 21:25:11 up 2 days, 10:57, 1 user, load average: 0.13, 0.22, 0.27"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002894", "end": "2025-12-16 21:24:46.050171", "msg": "", "rc": 0, "start": "2025-12-16 21:24:46.047277", "stderr": "", "stderr_lines": [], "stdout": " 21:24:46 up 10 days, 9:14, 0 user, load average: 0.22, 0.20, 0.16", "stdout_lines": [" 21:24:46 up 10 days, 9:14, 0 user, load average: 0.22, 0.20, 0.16"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008720", "end": "2025-12-16 21:25:12.006648", "msg": "", "rc": 0, "start": "2025-12-16 21:25:11.997928", "stderr": "", "stderr_lines": [], "stdout": " 21:25:11 up 193 days, 12:58, 1 user, load average: 0.37, 0.19, 0.13", "stdout_lines": [" 21:25:11 up 193 days, 12:58, 1 user, load average: 0.37, 0.19, 0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009400", "end": "2025-12-16 21:25:12.021244", "msg": "", "rc": 0, "start": "2025-12-16 21:25:12.011844", "stderr": "", "stderr_lines": [], "stdout": " 21:25:12 up 193 days, 12:58, 1 user, load average: 0.22, 0.19, 0.18", "stdout_lines": [" 21:25:12 up 193 days, 12:58, 1 user, load average: 0.22, 0.19, 0.18"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004191", "end": "2025-12-16 21:25:12.302032", "msg": "", "rc": 0, "start": "2025-12-16 21:25:11.297841", "stderr": "", "stderr_lines": [], "stdout": " 21:25:11 up 21 days, 8:16, 1 user, load average: 0.19, 0.15, 0.11", "stdout_lines": [" 21:25:11 up 21 days, 8:16, 1 user, load average: 0.19, 0.15, 0.11"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003713", "end": "2025-12-16 21:24:40.295791", "msg": "", "rc": 0, "start": "2025-12-16 21:24:40.292078", "stderr": "", "stderr_lines": [], "stdout": " 21:24:40 up 17 days, 5:26, 0 user, load average: 0.14, 0.07, 0.02", "stdout_lines": [" 21:24:40 up 17 days, 5:26, 0 user, load average: 0.14, 0.07, 0.02"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004727", "end": "2025-12-16 21:25:12.527535", "msg": "", "rc": 0, "start": "2025-12-16 21:25:12.522808", "stderr": "", "stderr_lines": [], "stdout": " 21:25:12 up 2 days, 10:56, 1 user, load average: 0.00, 0.03, 0.00", "stdout_lines": [" 21:25:12 up 2 days, 10:56, 1 user, load average: 0.00, 0.03, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003431", "end": "2025-12-16 21:24:43.265906", "msg": "", "rc": 0, "start": "2025-12-16 21:24:43.262475", "stderr": "", "stderr_lines": [], "stdout": " 21:24:43 up 20 days, 19 min, 0 user, load average: 0.56, 0.48, 0.51", "stdout_lines": [" 21:24:43 up 20 days, 19 min, 0 user, load average: 0.56, 0.48, 0.51"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002750", "end": "2025-12-16 21:24:49.620108", "msg": "", "rc": 0, "start": "2025-12-16 21:24:49.617358", "stderr": "", "stderr_lines": [], "stdout": " 21:24:49 up 16 days, 10:40, 0 user, load average: 0.21, 0.29, 0.26", "stdout_lines": [" 21:24:49 up 16 days, 10:40, 0 user, load average: 0.21, 0.29, 0.26"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004181", "end": "2025-12-16 18:25:12.795751", "msg": "", "rc": 0, "start": "2025-12-16 18:25:12.791570", "stderr": "", "stderr_lines": [], "stdout": " 6:25PM up 21 days, 8:15, 1 user, load averages: 0.53, 0.38, 0.26", "stdout_lines": [" 6:25PM up 21 days, 8:15, 1 user, load averages: 0.53, 0.38, 0.26"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019395", "end": "2025-12-16 21:25:12.685388", "msg": "", "rc": 0, "start": "2025-12-16 21:25:12.665993", "stderr": "", "stderr_lines": [], "stdout": " 21:25:12 up 14 days, 10:51, 1 user, load average: 0.27, 0.21, 0.18", "stdout_lines": [" 21:25:12 up 14 days, 10:51, 1 user, load average: 0.27, 0.21, 0.18"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003637", "end": "2025-12-16 21:25:12.965369", "msg": "", "rc": 0, "start": "2025-12-16 21:25:12.961732", "stderr": "", "stderr_lines": [], "stdout": " 21:25:12 up 2 days, 10:56, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 21:25:12 up 2 days, 10:56, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006368", "end": "2025-12-16 21:25:13.112875", "msg": "", "rc": 0, "start": "2025-12-16 21:25:13.106507", "stderr": "", "stderr_lines": [], "stdout": " 21:25:13 up 23:07, 1 user, load average: 1.40, 1.61, 1.48", "stdout_lines": [" 21:25:13 up 23:07, 1 user, load average: 1.40, 1.61, 1.48"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004220", "end": "2025-12-16 21:25:13.405540", "msg": "", "rc": 0, "start": "2025-12-16 21:25:13.401320", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004126", "end": "2025-12-16 21:25:13.429227", "msg": "", "rc": 0, "start": "2025-12-16 21:25:13.425101", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004561", "end": "2025-12-16 21:25:13.435240", "msg": "", "rc": 0, "start": "2025-12-16 21:25:13.430679", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004454", "end": "2025-12-16 21:25:13.460617", "msg": "", "rc": 0, "start": "2025-12-16 21:25:13.456163", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006109", "end": "2025-12-16 21:25:13.494325", "msg": "", "rc": 0, "start": "2025-12-16 21:25:13.488216", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005132", "end": "2025-12-16 21:24:48.185111", "msg": "", "rc": 0, "start": "2025-12-16 21:24:48.179979", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005656", "end": "2025-12-16 21:24:42.000381", "msg": "", "rc": 0, "start": "2025-12-16 21:24:41.994725", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010636", "end": "2025-12-16 21:25:14.177702", "msg": "", "rc": 0, "start": "2025-12-16 21:25:14.167066", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011896", "end": "2025-12-16 21:25:14.174893", "msg": "", "rc": 0, "start": "2025-12-16 21:25:14.162997", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005898", "end": "2025-12-16 21:25:14.412727", "msg": "", "rc": 0, "start": "2025-12-16 21:25:14.406829", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006096", "end": "2025-12-16 21:24:45.219203", "msg": "", "rc": 0, "start": "2025-12-16 21:24:45.213107", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005608", "end": "2025-12-16 18:25:14.666294", "msg": "", "rc": 0, "start": "2025-12-16 18:25:14.660686", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004465", "end": "2025-12-16 21:24:51.559190", "msg": "", "rc": 0, "start": "2025-12-16 21:24:51.554725", "stderr": "", "stderr_lines": [], "stdout": "75%", "stdout_lines": ["75%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005338", "end": "2025-12-16 21:25:14.841077", "msg": "", "rc": 0, "start": "2025-12-16 21:25:14.835739", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025110", "end": "2025-12-16 21:25:14.805566", "msg": "", "rc": 0, "start": "2025-12-16 21:25:14.780456", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008589", "end": "2025-12-16 21:25:15.153308", "msg": "", "rc": 0, "start": "2025-12-16 21:25:15.144719", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004737", "end": "2025-12-16 21:25:15.370563", "msg": "", "rc": 0, "start": "2025-12-16 21:25:15.365826", "stderr": "", "stderr_lines": [], "stdout": "80.6%", "stdout_lines": ["80.6%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004482", "end": "2025-12-16 21:25:15.388648", "msg": "", "rc": 0, "start": "2025-12-16 21:25:15.384166", "stderr": "", "stderr_lines": [], "stdout": "22.2%", "stdout_lines": ["22.2%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004707", "end": "2025-12-16 21:25:15.425934", "msg": "", "rc": 0, "start": "2025-12-16 21:25:15.421227", "stderr": "", "stderr_lines": [], "stdout": "48.9%", "stdout_lines": ["48.9%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005411", "end": "2025-12-16 21:25:15.440385", "msg": "", "rc": 0, "start": "2025-12-16 21:25:15.434974", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005913", "end": "2025-12-16 21:25:15.466176", "msg": "", "rc": 0, "start": "2025-12-16 21:25:15.460263", "stderr": "", "stderr_lines": [], "stdout": "59.6%", "stdout_lines": ["59.6%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003846", "end": "2025-12-16 21:24:50.155966", "msg": "", "rc": 0, "start": "2025-12-16 21:24:50.152120", "stderr": "", "stderr_lines": [], "stdout": "70.2%", "stdout_lines": ["70.2%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005844", "end": "2025-12-16 21:24:43.976770", "msg": "", "rc": 0, "start": "2025-12-16 21:24:43.970926", "stderr": "", "stderr_lines": [], "stdout": "68.9%", "stdout_lines": ["68.9%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011142", "end": "2025-12-16 21:25:16.088312", "msg": "", "rc": 0, "start": "2025-12-16 21:25:16.077170", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012052", "end": "2025-12-16 21:25:16.103272", "msg": "", "rc": 0, "start": "2025-12-16 21:25:16.091220", "stderr": "", "stderr_lines": [], "stdout": "12.7%", "stdout_lines": ["12.7%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006796", "end": "2025-12-16 21:25:16.381526", "msg": "", "rc": 0, "start": "2025-12-16 21:25:16.374730", "stderr": "", "stderr_lines": [], "stdout": "34.8%", "stdout_lines": ["34.8%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005247", "end": "2025-12-16 18:25:16.594896", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 18:25:16.589649", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004057", "end": "2025-12-16 21:24:53.467222", "msg": "", "rc": 0, "start": "2025-12-16 21:24:53.463165", "stderr": "", "stderr_lines": [], "stdout": "59.1%", "stdout_lines": ["59.1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005043", "end": "2025-12-16 21:24:47.170098", "msg": "", "rc": 0, "start": "2025-12-16 21:24:47.165055", "stderr": "", "stderr_lines": [], "stdout": "27.3%", "stdout_lines": ["27.3%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005620", "end": "2025-12-16 21:25:16.809407", "msg": "", "rc": 0, "start": "2025-12-16 21:25:16.803787", "stderr": "", "stderr_lines": [], "stdout": "13.7%", "stdout_lines": ["13.7%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.007701", "end": "2025-12-16 21:25:17.138716", "msg": "", "rc": 0, "start": "2025-12-16 21:25:17.131015", "stderr": "", "stderr_lines": [], "stdout": "20.3%", "stdout_lines": ["20.3%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025600", "end": "2025-12-16 21:25:16.766896", "msg": "", "rc": 0, "start": "2025-12-16 21:25:16.741296", "stderr": "", "stderr_lines": [], "stdout": "19.8%", "stdout_lines": ["19.8%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005127", "end": "2025-12-16 21:25:17.282750", "msg": "", "rc": 0, "start": "2025-12-16 21:25:17.277623", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004878", "end": "2025-12-16 21:25:17.310818", "msg": "", "rc": 0, "start": "2025-12-16 21:25:17.305940", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005716", "end": "2025-12-16 21:25:17.325924", "msg": "", "rc": 0, "start": "2025-12-16 21:25:17.320208", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003092", "end": "2025-12-16 21:25:17.337575", "msg": "", "rc": 0, "start": "2025-12-16 21:25:17.334483", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006176", "end": "2025-12-16 21:25:17.350828", "msg": "", "rc": 0, "start": "2025-12-16 21:25:17.344652", "stderr": "", "stderr_lines": [], "stdout": "52.0°C", "stdout_lines": ["52.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005044", "end": "2025-12-16 21:24:52.066310", "msg": "", "rc": 0, "start": "2025-12-16 21:24:52.061266", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002984", "end": "2025-12-16 21:24:45.822244", "msg": "", "rc": 0, "start": "2025-12-16 21:24:45.819260", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011873", "end": "2025-12-16 21:25:17.982673", "msg": "", "rc": 0, "start": "2025-12-16 21:25:17.970800", "stderr": "", "stderr_lines": [], "stdout": "31.2°C", "stdout_lines": ["31.2°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013553", "end": "2025-12-16 21:25:18.023409", "msg": "", "rc": 0, "start": "2025-12-16 21:25:18.009856", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004204", "end": "2025-12-16 21:25:18.286632", "msg": "", "rc": 0, "start": "2025-12-16 21:25:18.282428", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003264", "end": "2025-12-16 21:24:48.997801", "msg": "", "rc": 0, "start": "2025-12-16 21:24:48.994537", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002749", "end": "2025-12-16 21:24:55.337095", "msg": "", "rc": 0, "start": "2025-12-16 21:24:55.334346", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004121", "end": "2025-12-16 18:25:18.513816", "msg": "", "rc": 0, "start": "2025-12-16 18:25:18.509695", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004236", "end": "2025-12-16 21:25:19.035833", "msg": "", "rc": 0, "start": "2025-12-16 21:25:19.031597", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003106", "end": "2025-12-16 21:25:18.713560", "msg": "", "rc": 0, "start": "2025-12-16 21:25:18.710454", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028857", "end": "2025-12-16 21:25:18.680651", "msg": "", "rc": 0, "start": "2025-12-16 21:25:18.651794", "stderr": "", "stderr_lines": [], "stdout": "35.1°C", "stdout_lines": ["35.1°C"]}
TASK [Get CPU load] ************************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003963", "end": "2025-12-16 21:25:19.223162", "msg": "", "rc": 0, "start": "2025-12-16 21:25:19.219199", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004300", "end": "2025-12-16 21:25:19.221501", "msg": "", "rc": 0, "start": "2025-12-16 21:25:19.217201", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004799", "end": "2025-12-16 21:25:19.247753", "msg": "", "rc": 0, "start": "2025-12-16 21:25:19.242954", "stderr": "", "stderr_lines": [], "stdout": "0.92", "stdout_lines": ["0.92"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005206", "end": "2025-12-16 21:25:19.260623", "msg": "", "rc": 0, "start": "2025-12-16 21:25:19.255417", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005395", "end": "2025-12-16 21:25:19.276935", "msg": "", "rc": 0, "start": "2025-12-16 21:25:19.271540", "stderr": "", "stderr_lines": [], "stdout": "0.59", "stdout_lines": ["0.59"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005036", "end": "2025-12-16 21:24:53.995917", "msg": "", "rc": 0, "start": "2025-12-16 21:24:53.990881", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005131", "end": "2025-12-16 21:24:47.745486", "msg": "", "rc": 0, "start": "2025-12-16 21:24:47.740355", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010229", "end": "2025-12-16 21:25:19.996283", "msg": "", "rc": 0, "start": "2025-12-16 21:25:19.986054", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011015", "end": "2025-12-16 21:25:20.030042", "msg": "", "rc": 0, "start": "2025-12-16 21:25:20.019027", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006330", "end": "2025-12-16 21:25:20.219671", "msg": "", "rc": 0, "start": "2025-12-16 21:25:20.213341", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005201", "end": "2025-12-16 21:24:50.911901", "msg": "", "rc": 0, "start": "2025-12-16 21:24:50.906700", "stderr": "", "stderr_lines": [], "stdout": "0.62", "stdout_lines": ["0.62"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004315", "end": "2025-12-16 21:24:57.379133", "msg": "", "rc": 0, "start": "2025-12-16 21:24:57.374818", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005869", "end": "2025-12-16 18:25:20.520419", "msg": "", "rc": 0, "start": "2025-12-16 18:25:20.514550", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007161", "end": "2025-12-16 21:25:21.028441", "msg": "", "rc": 0, "start": "2025-12-16 21:25:21.021280", "stderr": "", "stderr_lines": [], "stdout": "1.45", "stdout_lines": ["1.45"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005638", "end": "2025-12-16 21:25:20.651527", "msg": "", "rc": 0, "start": "2025-12-16 21:25:20.645889", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024446", "end": "2025-12-16 21:25:20.612325", "msg": "", "rc": 0, "start": "2025-12-16 21:25:20.587879", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:11 up 2 days, 10:57, 1 user, load average: 0.13, 0.22, 0.27\nDisk Usage: 22%\nMemory Usage: 22.2%\nCPU Load: 0.18\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:11 up 21 days, 8:16, 1 user, load average: 0.19, 0.15, 0.11\nDisk Usage: 23%\nMemory Usage: 80.6%\nCPU Load: 0.17\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:11 up 21 days, 8:36, 1 user, load average: 0.91, 0.75, 0.73\nDisk Usage: 14%\nMemory Usage: 48.9%\nCPU Load: 0.92\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:11 up 21 days, 9:49, 1 user, load average: 0.61, 0.74, 0.76\nDisk Usage: 14%\nMemory Usage: 59.6%\nCPU Load: 0.59\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:11 up 21 days, 10:35, 1 user, load average: 0.07, 0.03, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:12 up 14 days, 10:51, 1 user, load average: 0.27, 0.21, 0.18\nDisk Usage: 21%\nMemory Usage: 19.8%\nCPU Load: 0.33\nCPU Temp: 35.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:12 up 193 days, 12:58, 1 user, load average: 0.22, 0.19, 0.18\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.28\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:11 up 193 days, 12:58, 1 user, load average: 0.37, 0.19, 0.13\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.34\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:24:46 up 10 days, 9:14, 0 user, load average: 0.22, 0.20, 0.16\nDisk Usage: 48%\nMemory Usage: 70.2%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:24:40 up 17 days, 5:26, 0 user, load average: 0.14, 0.07, 0.02\nDisk Usage: 24%\nMemory Usage: 68.9%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:12 up 2 days, 10:56, 1 user, load average: 0.00, 0.03, 0.00\nDisk Usage: 1%\nMemory Usage: 34.8%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:24:43 up 20 days, 19 min, 0 user, load average: 0.56, 0.48, 0.51\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.62\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:24:49 up 16 days, 10:40, 0 user, load average: 0.21, 0.29, 0.26\nDisk Usage: 75%\nMemory Usage: 59.1%\nCPU Load: 0.26\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:25PM up 21 days, 8:15, 1 user, load averages: 0.53, 0.38, 0.26\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:12 up 2 days, 10:56, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 79%\nMemory Usage: 13.7%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:25:13 up 23:07, 1 user, load average: 1.40, 1.61, 1.48\nDisk Usage: 1%\nMemory Usage: 20.3%\nCPU Load: 1.45\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T02:25:22.027025+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `2261a729f0234c119ebfa1983ac4b7ad` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T02:30:00.003305+00:00 |
| **Fin** | 2025-12-17T02:30:22.301918+00:00 |
| **Durée** | 22.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003687", "end": "2025-12-16 21:30:10.370827", "msg": "", "rc": 0, "start": "2025-12-16 21:30:10.367140", "stderr": "", "stderr_lines": [], "stdout": " 21:30:10 up 21 days, 10:40, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 21:30:10 up 21 days, 10:40, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003545", "end": "2025-12-16 21:30:10.369130", "msg": "", "rc": 0, "start": "2025-12-16 21:30:10.365585", "stderr": "", "stderr_lines": [], "stdout": " 21:30:10 up 21 days, 8:41, 1 user, load average: 0.64, 0.78, 0.75", "stdout_lines": [" 21:30:10 up 21 days, 8:41, 1 user, load average: 0.64, 0.78, 0.75"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003677", "end": "2025-12-16 21:30:10.388922", "msg": "", "rc": 0, "start": "2025-12-16 21:30:10.385245", "stderr": "", "stderr_lines": [], "stdout": " 21:30:10 up 21 days, 9:54, 1 user, load average: 0.93, 0.74, 0.74", "stdout_lines": [" 21:30:10 up 21 days, 9:54, 1 user, load average: 0.93, 0.74, 0.74"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002884", "end": "2025-12-16 21:30:10.400070", "msg": "", "rc": 0, "start": "2025-12-16 21:30:10.397186", "stderr": "", "stderr_lines": [], "stdout": " 21:30:10 up 2 days, 11:02, 1 user, load average: 0.46, 0.30, 0.28", "stdout_lines": [" 21:30:10 up 2 days, 11:02, 1 user, load average: 0.46, 0.30, 0.28"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002707", "end": "2025-12-16 21:29:45.118058", "msg": "", "rc": 0, "start": "2025-12-16 21:29:45.115351", "stderr": "", "stderr_lines": [], "stdout": " 21:29:45 up 10 days, 9:19, 0 user, load average: 0.06, 0.18, 0.17", "stdout_lines": [" 21:29:45 up 10 days, 9:19, 0 user, load average: 0.06, 0.18, 0.17"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008455", "end": "2025-12-16 21:30:11.064544", "msg": "", "rc": 0, "start": "2025-12-16 21:30:11.056089", "stderr": "", "stderr_lines": [], "stdout": " 21:30:11 up 193 days, 13:03, 1 user, load average: 0.17, 0.13, 0.10", "stdout_lines": [" 21:30:11 up 193 days, 13:03, 1 user, load average: 0.17, 0.13, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009266", "end": "2025-12-16 21:30:11.093609", "msg": "", "rc": 0, "start": "2025-12-16 21:30:11.084343", "stderr": "", "stderr_lines": [], "stdout": " 21:30:11 up 193 days, 13:03, 1 user, load average: 0.25, 0.18, 0.18", "stdout_lines": [" 21:30:11 up 193 days, 13:03, 1 user, load average: 0.25, 0.18, 0.18"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004246", "end": "2025-12-16 21:30:11.356839", "msg": "", "rc": 0, "start": "2025-12-16 21:30:10.352593", "stderr": "", "stderr_lines": [], "stdout": " 21:30:10 up 21 days, 8:21, 1 user, load average: 0.13, 0.15, 0.11", "stdout_lines": [" 21:30:10 up 21 days, 8:21, 1 user, load average: 0.13, 0.15, 0.11"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003789", "end": "2025-12-16 21:29:39.385599", "msg": "", "rc": 0, "start": "2025-12-16 21:29:39.381810", "stderr": "", "stderr_lines": [], "stdout": " 21:29:39 up 17 days, 5:31, 0 user, load average: 0.03, 0.08, 0.02", "stdout_lines": [" 21:29:39 up 17 days, 5:31, 0 user, load average: 0.03, 0.08, 0.02"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004693", "end": "2025-12-16 21:30:11.576924", "msg": "", "rc": 0, "start": "2025-12-16 21:30:11.572231", "stderr": "", "stderr_lines": [], "stdout": " 21:30:11 up 2 days, 11:01, 1 user, load average: 0.15, 0.06, 0.01", "stdout_lines": [" 21:30:11 up 2 days, 11:01, 1 user, load average: 0.15, 0.06, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003124", "end": "2025-12-16 21:29:42.315620", "msg": "", "rc": 0, "start": "2025-12-16 21:29:42.312496", "stderr": "", "stderr_lines": [], "stdout": " 21:29:42 up 20 days, 24 min, 0 user, load average: 0.41, 0.49, 0.52", "stdout_lines": [" 21:29:42 up 20 days, 24 min, 0 user, load average: 0.41, 0.49, 0.52"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003563", "end": "2025-12-16 21:29:48.678440", "msg": "", "rc": 0, "start": "2025-12-16 21:29:48.674877", "stderr": "", "stderr_lines": [], "stdout": " 21:29:48 up 16 days, 10:45, 0 user, load average: 0.08, 0.20, 0.23", "stdout_lines": [" 21:29:48 up 16 days, 10:45, 0 user, load average: 0.08, 0.20, 0.23"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004214", "end": "2025-12-16 18:30:11.879014", "msg": "", "rc": 0, "start": "2025-12-16 18:30:11.874800", "stderr": "", "stderr_lines": [], "stdout": " 6:30PM up 21 days, 8:19, 1 user, load averages: 0.52, 0.36, 0.27", "stdout_lines": [" 6:30PM up 21 days, 8:19, 1 user, load averages: 0.52, 0.36, 0.27"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019211", "end": "2025-12-16 21:30:11.755674", "msg": "", "rc": 0, "start": "2025-12-16 21:30:11.736463", "stderr": "", "stderr_lines": [], "stdout": " 21:30:11 up 14 days, 10:56, 1 user, load average: 0.14, 0.14, 0.16", "stdout_lines": [" 21:30:11 up 14 days, 10:56, 1 user, load average: 0.14, 0.14, 0.16"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004913", "end": "2025-12-16 21:30:12.548675", "msg": "", "rc": 0, "start": "2025-12-16 21:30:12.543762", "stderr": "", "stderr_lines": [], "stdout": " 21:30:12 up 23:12, 1 user, load average: 2.68, 1.94, 1.62", "stdout_lines": [" 21:30:12 up 23:12, 1 user, load average: 2.68, 1.94, 1.62"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004861", "end": "2025-12-16 21:30:13.004298", "msg": "", "rc": 0, "start": "2025-12-16 21:30:11.999437", "stderr": "", "stderr_lines": [], "stdout": " 21:30:12 up 2 days, 11:01, 1 user, load average: 0.07, 0.09, 0.03", "stdout_lines": [" 21:30:12 up 2 days, 11:01, 1 user, load average: 0.07, 0.09, 0.03"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004372", "end": "2025-12-16 21:30:13.426001", "msg": "", "rc": 0, "start": "2025-12-16 21:30:13.421629", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004190", "end": "2025-12-16 21:30:13.447074", "msg": "", "rc": 0, "start": "2025-12-16 21:30:13.442884", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004766", "end": "2025-12-16 21:30:13.445078", "msg": "", "rc": 0, "start": "2025-12-16 21:30:13.440312", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005079", "end": "2025-12-16 21:30:13.466888", "msg": "", "rc": 0, "start": "2025-12-16 21:30:13.461809", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005971", "end": "2025-12-16 21:30:13.480938", "msg": "", "rc": 0, "start": "2025-12-16 21:30:13.474967", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004811", "end": "2025-12-16 21:29:48.194277", "msg": "", "rc": 0, "start": "2025-12-16 21:29:48.189466", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008335", "end": "2025-12-16 21:29:41.983037", "msg": "", "rc": 0, "start": "2025-12-16 21:29:41.974702", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011366", "end": "2025-12-16 21:30:14.140808", "msg": "", "rc": 0, "start": "2025-12-16 21:30:14.129442", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010751", "end": "2025-12-16 21:30:14.198488", "msg": "", "rc": 0, "start": "2025-12-16 21:30:14.187737", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006012", "end": "2025-12-16 21:30:14.424718", "msg": "", "rc": 0, "start": "2025-12-16 21:30:14.418706", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006023", "end": "2025-12-16 21:29:45.191207", "msg": "", "rc": 0, "start": "2025-12-16 21:29:45.185184", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005603", "end": "2025-12-16 18:30:14.660731", "msg": "", "rc": 0, "start": "2025-12-16 18:30:14.655128", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005493", "end": "2025-12-16 21:29:51.527468", "msg": "", "rc": 0, "start": "2025-12-16 21:29:51.521975", "stderr": "", "stderr_lines": [], "stdout": "75%", "stdout_lines": ["75%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005356", "end": "2025-12-16 21:30:14.849275", "msg": "", "rc": 0, "start": "2025-12-16 21:30:14.843919", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.009720", "end": "2025-12-16 21:30:15.558200", "msg": "", "rc": 0, "start": "2025-12-16 21:30:15.548480", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025142", "end": "2025-12-16 21:30:14.872638", "msg": "", "rc": 0, "start": "2025-12-16 21:30:14.847496", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004503", "end": "2025-12-16 21:30:15.383158", "msg": "", "rc": 0, "start": "2025-12-16 21:30:15.378655", "stderr": "", "stderr_lines": [], "stdout": "80.5%", "stdout_lines": ["80.5%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004200", "end": "2025-12-16 21:30:15.406662", "msg": "", "rc": 0, "start": "2025-12-16 21:30:15.402462", "stderr": "", "stderr_lines": [], "stdout": "22.1%", "stdout_lines": ["22.1%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004561", "end": "2025-12-16 21:30:15.417320", "msg": "", "rc": 0, "start": "2025-12-16 21:30:15.412759", "stderr": "", "stderr_lines": [], "stdout": "49.0%", "stdout_lines": ["49.0%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005182", "end": "2025-12-16 21:30:15.437551", "msg": "", "rc": 0, "start": "2025-12-16 21:30:15.432369", "stderr": "", "stderr_lines": [], "stdout": "8.9%", "stdout_lines": ["8.9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005715", "end": "2025-12-16 21:30:15.458129", "msg": "", "rc": 0, "start": "2025-12-16 21:30:15.452414", "stderr": "", "stderr_lines": [], "stdout": "59.6%", "stdout_lines": ["59.6%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003512", "end": "2025-12-16 21:29:50.137935", "msg": "", "rc": 0, "start": "2025-12-16 21:29:50.134423", "stderr": "", "stderr_lines": [], "stdout": "70.3%", "stdout_lines": ["70.3%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005243", "end": "2025-12-16 21:29:43.941564", "msg": "", "rc": 0, "start": "2025-12-16 21:29:43.936321", "stderr": "", "stderr_lines": [], "stdout": "69.0%", "stdout_lines": ["69.0%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011017", "end": "2025-12-16 21:30:16.088610", "msg": "", "rc": 0, "start": "2025-12-16 21:30:16.077593", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011884", "end": "2025-12-16 21:30:16.096081", "msg": "", "rc": 0, "start": "2025-12-16 21:30:16.084197", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.8%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005818", "end": "2025-12-16 21:30:16.345382", "msg": "", "rc": 0, "start": "2025-12-16 21:30:16.339564", "stderr": "", "stderr_lines": [], "stdout": "34.6%", "stdout_lines": ["34.6%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004600", "end": "2025-12-16 21:29:47.121728", "msg": "", "rc": 0, "start": "2025-12-16 21:29:47.117128", "stderr": "", "stderr_lines": [], "stdout": "26.7%", "stdout_lines": ["26.7%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005207", "end": "2025-12-16 18:30:16.569541", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 18:30:16.564334", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003565", "end": "2025-12-16 21:29:53.432875", "msg": "", "rc": 0, "start": "2025-12-16 21:29:53.429310", "stderr": "", "stderr_lines": [], "stdout": "59.6%", "stdout_lines": ["59.6%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005446", "end": "2025-12-16 21:30:16.759253", "msg": "", "rc": 0, "start": "2025-12-16 21:30:16.753807", "stderr": "", "stderr_lines": [], "stdout": "13.8%", "stdout_lines": ["13.8%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.007711", "end": "2025-12-16 21:30:17.486431", "msg": "", "rc": 0, "start": "2025-12-16 21:30:17.478720", "stderr": "", "stderr_lines": [], "stdout": "20.1%", "stdout_lines": ["20.1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025568", "end": "2025-12-16 21:30:16.749492", "msg": "", "rc": 0, "start": "2025-12-16 21:30:16.723924", "stderr": "", "stderr_lines": [], "stdout": "20.4%", "stdout_lines": ["20.4%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005138", "end": "2025-12-16 21:30:17.279960", "msg": "", "rc": 0, "start": "2025-12-16 21:30:17.274822", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004861", "end": "2025-12-16 21:30:17.291147", "msg": "", "rc": 0, "start": "2025-12-16 21:30:17.286286", "stderr": "", "stderr_lines": [], "stdout": "46.0°C", "stdout_lines": ["46.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006649", "end": "2025-12-16 21:30:17.298869", "msg": "", "rc": 0, "start": "2025-12-16 21:30:17.292220", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003241", "end": "2025-12-16 21:30:17.323369", "msg": "", "rc": 0, "start": "2025-12-16 21:30:17.320128", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006848", "end": "2025-12-16 21:30:17.352829", "msg": "", "rc": 0, "start": "2025-12-16 21:30:17.345981", "stderr": "", "stderr_lines": [], "stdout": "52.0°C", "stdout_lines": ["52.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002563", "end": "2025-12-16 21:29:52.038465", "msg": "", "rc": 0, "start": "2025-12-16 21:29:52.035902", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003118", "end": "2025-12-16 21:29:45.856812", "msg": "", "rc": 0, "start": "2025-12-16 21:29:45.853694", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011855", "end": "2025-12-16 21:30:17.980532", "msg": "", "rc": 0, "start": "2025-12-16 21:30:17.968677", "stderr": "", "stderr_lines": [], "stdout": "30.7°C", "stdout_lines": ["30.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013105", "end": "2025-12-16 21:30:18.047484", "msg": "", "rc": 0, "start": "2025-12-16 21:30:18.034379", "stderr": "", "stderr_lines": [], "stdout": "34.6°C", "stdout_lines": ["34.6°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003434", "end": "2025-12-16 21:30:18.230923", "msg": "", "rc": 0, "start": "2025-12-16 21:30:18.227489", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002723", "end": "2025-12-16 21:29:49.021861", "msg": "", "rc": 0, "start": "2025-12-16 21:29:49.019138", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002545", "end": "2025-12-16 21:29:55.340872", "msg": "", "rc": 0, "start": "2025-12-16 21:29:55.338327", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004306", "end": "2025-12-16 18:30:18.517247", "msg": "", "rc": 0, "start": "2025-12-16 18:30:18.512941", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003085", "end": "2025-12-16 21:30:18.651532", "msg": "", "rc": 0, "start": "2025-12-16 21:30:18.648447", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004098", "end": "2025-12-16 21:30:19.484066", "msg": "", "rc": 0, "start": "2025-12-16 21:30:19.479968", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028250", "end": "2025-12-16 21:30:18.679919", "msg": "", "rc": 0, "start": "2025-12-16 21:30:18.651669", "stderr": "", "stderr_lines": [], "stdout": "34.7°C", "stdout_lines": ["34.7°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004220", "end": "2025-12-16 21:30:19.185873", "msg": "", "rc": 0, "start": "2025-12-16 21:30:19.181653", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004047", "end": "2025-12-16 21:30:19.212042", "msg": "", "rc": 0, "start": "2025-12-16 21:30:19.207995", "stderr": "", "stderr_lines": [], "stdout": "0.47", "stdout_lines": ["0.47"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005979", "end": "2025-12-16 21:30:19.246624", "msg": "", "rc": 0, "start": "2025-12-16 21:30:19.240645", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005730", "end": "2025-12-16 21:30:19.242672", "msg": "", "rc": 0, "start": "2025-12-16 21:30:19.236942", "stderr": "", "stderr_lines": [], "stdout": "0.70", "stdout_lines": ["0.70"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005224", "end": "2025-12-16 21:30:19.250394", "msg": "", "rc": 0, "start": "2025-12-16 21:30:19.245170", "stderr": "", "stderr_lines": [], "stdout": "0.94", "stdout_lines": ["0.94"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004167", "end": "2025-12-16 21:29:53.959716", "msg": "", "rc": 0, "start": "2025-12-16 21:29:53.955549", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005084", "end": "2025-12-16 21:29:47.733735", "msg": "", "rc": 0, "start": "2025-12-16 21:29:47.728651", "stderr": "", "stderr_lines": [], "stdout": "0.03", "stdout_lines": ["0.03"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011164", "end": "2025-12-16 21:30:19.910824", "msg": "", "rc": 0, "start": "2025-12-16 21:30:19.899660", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010229", "end": "2025-12-16 21:30:19.963006", "msg": "", "rc": 0, "start": "2025-12-16 21:30:19.952777", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005760", "end": "2025-12-16 21:30:20.182301", "msg": "", "rc": 0, "start": "2025-12-16 21:30:20.176541", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005124", "end": "2025-12-16 21:29:50.920589", "msg": "", "rc": 0, "start": "2025-12-16 21:29:50.915465", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004361", "end": "2025-12-16 21:29:57.281256", "msg": "", "rc": 0, "start": "2025-12-16 21:29:57.276895", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006202", "end": "2025-12-16 18:30:20.417428", "msg": "", "rc": 0, "start": "2025-12-16 18:30:20.411226", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005457", "end": "2025-12-16 21:30:20.600250", "msg": "", "rc": 0, "start": "2025-12-16 21:30:20.594793", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007155", "end": "2025-12-16 21:30:21.447188", "msg": "", "rc": 0, "start": "2025-12-16 21:30:21.440033", "stderr": "", "stderr_lines": [], "stdout": "2.50", "stdout_lines": ["2.50"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024078", "end": "2025-12-16 21:30:20.556591", "msg": "", "rc": 0, "start": "2025-12-16 21:30:20.532513", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:10 up 2 days, 11:02, 1 user, load average: 0.46, 0.30, 0.28\nDisk Usage: 22%\nMemory Usage: 22.1%\nCPU Load: 0.47\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:10 up 21 days, 8:21, 1 user, load average: 0.13, 0.15, 0.11\nDisk Usage: 23%\nMemory Usage: 80.5%\nCPU Load: 0.12\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:10 up 21 days, 8:41, 1 user, load average: 0.64, 0.78, 0.75\nDisk Usage: 14%\nMemory Usage: 49.0%\nCPU Load: 0.70\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:10 up 21 days, 9:54, 1 user, load average: 0.93, 0.74, 0.74\nDisk Usage: 14%\nMemory Usage: 59.6%\nCPU Load: 0.94\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:10 up 21 days, 10:40, 1 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 9%\nMemory Usage: 8.9%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:11 up 14 days, 10:56, 1 user, load average: 0.14, 0.14, 0.16\nDisk Usage: 21%\nMemory Usage: 20.4%\nCPU Load: 0.21\nCPU Temp: 34.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:11 up 193 days, 13:03, 1 user, load average: 0.25, 0.18, 0.18\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.29\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:11 up 193 days, 13:03, 1 user, load average: 0.17, 0.13, 0.10\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.22\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:29:45 up 10 days, 9:19, 0 user, load average: 0.06, 0.18, 0.17\nDisk Usage: 48%\nMemory Usage: 70.3%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:29:39 up 17 days, 5:31, 0 user, load average: 0.03, 0.08, 0.02\nDisk Usage: 24%\nMemory Usage: 69.0%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:11 up 2 days, 11:01, 1 user, load average: 0.15, 0.06, 0.01\nDisk Usage: 1%\nMemory Usage: 34.6%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:29:42 up 20 days, 24 min, 0 user, load average: 0.41, 0.49, 0.52\nDisk Usage: 28%\nMemory Usage: 26.7%\nCPU Load: 0.42\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:29:48 up 16 days, 10:45, 0 user, load average: 0.08, 0.20, 0.23\nDisk Usage: 75%\nMemory Usage: 59.6%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:30PM up 21 days, 8:19, 1 user, load averages: 0.52, 0.36, 0.27\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:12 up 2 days, 11:01, 1 user, load average: 0.07, 0.09, 0.03\nDisk Usage: 79%\nMemory Usage: 13.8%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:30:12 up 23:12, 1 user, load average: 2.68, 1.94, 1.62\nDisk Usage: 1%\nMemory Usage: 20.1%\nCPU Load: 2.50\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T02:30:22.353759+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `f7f184a340974e4095b17a741dd5219d` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T02:35:00.003881+00:00 |
| **Fin** | 2025-12-17T02:35:21.502773+00:00 |
| **Durée** | 21.5s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp2.i7.home]
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003012", "end": "2025-12-16 21:35:11.053294", "msg": "", "rc": 0, "start": "2025-12-16 21:35:11.050282", "stderr": "", "stderr_lines": [], "stdout": " 21:35:11 up 21 days, 8:26, 1 user, load average: 0.14, 0.13, 0.09", "stdout_lines": [" 21:35:11 up 21 days, 8:26, 1 user, load average: 0.14, 0.13, 0.09"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004005", "end": "2025-12-16 21:35:11.069432", "msg": "", "rc": 0, "start": "2025-12-16 21:35:11.065427", "stderr": "", "stderr_lines": [], "stdout": " 21:35:11 up 21 days, 10:45, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 21:35:11 up 21 days, 10:45, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002911", "end": "2025-12-16 21:35:11.093729", "msg": "", "rc": 0, "start": "2025-12-16 21:35:11.090818", "stderr": "", "stderr_lines": [], "stdout": " 21:35:11 up 2 days, 11:07, 1 user, load average: 0.16, 0.20, 0.24", "stdout_lines": [" 21:35:11 up 2 days, 11:07, 1 user, load average: 0.16, 0.20, 0.24"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008368", "end": "2025-12-16 21:35:11.751924", "msg": "", "rc": 0, "start": "2025-12-16 21:35:11.743556", "stderr": "", "stderr_lines": [], "stdout": " 21:35:11 up 193 days, 13:08, 1 user, load average: 0.04, 0.12, 0.10", "stdout_lines": [" 21:35:11 up 193 days, 13:08, 1 user, load average: 0.04, 0.12, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009324", "end": "2025-12-16 21:35:11.770404", "msg": "", "rc": 0, "start": "2025-12-16 21:35:11.761080", "stderr": "", "stderr_lines": [], "stdout": " 21:35:11 up 193 days, 13:08, 1 user, load average: 0.13, 0.16, 0.17", "stdout_lines": [" 21:35:11 up 193 days, 13:08, 1 user, load average: 0.13, 0.16, 0.17"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004269", "end": "2025-12-16 21:35:12.084685", "msg": "", "rc": 0, "start": "2025-12-16 21:35:11.080416", "stderr": "", "stderr_lines": [], "stdout": " 21:35:11 up 21 days, 8:46, 1 user, load average: 1.05, 0.86, 0.79", "stdout_lines": [" 21:35:11 up 21 days, 8:46, 1 user, load average: 1.05, 0.86, 0.79"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004907", "end": "2025-12-16 21:35:12.084623", "msg": "", "rc": 0, "start": "2025-12-16 21:35:11.079716", "stderr": "", "stderr_lines": [], "stdout": " 21:35:11 up 21 days, 9:59, 1 user, load average: 0.62, 0.63, 0.69", "stdout_lines": [" 21:35:11 up 21 days, 9:59, 1 user, load average: 0.62, 0.63, 0.69"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002732", "end": "2025-12-16 21:34:46.492745", "msg": "", "rc": 0, "start": "2025-12-16 21:34:46.490013", "stderr": "", "stderr_lines": [], "stdout": " 21:34:46 up 10 days, 9:24, 0 user, load average: 0.05, 0.21, 0.19", "stdout_lines": [" 21:34:46 up 10 days, 9:24, 0 user, load average: 0.05, 0.21, 0.19"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003399", "end": "2025-12-16 21:34:40.291141", "msg": "", "rc": 0, "start": "2025-12-16 21:34:40.287742", "stderr": "", "stderr_lines": [], "stdout": " 21:34:40 up 17 days, 5:36, 0 user, load average: 0.07, 0.06, 0.01", "stdout_lines": [" 21:34:40 up 17 days, 5:36, 0 user, load average: 0.07, 0.06, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004711", "end": "2025-12-16 21:35:12.542643", "msg": "", "rc": 0, "start": "2025-12-16 21:35:12.537932", "stderr": "", "stderr_lines": [], "stdout": " 21:35:12 up 2 days, 11:06, 1 user, load average: 0.04, 0.05, 0.01", "stdout_lines": [" 21:35:12 up 2 days, 11:06, 1 user, load average: 0.04, 0.05, 0.01"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019600", "end": "2025-12-16 21:35:12.451127", "msg": "", "rc": 0, "start": "2025-12-16 21:35:12.431527", "stderr": "", "stderr_lines": [], "stdout": " 21:35:12 up 14 days, 11:01, 1 user, load average: 0.22, 0.13, 0.14", "stdout_lines": [" 21:35:12 up 14 days, 11:01, 1 user, load average: 0.22, 0.13, 0.14"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003761", "end": "2025-12-16 21:34:43.211158", "msg": "", "rc": 0, "start": "2025-12-16 21:34:43.207397", "stderr": "", "stderr_lines": [], "stdout": " 21:34:43 up 20 days, 29 min, 0 user, load average: 0.86, 0.59, 0.54", "stdout_lines": [" 21:34:43 up 20 days, 29 min, 0 user, load average: 0.86, 0.59, 0.54"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002816", "end": "2025-12-16 21:34:49.576291", "msg": "", "rc": 0, "start": "2025-12-16 21:34:49.573475", "stderr": "", "stderr_lines": [], "stdout": " 21:34:49 up 16 days, 10:50, 0 user, load average: 0.43, 0.26, 0.23", "stdout_lines": [" 21:34:49 up 16 days, 10:50, 0 user, load average: 0.43, 0.26, 0.23"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004317", "end": "2025-12-16 18:35:12.784627", "msg": "", "rc": 0, "start": "2025-12-16 18:35:12.780310", "stderr": "", "stderr_lines": [], "stdout": " 6:35PM up 21 days, 8:25, 1 user, load averages: 0.28, 0.28, 0.25", "stdout_lines": [" 6:35PM up 21 days, 8:25, 1 user, load averages: 0.28, 0.28, 0.25"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005184", "end": "2025-12-16 21:35:13.783291", "msg": "", "rc": 0, "start": "2025-12-16 21:35:13.778107", "stderr": "", "stderr_lines": [], "stdout": " 21:35:13 up 23:17, 1 user, load average: 1.24, 1.41, 1.47", "stdout_lines": [" 21:35:13 up 23:17, 1 user, load average: 1.24, 1.41, 1.47"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003684", "end": "2025-12-16 21:35:12.953994", "msg": "", "rc": 0, "start": "2025-12-16 21:35:12.950310", "stderr": "", "stderr_lines": [], "stdout": " 21:35:12 up 2 days, 11:06, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 21:35:12 up 2 days, 11:06, 1 user, load average: 0.00, 0.02, 0.00"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004478", "end": "2025-12-16 21:35:13.353389", "msg": "", "rc": 0, "start": "2025-12-16 21:35:13.348911", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004131", "end": "2025-12-16 21:35:13.360193", "msg": "", "rc": 0, "start": "2025-12-16 21:35:13.356062", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004921", "end": "2025-12-16 21:35:13.409769", "msg": "", "rc": 0, "start": "2025-12-16 21:35:13.404848", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004702", "end": "2025-12-16 21:35:13.414192", "msg": "", "rc": 0, "start": "2025-12-16 21:35:13.409490", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005770", "end": "2025-12-16 21:35:13.415047", "msg": "", "rc": 0, "start": "2025-12-16 21:35:13.409277", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005091", "end": "2025-12-16 21:34:48.106414", "msg": "", "rc": 0, "start": "2025-12-16 21:34:48.101323", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005597", "end": "2025-12-16 21:34:41.892761", "msg": "", "rc": 0, "start": "2025-12-16 21:34:41.887164", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010655", "end": "2025-12-16 21:35:14.133318", "msg": "", "rc": 0, "start": "2025-12-16 21:35:14.122663", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011441", "end": "2025-12-16 21:35:14.139737", "msg": "", "rc": 0, "start": "2025-12-16 21:35:14.128296", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005698", "end": "2025-12-16 21:35:14.345682", "msg": "", "rc": 0, "start": "2025-12-16 21:35:14.339984", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005586", "end": "2025-12-16 21:34:45.062097", "msg": "", "rc": 0, "start": "2025-12-16 21:34:45.056511", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005416", "end": "2025-12-16 18:35:14.620117", "msg": "", "rc": 0, "start": "2025-12-16 18:35:14.614701", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004808", "end": "2025-12-16 21:34:51.497623", "msg": "", "rc": 0, "start": "2025-12-16 21:34:51.492815", "stderr": "", "stderr_lines": [], "stdout": "75%", "stdout_lines": ["75%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005292", "end": "2025-12-16 21:35:14.761429", "msg": "", "rc": 0, "start": "2025-12-16 21:35:14.756137", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008995", "end": "2025-12-16 21:35:15.801744", "msg": "", "rc": 0, "start": "2025-12-16 21:35:15.792749", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025309", "end": "2025-12-16 21:35:14.729851", "msg": "", "rc": 0, "start": "2025-12-16 21:35:14.704542", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004366", "end": "2025-12-16 21:35:15.249308", "msg": "", "rc": 0, "start": "2025-12-16 21:35:15.244942", "stderr": "", "stderr_lines": [], "stdout": "80.5%", "stdout_lines": ["80.5%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004286", "end": "2025-12-16 21:35:15.278703", "msg": "", "rc": 0, "start": "2025-12-16 21:35:15.274417", "stderr": "", "stderr_lines": [], "stdout": "21.9%", "stdout_lines": ["21.9%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004749", "end": "2025-12-16 21:35:15.289429", "msg": "", "rc": 0, "start": "2025-12-16 21:35:15.284680", "stderr": "", "stderr_lines": [], "stdout": "48.2%", "stdout_lines": ["48.2%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004609", "end": "2025-12-16 21:35:15.294768", "msg": "", "rc": 0, "start": "2025-12-16 21:35:15.290159", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006372", "end": "2025-12-16 21:35:15.329537", "msg": "", "rc": 0, "start": "2025-12-16 21:35:15.323165", "stderr": "", "stderr_lines": [], "stdout": "59.6%", "stdout_lines": ["59.6%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003712", "end": "2025-12-16 21:34:49.998091", "msg": "", "rc": 0, "start": "2025-12-16 21:34:49.994379", "stderr": "", "stderr_lines": [], "stdout": "71.1%", "stdout_lines": ["71.1%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008445", "end": "2025-12-16 21:34:43.845527", "msg": "", "rc": 0, "start": "2025-12-16 21:34:43.837082", "stderr": "", "stderr_lines": [], "stdout": "69.0%", "stdout_lines": ["69.0%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010896", "end": "2025-12-16 21:35:15.957294", "msg": "", "rc": 0, "start": "2025-12-16 21:35:15.946398", "stderr": "", "stderr_lines": [], "stdout": "6.8%", "stdout_lines": ["6.8%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011957", "end": "2025-12-16 21:35:15.987546", "msg": "", "rc": 0, "start": "2025-12-16 21:35:15.975589", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.9%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006914", "end": "2025-12-16 21:35:16.219358", "msg": "", "rc": 0, "start": "2025-12-16 21:35:16.212444", "stderr": "", "stderr_lines": [], "stdout": "34.5%", "stdout_lines": ["34.5%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005158", "end": "2025-12-16 18:35:16.464829", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 18:35:16.459671", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003734", "end": "2025-12-16 21:34:53.343653", "msg": "", "rc": 0, "start": "2025-12-16 21:34:53.339919", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006936", "end": "2025-12-16 21:34:47.063098", "msg": "", "rc": 0, "start": "2025-12-16 21:34:47.056162", "stderr": "", "stderr_lines": [], "stdout": "26.3%", "stdout_lines": ["26.3%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005431", "end": "2025-12-16 21:35:16.638740", "msg": "", "rc": 0, "start": "2025-12-16 21:35:16.633309", "stderr": "", "stderr_lines": [], "stdout": "13.7%", "stdout_lines": ["13.7%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.007541", "end": "2025-12-16 21:35:17.835072", "msg": "", "rc": 0, "start": "2025-12-16 21:35:17.827531", "stderr": "", "stderr_lines": [], "stdout": "20.2%", "stdout_lines": ["20.2%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025493", "end": "2025-12-16 21:35:16.636835", "msg": "", "rc": 0, "start": "2025-12-16 21:35:16.611342", "stderr": "", "stderr_lines": [], "stdout": "19.8%", "stdout_lines": ["19.8%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005096", "end": "2025-12-16 21:35:17.162582", "msg": "", "rc": 0, "start": "2025-12-16 21:35:17.157486", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005434", "end": "2025-12-16 21:35:17.170314", "msg": "", "rc": 0, "start": "2025-12-16 21:35:17.164880", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004755", "end": "2025-12-16 21:35:17.181491", "msg": "", "rc": 0, "start": "2025-12-16 21:35:17.176736", "stderr": "", "stderr_lines": [], "stdout": "45.0°C", "stdout_lines": ["45.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003419", "end": "2025-12-16 21:35:17.216310", "msg": "", "rc": 0, "start": "2025-12-16 21:35:17.212891", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006894", "end": "2025-12-16 21:35:17.236908", "msg": "", "rc": 0, "start": "2025-12-16 21:35:17.230014", "stderr": "", "stderr_lines": [], "stdout": "52.0°C", "stdout_lines": ["52.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003098", "end": "2025-12-16 21:34:51.923031", "msg": "", "rc": 0, "start": "2025-12-16 21:34:51.919933", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003626", "end": "2025-12-16 21:34:45.726893", "msg": "", "rc": 0, "start": "2025-12-16 21:34:45.723267", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012559", "end": "2025-12-16 21:35:17.862197", "msg": "", "rc": 0, "start": "2025-12-16 21:35:17.849638", "stderr": "", "stderr_lines": [], "stdout": "29.7°C", "stdout_lines": ["29.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013119", "end": "2025-12-16 21:35:17.882034", "msg": "", "rc": 0, "start": "2025-12-16 21:35:17.868915", "stderr": "", "stderr_lines": [], "stdout": "35.5°C", "stdout_lines": ["35.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003155", "end": "2025-12-16 21:35:18.149328", "msg": "", "rc": 0, "start": "2025-12-16 21:35:18.146173", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003996", "end": "2025-12-16 18:35:18.344286", "msg": "", "rc": 0, "start": "2025-12-16 18:35:18.340290", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003007", "end": "2025-12-16 21:34:55.219532", "msg": "", "rc": 0, "start": "2025-12-16 21:34:55.216525", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002966", "end": "2025-12-16 21:34:48.935286", "msg": "", "rc": 0, "start": "2025-12-16 21:34:48.932320", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002863", "end": "2025-12-16 21:35:18.570265", "msg": "", "rc": 0, "start": "2025-12-16 21:35:18.567402", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004187", "end": "2025-12-16 21:35:18.677201", "msg": "", "rc": 0, "start": "2025-12-16 21:35:18.673014", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028793", "end": "2025-12-16 21:35:18.558124", "msg": "", "rc": 0, "start": "2025-12-16 21:35:18.529331", "stderr": "", "stderr_lines": [], "stdout": "35.1°C", "stdout_lines": ["35.1°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004268", "end": "2025-12-16 21:35:19.088529", "msg": "", "rc": 0, "start": "2025-12-16 21:35:19.084261", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004292", "end": "2025-12-16 21:35:19.095323", "msg": "", "rc": 0, "start": "2025-12-16 21:35:19.091031", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005466", "end": "2025-12-16 21:35:19.122589", "msg": "", "rc": 0, "start": "2025-12-16 21:35:19.117123", "stderr": "", "stderr_lines": [], "stdout": "1.34", "stdout_lines": ["1.34"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005051", "end": "2025-12-16 21:35:19.130636", "msg": "", "rc": 0, "start": "2025-12-16 21:35:19.125585", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005537", "end": "2025-12-16 21:35:19.159762", "msg": "", "rc": 0, "start": "2025-12-16 21:35:19.154225", "stderr": "", "stderr_lines": [], "stdout": "0.92", "stdout_lines": ["0.92"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004645", "end": "2025-12-16 21:34:53.849177", "msg": "", "rc": 0, "start": "2025-12-16 21:34:53.844532", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004958", "end": "2025-12-16 21:34:47.613547", "msg": "", "rc": 0, "start": "2025-12-16 21:34:47.608589", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010171", "end": "2025-12-16 21:35:19.877680", "msg": "", "rc": 0, "start": "2025-12-16 21:35:19.867509", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011073", "end": "2025-12-16 21:35:19.871474", "msg": "", "rc": 0, "start": "2025-12-16 21:35:19.860401", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005812", "end": "2025-12-16 21:35:20.050359", "msg": "", "rc": 0, "start": "2025-12-16 21:35:20.044547", "stderr": "", "stderr_lines": [], "stdout": "0.03", "stdout_lines": ["0.03"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005011", "end": "2025-12-16 21:34:50.799788", "msg": "", "rc": 0, "start": "2025-12-16 21:34:50.794777", "stderr": "", "stderr_lines": [], "stdout": "0.81", "stdout_lines": ["0.81"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005921", "end": "2025-12-16 18:35:20.370152", "msg": "", "rc": 0, "start": "2025-12-16 18:35:20.364231", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004262", "end": "2025-12-16 21:34:57.246262", "msg": "", "rc": 0, "start": "2025-12-16 21:34:57.242000", "stderr": "", "stderr_lines": [], "stdout": "0.36", "stdout_lines": ["0.36"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006174", "end": "2025-12-16 21:35:20.516041", "msg": "", "rc": 0, "start": "2025-12-16 21:35:20.509867", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007208", "end": "2025-12-16 21:35:20.662123", "msg": "", "rc": 0, "start": "2025-12-16 21:35:20.654915", "stderr": "", "stderr_lines": [], "stdout": "1.20", "stdout_lines": ["1.20"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024217", "end": "2025-12-16 21:35:20.469307", "msg": "", "rc": 0, "start": "2025-12-16 21:35:20.445090", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:11 up 2 days, 11:07, 1 user, load average: 0.16, 0.20, 0.24\nDisk Usage: 22%\nMemory Usage: 21.9%\nCPU Load: 0.14\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:11 up 21 days, 8:26, 1 user, load average: 0.14, 0.13, 0.09\nDisk Usage: 23%\nMemory Usage: 80.5%\nCPU Load: 0.13\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:11 up 21 days, 8:46, 1 user, load average: 1.05, 0.86, 0.79\nDisk Usage: 14%\nMemory Usage: 48.2%\nCPU Load: 1.34\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:11 up 21 days, 9:59, 1 user, load average: 0.62, 0.63, 0.69\nDisk Usage: 14%\nMemory Usage: 59.6%\nCPU Load: 0.92\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:11 up 21 days, 10:45, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:12 up 14 days, 11:01, 1 user, load average: 0.22, 0.13, 0.14\nDisk Usage: 21%\nMemory Usage: 19.8%\nCPU Load: 0.21\nCPU Temp: 35.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:11 up 193 days, 13:08, 1 user, load average: 0.13, 0.16, 0.17\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.12\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:11 up 193 days, 13:08, 1 user, load average: 0.04, 0.12, 0.10\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.11\nCPU Temp: 29.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:34:46 up 10 days, 9:24, 0 user, load average: 0.05, 0.21, 0.19\nDisk Usage: 48%\nMemory Usage: 71.1%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:34:40 up 17 days, 5:36, 0 user, load average: 0.07, 0.06, 0.01\nDisk Usage: 24%\nMemory Usage: 69.0%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:12 up 2 days, 11:06, 1 user, load average: 0.04, 0.05, 0.01\nDisk Usage: 1%\nMemory Usage: 34.5%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:34:43 up 20 days, 29 min, 0 user, load average: 0.86, 0.59, 0.54\nDisk Usage: 28%\nMemory Usage: 26.3%\nCPU Load: 0.81\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:34:49 up 16 days, 10:50, 0 user, load average: 0.43, 0.26, 0.23\nDisk Usage: 75%\nMemory Usage: 59.8%\nCPU Load: 0.36\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:35PM up 21 days, 8:25, 1 user, load averages: 0.28, 0.28, 0.25\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:12 up 2 days, 11:06, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 79%\nMemory Usage: 13.7%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:35:13 up 23:17, 1 user, load average: 1.24, 1.41, 1.47\nDisk Usage: 1%\nMemory Usage: 20.2%\nCPU Load: 1.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T02:35:21.542487+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `6bb27cc7fac547829dc838bbb07c816f` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T02:40:00.004159+00:00 |
| **Fin** | 2025-12-17T02:40:23.333312+00:00 |
| **Durée** | 23.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003064", "end": "2025-12-16 21:40:11.841660", "msg": "", "rc": 0, "start": "2025-12-16 21:40:11.838596", "stderr": "", "stderr_lines": [], "stdout": " 21:40:11 up 21 days, 8:31, 1 user, load average: 0.07, 0.12, 0.09", "stdout_lines": [" 21:40:11 up 21 days, 8:31, 1 user, load average: 0.07, 0.12, 0.09"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003154", "end": "2025-12-16 21:40:11.843305", "msg": "", "rc": 0, "start": "2025-12-16 21:40:11.840151", "stderr": "", "stderr_lines": [], "stdout": " 21:40:11 up 21 days, 8:51, 1 user, load average: 0.59, 0.88, 0.84", "stdout_lines": [" 21:40:11 up 21 days, 8:51, 1 user, load average: 0.59, 0.88, 0.84"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003501", "end": "2025-12-16 21:40:11.848119", "msg": "", "rc": 0, "start": "2025-12-16 21:40:11.844618", "stderr": "", "stderr_lines": [], "stdout": " 21:40:11 up 21 days, 10:50, 1 user, load average: 0.08, 0.03, 0.01", "stdout_lines": [" 21:40:11 up 21 days, 10:50, 1 user, load average: 0.08, 0.03, 0.01"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002902", "end": "2025-12-16 21:40:11.874835", "msg": "", "rc": 0, "start": "2025-12-16 21:40:11.871933", "stderr": "", "stderr_lines": [], "stdout": " 21:40:11 up 2 days, 11:12, 1 user, load average: 0.00, 0.08, 0.17", "stdout_lines": [" 21:40:11 up 2 days, 11:12, 1 user, load average: 0.00, 0.08, 0.17"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004047", "end": "2025-12-16 21:40:11.862885", "msg": "", "rc": 0, "start": "2025-12-16 21:40:11.858838", "stderr": "", "stderr_lines": [], "stdout": " 21:40:11 up 21 days, 10:04, 1 user, load average: 0.63, 0.59, 0.65", "stdout_lines": [" 21:40:11 up 21 days, 10:04, 1 user, load average: 0.63, 0.59, 0.65"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003176", "end": "2025-12-16 21:39:46.584260", "msg": "", "rc": 0, "start": "2025-12-16 21:39:46.581084", "stderr": "", "stderr_lines": [], "stdout": " 21:39:46 up 10 days, 9:29, 0 user, load average: 0.05, 0.17, 0.17", "stdout_lines": [" 21:39:46 up 10 days, 9:29, 0 user, load average: 0.05, 0.17, 0.17"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003793", "end": "2025-12-16 21:39:40.354297", "msg": "", "rc": 0, "start": "2025-12-16 21:39:40.350504", "stderr": "", "stderr_lines": [], "stdout": " 21:39:40 up 17 days, 5:41, 0 user, load average: 0.11, 0.07, 0.01", "stdout_lines": [" 21:39:40 up 17 days, 5:41, 0 user, load average: 0.11, 0.07, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008441", "end": "2025-12-16 21:40:12.531382", "msg": "", "rc": 0, "start": "2025-12-16 21:40:12.522941", "stderr": "", "stderr_lines": [], "stdout": " 21:40:12 up 193 days, 13:13, 1 user, load average: 0.07, 0.11, 0.09", "stdout_lines": [" 21:40:12 up 193 days, 13:13, 1 user, load average: 0.07, 0.11, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009218", "end": "2025-12-16 21:40:12.580229", "msg": "", "rc": 0, "start": "2025-12-16 21:40:12.571011", "stderr": "", "stderr_lines": [], "stdout": " 21:40:12 up 193 days, 13:13, 1 user, load average: 0.08, 0.14, 0.17", "stdout_lines": [" 21:40:12 up 193 days, 13:13, 1 user, load average: 0.08, 0.14, 0.17"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004719", "end": "2025-12-16 21:40:12.838686", "msg": "", "rc": 0, "start": "2025-12-16 21:40:12.833967", "stderr": "", "stderr_lines": [], "stdout": " 21:40:12 up 2 days, 11:11, 1 user, load average: 0.15, 0.04, 0.01", "stdout_lines": [" 21:40:12 up 2 days, 11:11, 1 user, load average: 0.15, 0.04, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003257", "end": "2025-12-16 21:39:43.535997", "msg": "", "rc": 0, "start": "2025-12-16 21:39:43.532740", "stderr": "", "stderr_lines": [], "stdout": " 21:39:43 up 20 days, 34 min, 0 user, load average: 0.61, 0.56, 0.54", "stdout_lines": [" 21:39:43 up 20 days, 34 min, 0 user, load average: 0.61, 0.56, 0.54"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002951", "end": "2025-12-16 21:39:49.870785", "msg": "", "rc": 0, "start": "2025-12-16 21:39:49.867834", "stderr": "", "stderr_lines": [], "stdout": " 21:39:49 up 16 days, 10:55, 0 user, load average: 0.36, 0.31, 0.26", "stdout_lines": [" 21:39:49 up 16 days, 10:55, 0 user, load average: 0.36, 0.31, 0.26"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004474", "end": "2025-12-16 18:40:13.040788", "msg": "", "rc": 0, "start": "2025-12-16 18:40:13.036314", "stderr": "", "stderr_lines": [], "stdout": " 6:40PM up 21 days, 8:30, 1 user, load averages: 0.16, 0.26, 0.24", "stdout_lines": [" 6:40PM up 21 days, 8:30, 1 user, load averages: 0.16, 0.26, 0.24"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008366", "end": "2025-12-16 21:40:13.553534", "msg": "", "rc": 0, "start": "2025-12-16 21:40:13.545168", "stderr": "", "stderr_lines": [], "stdout": " 21:40:13 up 23:22, 1 user, load average: 1.31, 1.23, 1.36", "stdout_lines": [" 21:40:13 up 23:22, 1 user, load average: 1.31, 1.23, 1.36"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019437", "end": "2025-12-16 21:40:13.255941", "msg": "", "rc": 0, "start": "2025-12-16 21:40:13.236504", "stderr": "", "stderr_lines": [], "stdout": " 21:40:13 up 14 days, 11:06, 1 user, load average: 0.16, 0.12, 0.13", "stdout_lines": [" 21:40:13 up 14 days, 11:06, 1 user, load average: 0.16, 0.12, 0.13"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004993", "end": "2025-12-16 21:40:14.277753", "msg": "", "rc": 0, "start": "2025-12-16 21:40:13.272760", "stderr": "", "stderr_lines": [], "stdout": " 21:40:13 up 2 days, 11:11, 1 user, load average: 0.07, 0.05, 0.01", "stdout_lines": [" 21:40:13 up 2 days, 11:11, 1 user, load average: 0.07, 0.05, 0.01"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004668", "end": "2025-12-16 21:40:14.684314", "msg": "", "rc": 0, "start": "2025-12-16 21:40:14.679646", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004106", "end": "2025-12-16 21:40:14.718179", "msg": "", "rc": 0, "start": "2025-12-16 21:40:14.714073", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005019", "end": "2025-12-16 21:40:14.739221", "msg": "", "rc": 0, "start": "2025-12-16 21:40:14.734202", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004326", "end": "2025-12-16 21:40:14.748842", "msg": "", "rc": 0, "start": "2025-12-16 21:40:14.744516", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005595", "end": "2025-12-16 21:40:14.754741", "msg": "", "rc": 0, "start": "2025-12-16 21:40:14.749146", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006425", "end": "2025-12-16 21:39:49.453061", "msg": "", "rc": 0, "start": "2025-12-16 21:39:49.446636", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005586", "end": "2025-12-16 21:39:43.213980", "msg": "", "rc": 0, "start": "2025-12-16 21:39:43.208394", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011665", "end": "2025-12-16 21:40:15.472117", "msg": "", "rc": 0, "start": "2025-12-16 21:40:15.460452", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010535", "end": "2025-12-16 21:40:15.491519", "msg": "", "rc": 0, "start": "2025-12-16 21:40:15.480984", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006040", "end": "2025-12-16 21:40:15.685568", "msg": "", "rc": 0, "start": "2025-12-16 21:40:15.679528", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005100", "end": "2025-12-16 21:39:46.401752", "msg": "", "rc": 0, "start": "2025-12-16 21:39:46.396652", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005405", "end": "2025-12-16 18:40:15.950955", "msg": "", "rc": 0, "start": "2025-12-16 18:40:15.945550", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005132", "end": "2025-12-16 21:39:52.850330", "msg": "", "rc": 0, "start": "2025-12-16 21:39:52.845198", "stderr": "", "stderr_lines": [], "stdout": "75%", "stdout_lines": ["75%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005333", "end": "2025-12-16 21:40:16.105907", "msg": "", "rc": 0, "start": "2025-12-16 21:40:16.100574", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025495", "end": "2025-12-16 21:40:16.062873", "msg": "", "rc": 0, "start": "2025-12-16 21:40:16.037378", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020339", "end": "2025-12-16 21:40:16.568898", "msg": "", "rc": 0, "start": "2025-12-16 21:40:16.548559", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004593", "end": "2025-12-16 21:40:16.612732", "msg": "", "rc": 0, "start": "2025-12-16 21:40:16.608139", "stderr": "", "stderr_lines": [], "stdout": "80.3%", "stdout_lines": ["80.3%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004867", "end": "2025-12-16 21:40:16.629713", "msg": "", "rc": 0, "start": "2025-12-16 21:40:16.624846", "stderr": "", "stderr_lines": [], "stdout": "48.1%", "stdout_lines": ["48.1%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004195", "end": "2025-12-16 21:40:16.646404", "msg": "", "rc": 0, "start": "2025-12-16 21:40:16.642209", "stderr": "", "stderr_lines": [], "stdout": "22.1%", "stdout_lines": ["22.1%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005357", "end": "2025-12-16 21:40:16.656207", "msg": "", "rc": 0, "start": "2025-12-16 21:40:16.650850", "stderr": "", "stderr_lines": [], "stdout": "8.9%", "stdout_lines": ["8.9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005659", "end": "2025-12-16 21:40:16.691072", "msg": "", "rc": 0, "start": "2025-12-16 21:40:16.685413", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004193", "end": "2025-12-16 21:39:51.348780", "msg": "", "rc": 0, "start": "2025-12-16 21:39:51.344587", "stderr": "", "stderr_lines": [], "stdout": "70.7%", "stdout_lines": ["70.7%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004850", "end": "2025-12-16 21:39:45.185261", "msg": "", "rc": 0, "start": "2025-12-16 21:39:45.180411", "stderr": "", "stderr_lines": [], "stdout": "68.9%", "stdout_lines": ["68.9%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011519", "end": "2025-12-16 21:40:17.295681", "msg": "", "rc": 0, "start": "2025-12-16 21:40:17.284162", "stderr": "", "stderr_lines": [], "stdout": "6.8%", "stdout_lines": ["6.8%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012018", "end": "2025-12-16 21:40:17.336579", "msg": "", "rc": 0, "start": "2025-12-16 21:40:17.324561", "stderr": "", "stderr_lines": [], "stdout": "12.6%", "stdout_lines": ["12.6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005849", "end": "2025-12-16 21:40:17.579447", "msg": "", "rc": 0, "start": "2025-12-16 21:40:17.573598", "stderr": "", "stderr_lines": [], "stdout": "34.6%", "stdout_lines": ["34.6%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004006", "end": "2025-12-16 21:39:54.656275", "msg": "", "rc": 0, "start": "2025-12-16 21:39:54.652269", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.7%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005455", "end": "2025-12-16 18:40:17.826293", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 18:40:17.820838", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004855", "end": "2025-12-16 21:39:48.394101", "msg": "", "rc": 0, "start": "2025-12-16 21:39:48.389246", "stderr": "", "stderr_lines": [], "stdout": "26.1%", "stdout_lines": ["26.1%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005386", "end": "2025-12-16 21:40:17.990948", "msg": "", "rc": 0, "start": "2025-12-16 21:40:17.985562", "stderr": "", "stderr_lines": [], "stdout": "13.6%", "stdout_lines": ["13.6%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008399", "end": "2025-12-16 21:40:18.545563", "msg": "", "rc": 0, "start": "2025-12-16 21:40:18.537164", "stderr": "", "stderr_lines": [], "stdout": "20.8%", "stdout_lines": ["20.8%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025908", "end": "2025-12-16 21:40:17.997794", "msg": "", "rc": 0, "start": "2025-12-16 21:40:17.971886", "stderr": "", "stderr_lines": [], "stdout": "19.6%", "stdout_lines": ["19.6%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005222", "end": "2025-12-16 21:40:18.516958", "msg": "", "rc": 0, "start": "2025-12-16 21:40:18.511736", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004966", "end": "2025-12-16 21:40:18.540833", "msg": "", "rc": 0, "start": "2025-12-16 21:40:18.535867", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006204", "end": "2025-12-16 21:40:18.558883", "msg": "", "rc": 0, "start": "2025-12-16 21:40:18.552679", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003557", "end": "2025-12-16 21:40:18.569754", "msg": "", "rc": 0, "start": "2025-12-16 21:40:18.566197", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.007150", "end": "2025-12-16 21:40:18.608245", "msg": "", "rc": 0, "start": "2025-12-16 21:40:18.601095", "stderr": "", "stderr_lines": [], "stdout": "51.5°C", "stdout_lines": ["51.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002500", "end": "2025-12-16 21:39:53.276707", "msg": "", "rc": 0, "start": "2025-12-16 21:39:53.274207", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003336", "end": "2025-12-16 21:39:47.095039", "msg": "", "rc": 0, "start": "2025-12-16 21:39:47.091703", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011893", "end": "2025-12-16 21:40:19.225430", "msg": "", "rc": 0, "start": "2025-12-16 21:40:19.213537", "stderr": "", "stderr_lines": [], "stdout": "30.7°C", "stdout_lines": ["30.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013261", "end": "2025-12-16 21:40:19.243302", "msg": "", "rc": 0, "start": "2025-12-16 21:40:19.230041", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003141", "end": "2025-12-16 21:40:19.481608", "msg": "", "rc": 0, "start": "2025-12-16 21:40:19.478467", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003961", "end": "2025-12-16 18:40:19.700127", "msg": "", "rc": 0, "start": "2025-12-16 18:40:19.696166", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003237", "end": "2025-12-16 21:39:56.569171", "msg": "", "rc": 0, "start": "2025-12-16 21:39:56.565934", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003140", "end": "2025-12-16 21:39:50.288430", "msg": "", "rc": 0, "start": "2025-12-16 21:39:50.285290", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002906", "end": "2025-12-16 21:40:19.898687", "msg": "", "rc": 0, "start": "2025-12-16 21:40:19.895781", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004133", "end": "2025-12-16 21:40:20.497067", "msg": "", "rc": 0, "start": "2025-12-16 21:40:20.492934", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028359", "end": "2025-12-16 21:40:19.904634", "msg": "", "rc": 0, "start": "2025-12-16 21:40:19.876275", "stderr": "", "stderr_lines": [], "stdout": "34.6°C", "stdout_lines": ["34.6°C"]}
TASK [Get CPU load] ************************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004179", "end": "2025-12-16 21:40:20.446078", "msg": "", "rc": 0, "start": "2025-12-16 21:40:20.441899", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004205", "end": "2025-12-16 21:40:20.451695", "msg": "", "rc": 0, "start": "2025-12-16 21:40:20.447490", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004518", "end": "2025-12-16 21:40:20.458443", "msg": "", "rc": 0, "start": "2025-12-16 21:40:20.453925", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005164", "end": "2025-12-16 21:40:20.478507", "msg": "", "rc": 0, "start": "2025-12-16 21:40:20.473343", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005653", "end": "2025-12-16 21:40:20.499994", "msg": "", "rc": 0, "start": "2025-12-16 21:40:20.494341", "stderr": "", "stderr_lines": [], "stdout": "0.92", "stdout_lines": ["0.92"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004068", "end": "2025-12-16 21:39:55.182615", "msg": "", "rc": 0, "start": "2025-12-16 21:39:55.178547", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005310", "end": "2025-12-16 21:39:48.990784", "msg": "", "rc": 0, "start": "2025-12-16 21:39:48.985474", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010282", "end": "2025-12-16 21:40:21.200086", "msg": "", "rc": 0, "start": "2025-12-16 21:40:21.189804", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011049", "end": "2025-12-16 21:40:21.260714", "msg": "", "rc": 0, "start": "2025-12-16 21:40:21.249665", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005638", "end": "2025-12-16 21:40:21.387076", "msg": "", "rc": 0, "start": "2025-12-16 21:40:21.381438", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005257", "end": "2025-12-16 21:39:52.153121", "msg": "", "rc": 0, "start": "2025-12-16 21:39:52.147864", "stderr": "", "stderr_lines": [], "stdout": "0.60", "stdout_lines": ["0.60"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004429", "end": "2025-12-16 21:39:58.556195", "msg": "", "rc": 0, "start": "2025-12-16 21:39:58.551766", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006037", "end": "2025-12-16 18:40:21.768634", "msg": "", "rc": 0, "start": "2025-12-16 18:40:21.762597", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005222", "end": "2025-12-16 21:40:21.870963", "msg": "", "rc": 0, "start": "2025-12-16 21:40:21.865741", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006743", "end": "2025-12-16 21:40:22.503673", "msg": "", "rc": 0, "start": "2025-12-16 21:40:22.496930", "stderr": "", "stderr_lines": [], "stdout": "1.58", "stdout_lines": ["1.58"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024320", "end": "2025-12-16 21:40:21.835920", "msg": "", "rc": 0, "start": "2025-12-16 21:40:21.811600", "stderr": "", "stderr_lines": [], "stdout": "0.30", "stdout_lines": ["0.30"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:11 up 21 days, 8:31, 1 user, load average: 0.07, 0.12, 0.09\nDisk Usage: 23%\nMemory Usage: 80.3%\nCPU Load: 0.06\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:11 up 2 days, 11:12, 1 user, load average: 0.00, 0.08, 0.17\nDisk Usage: 22%\nMemory Usage: 22.1%\nCPU Load: 0.08\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:11 up 21 days, 8:51, 1 user, load average: 0.59, 0.88, 0.84\nDisk Usage: 14%\nMemory Usage: 48.1%\nCPU Load: 0.50\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:11 up 21 days, 10:04, 1 user, load average: 0.63, 0.59, 0.65\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.92\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:11 up 21 days, 10:50, 1 user, load average: 0.08, 0.03, 0.01\nDisk Usage: 9%\nMemory Usage: 8.9%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:13 up 14 days, 11:06, 1 user, load average: 0.16, 0.12, 0.13\nDisk Usage: 21%\nMemory Usage: 19.6%\nCPU Load: 0.30\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:12 up 193 days, 13:13, 1 user, load average: 0.08, 0.14, 0.17\nDisk Usage: 6%\nMemory Usage: 12.6%\nCPU Load: 0.07\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:12 up 193 days, 13:13, 1 user, load average: 0.07, 0.11, 0.09\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.22\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:39:46 up 10 days, 9:29, 0 user, load average: 0.05, 0.17, 0.17\nDisk Usage: 48%\nMemory Usage: 70.7%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:39:40 up 17 days, 5:41, 0 user, load average: 0.11, 0.07, 0.01\nDisk Usage: 24%\nMemory Usage: 68.9%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:12 up 2 days, 11:11, 1 user, load average: 0.15, 0.04, 0.01\nDisk Usage: 1%\nMemory Usage: 34.6%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:39:43 up 20 days, 34 min, 0 user, load average: 0.61, 0.56, 0.54\nDisk Usage: 28%\nMemory Usage: 26.1%\nCPU Load: 0.60\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:39:49 up 16 days, 10:55, 0 user, load average: 0.36, 0.31, 0.26\nDisk Usage: 75%\nMemory Usage: 58.7%\nCPU Load: 0.31\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:40PM up 21 days, 8:30, 1 user, load averages: 0.16, 0.26, 0.24\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:13 up 2 days, 11:11, 1 user, load average: 0.07, 0.05, 0.01\nDisk Usage: 79%\nMemory Usage: 13.6%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:40:13 up 23:22, 1 user, load average: 1.31, 1.23, 1.36\nDisk Usage: 1%\nMemory Usage: 20.8%\nCPU Load: 1.58\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T02:40:23.371227+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `49603195c83144e6a12e182a32a484b2` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T03:00:00.001788+00:00 |
| **Fin** | 2025-12-17T03:00:21.876216+00:00 |
| **Durée** | 21.9s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003096", "end": "2025-12-16 22:00:11.837592", "msg": "", "rc": 0, "start": "2025-12-16 22:00:11.834496", "stderr": "", "stderr_lines": [], "stdout": " 22:00:11 up 21 days, 8:51, 1 user, load average: 0.19, 0.16, 0.11", "stdout_lines": [" 22:00:11 up 21 days, 8:51, 1 user, load average: 0.19, 0.16, 0.11"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003271", "end": "2025-12-16 22:00:11.852358", "msg": "", "rc": 0, "start": "2025-12-16 22:00:11.849087", "stderr": "", "stderr_lines": [], "stdout": " 22:00:11 up 21 days, 9:11, 1 user, load average: 0.81, 0.71, 0.76", "stdout_lines": [" 22:00:11 up 21 days, 9:11, 1 user, load average: 0.81, 0.71, 0.76"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003809", "end": "2025-12-16 22:00:11.851739", "msg": "", "rc": 0, "start": "2025-12-16 22:00:11.847930", "stderr": "", "stderr_lines": [], "stdout": " 22:00:11 up 21 days, 11:10, 1 user, load average: 0.15, 0.06, 0.01", "stdout_lines": [" 22:00:11 up 21 days, 11:10, 1 user, load average: 0.15, 0.06, 0.01"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004127", "end": "2025-12-16 22:00:11.868438", "msg": "", "rc": 0, "start": "2025-12-16 22:00:11.864311", "stderr": "", "stderr_lines": [], "stdout": " 22:00:11 up 21 days, 10:24, 1 user, load average: 1.29, 0.83, 0.70", "stdout_lines": [" 22:00:11 up 21 days, 10:24, 1 user, load average: 1.29, 0.83, 0.70"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002835", "end": "2025-12-16 22:00:11.880290", "msg": "", "rc": 0, "start": "2025-12-16 22:00:11.877455", "stderr": "", "stderr_lines": [], "stdout": " 22:00:11 up 2 days, 11:32, 1 user, load average: 0.20, 0.16, 0.13", "stdout_lines": [" 22:00:11 up 2 days, 11:32, 1 user, load average: 0.20, 0.16, 0.13"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002790", "end": "2025-12-16 21:59:46.568150", "msg": "", "rc": 0, "start": "2025-12-16 21:59:46.565360", "stderr": "", "stderr_lines": [], "stdout": " 21:59:46 up 10 days, 9:49, 0 user, load average: 0.11, 0.12, 0.10", "stdout_lines": [" 21:59:46 up 10 days, 9:49, 0 user, load average: 0.11, 0.12, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003330", "end": "2025-12-16 21:59:40.330876", "msg": "", "rc": 0, "start": "2025-12-16 21:59:40.327546", "stderr": "", "stderr_lines": [], "stdout": " 21:59:40 up 17 days, 6:01, 0 user, load average: 0.01, 0.03, 0.00", "stdout_lines": [" 21:59:40 up 17 days, 6:01, 0 user, load average: 0.01, 0.03, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008277", "end": "2025-12-16 22:00:12.497351", "msg": "", "rc": 0, "start": "2025-12-16 22:00:12.489074", "stderr": "", "stderr_lines": [], "stdout": " 22:00:12 up 193 days, 13:33, 1 user, load average: 0.31, 0.15, 0.10", "stdout_lines": [" 22:00:12 up 193 days, 13:33, 1 user, load average: 0.31, 0.15, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009126", "end": "2025-12-16 22:00:12.563131", "msg": "", "rc": 0, "start": "2025-12-16 22:00:12.554005", "stderr": "", "stderr_lines": [], "stdout": " 22:00:12 up 193 days, 13:33, 1 user, load average: 0.38, 0.25, 0.20", "stdout_lines": [" 22:00:12 up 193 days, 13:33, 1 user, load average: 0.38, 0.25, 0.20"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004686", "end": "2025-12-16 22:00:12.810762", "msg": "", "rc": 0, "start": "2025-12-16 22:00:12.806076", "stderr": "", "stderr_lines": [], "stdout": " 22:00:12 up 2 days, 11:31, 1 user, load average: 0.04, 0.03, 0.00", "stdout_lines": [" 22:00:12 up 2 days, 11:31, 1 user, load average: 0.04, 0.03, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003380", "end": "2025-12-16 21:59:43.505385", "msg": "", "rc": 0, "start": "2025-12-16 21:59:43.502005", "stderr": "", "stderr_lines": [], "stdout": " 21:59:43 up 20 days, 54 min, 0 user, load average: 0.31, 0.47, 0.49", "stdout_lines": [" 21:59:43 up 20 days, 54 min, 0 user, load average: 0.31, 0.47, 0.49"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002818", "end": "2025-12-16 21:59:49.856539", "msg": "", "rc": 0, "start": "2025-12-16 21:59:49.853721", "stderr": "", "stderr_lines": [], "stdout": " 21:59:49 up 16 days, 11:15, 0 user, load average: 0.52, 0.46, 0.36", "stdout_lines": [" 21:59:49 up 16 days, 11:15, 0 user, load average: 0.52, 0.46, 0.36"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004410", "end": "2025-12-16 19:00:13.027938", "msg": "", "rc": 0, "start": "2025-12-16 19:00:13.023528", "stderr": "", "stderr_lines": [], "stdout": " 7:00PM up 21 days, 8:50, 1 user, load averages: 0.39, 0.30, 0.25", "stdout_lines": [" 7:00PM up 21 days, 8:50, 1 user, load averages: 0.39, 0.30, 0.25"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003649", "end": "2025-12-16 22:00:13.225762", "msg": "", "rc": 0, "start": "2025-12-16 22:00:13.222113", "stderr": "", "stderr_lines": [], "stdout": " 22:00:13 up 2 days, 11:31, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 22:00:13 up 2 days, 11:31, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009909", "end": "2025-12-16 22:00:14.077294", "msg": "", "rc": 0, "start": "2025-12-16 22:00:14.067385", "stderr": "", "stderr_lines": [], "stdout": " 22:00:14 up 23:43, 1 user, load average: 3.36, 2.01, 1.54", "stdout_lines": [" 22:00:14 up 23:43, 1 user, load average: 3.36, 2.01, 1.54"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019304", "end": "2025-12-16 22:00:13.213526", "msg": "", "rc": 0, "start": "2025-12-16 22:00:13.194222", "stderr": "", "stderr_lines": [], "stdout": " 22:00:13 up 14 days, 11:26, 1 user, load average: 0.16, 0.08, 0.09", "stdout_lines": [" 22:00:13 up 14 days, 11:26, 1 user, load average: 0.16, 0.08, 0.09"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004446", "end": "2025-12-16 22:00:13.747600", "msg": "", "rc": 0, "start": "2025-12-16 22:00:13.743154", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004042", "end": "2025-12-16 22:00:13.757336", "msg": "", "rc": 0, "start": "2025-12-16 22:00:13.753294", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004542", "end": "2025-12-16 22:00:13.766274", "msg": "", "rc": 0, "start": "2025-12-16 22:00:13.761732", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004725", "end": "2025-12-16 22:00:13.781589", "msg": "", "rc": 0, "start": "2025-12-16 22:00:13.776864", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005537", "end": "2025-12-16 22:00:13.792076", "msg": "", "rc": 0, "start": "2025-12-16 22:00:13.786539", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005205", "end": "2025-12-16 21:59:48.464040", "msg": "", "rc": 0, "start": "2025-12-16 21:59:48.458835", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005451", "end": "2025-12-16 21:59:42.244514", "msg": "", "rc": 0, "start": "2025-12-16 21:59:42.239063", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011518", "end": "2025-12-16 22:00:14.482294", "msg": "", "rc": 0, "start": "2025-12-16 22:00:14.470776", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.013550", "end": "2025-12-16 22:00:14.510285", "msg": "", "rc": 0, "start": "2025-12-16 22:00:14.496735", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005696", "end": "2025-12-16 22:00:14.709803", "msg": "", "rc": 0, "start": "2025-12-16 22:00:14.704107", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005890", "end": "2025-12-16 21:59:45.400253", "msg": "", "rc": 0, "start": "2025-12-16 21:59:45.394363", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005408", "end": "2025-12-16 19:00:14.984432", "msg": "", "rc": 0, "start": "2025-12-16 19:00:14.979024", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004983", "end": "2025-12-16 21:59:51.838597", "msg": "", "rc": 0, "start": "2025-12-16 21:59:51.833614", "stderr": "", "stderr_lines": [], "stdout": "75%", "stdout_lines": ["75%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005367", "end": "2025-12-16 22:00:15.139730", "msg": "", "rc": 0, "start": "2025-12-16 22:00:15.134363", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.019014", "end": "2025-12-16 22:00:16.048632", "msg": "", "rc": 0, "start": "2025-12-16 22:00:16.029618", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025155", "end": "2025-12-16 22:00:15.136134", "msg": "", "rc": 0, "start": "2025-12-16 22:00:15.110979", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004461", "end": "2025-12-16 22:00:15.647910", "msg": "", "rc": 0, "start": "2025-12-16 22:00:15.643449", "stderr": "", "stderr_lines": [], "stdout": "81.5%", "stdout_lines": ["81.5%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004315", "end": "2025-12-16 22:00:15.656908", "msg": "", "rc": 0, "start": "2025-12-16 22:00:15.652593", "stderr": "", "stderr_lines": [], "stdout": "22.1%", "stdout_lines": ["22.1%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005549", "end": "2025-12-16 22:00:15.692155", "msg": "", "rc": 0, "start": "2025-12-16 22:00:15.686606", "stderr": "", "stderr_lines": [], "stdout": "48.2%", "stdout_lines": ["48.2%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005377", "end": "2025-12-16 22:00:15.714115", "msg": "", "rc": 0, "start": "2025-12-16 22:00:15.708738", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005870", "end": "2025-12-16 22:00:15.719614", "msg": "", "rc": 0, "start": "2025-12-16 22:00:15.713744", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003612", "end": "2025-12-16 21:59:50.391788", "msg": "", "rc": 0, "start": "2025-12-16 21:59:50.388176", "stderr": "", "stderr_lines": [], "stdout": "71.0%", "stdout_lines": ["71.0%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004428", "end": "2025-12-16 21:59:44.155607", "msg": "", "rc": 0, "start": "2025-12-16 21:59:44.151179", "stderr": "", "stderr_lines": [], "stdout": "69.0%", "stdout_lines": ["69.0%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010851", "end": "2025-12-16 22:00:16.348935", "msg": "", "rc": 0, "start": "2025-12-16 22:00:16.338084", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012194", "end": "2025-12-16 22:00:16.370893", "msg": "", "rc": 0, "start": "2025-12-16 22:00:16.358699", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.9%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006039", "end": "2025-12-16 22:00:16.666455", "msg": "", "rc": 0, "start": "2025-12-16 22:00:16.660416", "stderr": "", "stderr_lines": [], "stdout": "34.6%", "stdout_lines": ["34.6%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005215", "end": "2025-12-16 19:00:16.842816", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 19:00:16.837601", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005062", "end": "2025-12-16 21:59:47.385796", "msg": "", "rc": 0, "start": "2025-12-16 21:59:47.380734", "stderr": "", "stderr_lines": [], "stdout": "27.1%", "stdout_lines": ["27.1%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004845", "end": "2025-12-16 21:59:53.711331", "msg": "", "rc": 0, "start": "2025-12-16 21:59:53.706486", "stderr": "", "stderr_lines": [], "stdout": "58.9%", "stdout_lines": ["58.9%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005396", "end": "2025-12-16 22:00:17.101556", "msg": "", "rc": 0, "start": "2025-12-16 22:00:17.096160", "stderr": "", "stderr_lines": [], "stdout": "13.6%", "stdout_lines": ["13.6%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009866", "end": "2025-12-16 22:00:18.098766", "msg": "", "rc": 0, "start": "2025-12-16 22:00:18.088900", "stderr": "", "stderr_lines": [], "stdout": "20.7%", "stdout_lines": ["20.7%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025600", "end": "2025-12-16 22:00:17.030274", "msg": "", "rc": 0, "start": "2025-12-16 22:00:17.004674", "stderr": "", "stderr_lines": [], "stdout": "20.6%", "stdout_lines": ["20.6%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005302", "end": "2025-12-16 22:00:17.589582", "msg": "", "rc": 0, "start": "2025-12-16 22:00:17.584280", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004825", "end": "2025-12-16 22:00:17.600776", "msg": "", "rc": 0, "start": "2025-12-16 22:00:17.595951", "stderr": "", "stderr_lines": [], "stdout": "45.0°C", "stdout_lines": ["45.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005460", "end": "2025-12-16 22:00:17.617119", "msg": "", "rc": 0, "start": "2025-12-16 22:00:17.611659", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003279", "end": "2025-12-16 22:00:17.630162", "msg": "", "rc": 0, "start": "2025-12-16 22:00:17.626883", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006282", "end": "2025-12-16 22:00:17.648461", "msg": "", "rc": 0, "start": "2025-12-16 22:00:17.642179", "stderr": "", "stderr_lines": [], "stdout": "51.5°C", "stdout_lines": ["51.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002547", "end": "2025-12-16 21:59:52.348584", "msg": "", "rc": 0, "start": "2025-12-16 21:59:52.346037", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003137", "end": "2025-12-16 21:59:46.119431", "msg": "", "rc": 0, "start": "2025-12-16 21:59:46.116294", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011819", "end": "2025-12-16 22:00:18.304122", "msg": "", "rc": 0, "start": "2025-12-16 22:00:18.292303", "stderr": "", "stderr_lines": [], "stdout": "30.7°C", "stdout_lines": ["30.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013081", "end": "2025-12-16 22:00:18.352713", "msg": "", "rc": 0, "start": "2025-12-16 22:00:18.339632", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003133", "end": "2025-12-16 22:00:18.571407", "msg": "", "rc": 0, "start": "2025-12-16 22:00:18.568274", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003104", "end": "2025-12-16 21:59:49.286583", "msg": "", "rc": 0, "start": "2025-12-16 21:59:49.283479", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002743", "end": "2025-12-16 21:59:55.646727", "msg": "", "rc": 0, "start": "2025-12-16 21:59:55.643984", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003968", "end": "2025-12-16 19:00:18.807335", "msg": "", "rc": 0, "start": "2025-12-16 19:00:18.803367", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002852", "end": "2025-12-16 22:00:19.004457", "msg": "", "rc": 0, "start": "2025-12-16 22:00:19.001605", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003986", "end": "2025-12-16 22:00:20.109200", "msg": "", "rc": 0, "start": "2025-12-16 22:00:20.105214", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028543", "end": "2025-12-16 22:00:19.001313", "msg": "", "rc": 0, "start": "2025-12-16 22:00:18.972770", "stderr": "", "stderr_lines": [], "stdout": "34.9°C", "stdout_lines": ["34.9°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004236", "end": "2025-12-16 22:00:19.527032", "msg": "", "rc": 0, "start": "2025-12-16 22:00:19.522796", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003948", "end": "2025-12-16 22:00:19.532088", "msg": "", "rc": 0, "start": "2025-12-16 22:00:19.528140", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005220", "end": "2025-12-16 22:00:19.569085", "msg": "", "rc": 0, "start": "2025-12-16 22:00:19.563865", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005179", "end": "2025-12-16 22:00:19.574164", "msg": "", "rc": 0, "start": "2025-12-16 22:00:19.568985", "stderr": "", "stderr_lines": [], "stdout": "1.06", "stdout_lines": ["1.06"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005563", "end": "2025-12-16 22:00:19.580020", "msg": "", "rc": 0, "start": "2025-12-16 22:00:19.574457", "stderr": "", "stderr_lines": [], "stdout": "1.17", "stdout_lines": ["1.17"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004380", "end": "2025-12-16 21:59:54.261277", "msg": "", "rc": 0, "start": "2025-12-16 21:59:54.256897", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005266", "end": "2025-12-16 21:59:48.051647", "msg": "", "rc": 0, "start": "2025-12-16 21:59:48.046381", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010094", "end": "2025-12-16 22:00:20.335503", "msg": "", "rc": 0, "start": "2025-12-16 22:00:20.325409", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011219", "end": "2025-12-16 22:00:20.347673", "msg": "", "rc": 0, "start": "2025-12-16 22:00:20.336454", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006194", "end": "2025-12-16 22:00:20.501661", "msg": "", "rc": 0, "start": "2025-12-16 22:00:20.495467", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004918", "end": "2025-12-16 21:59:51.227090", "msg": "", "rc": 0, "start": "2025-12-16 21:59:51.222172", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006025", "end": "2025-12-16 19:00:20.824964", "msg": "", "rc": 0, "start": "2025-12-16 19:00:20.818939", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004618", "end": "2025-12-16 21:59:57.684629", "msg": "", "rc": 0, "start": "2025-12-16 21:59:57.680011", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005941", "end": "2025-12-16 22:00:20.930172", "msg": "", "rc": 0, "start": "2025-12-16 22:00:20.924231", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006874", "end": "2025-12-16 22:00:22.115983", "msg": "", "rc": 0, "start": "2025-12-16 22:00:22.109109", "stderr": "", "stderr_lines": [], "stdout": "3.24", "stdout_lines": ["3.24"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.023950", "end": "2025-12-16 22:00:20.939987", "msg": "", "rc": 0, "start": "2025-12-16 22:00:20.916037", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:11 up 21 days, 8:51, 1 user, load average: 0.19, 0.16, 0.11\nDisk Usage: 23%\nMemory Usage: 81.5%\nCPU Load: 0.26\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:11 up 21 days, 9:11, 1 user, load average: 0.81, 0.71, 0.76\nDisk Usage: 14%\nMemory Usage: 48.2%\nCPU Load: 1.06\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:11 up 2 days, 11:32, 1 user, load average: 0.20, 0.16, 0.13\nDisk Usage: 22%\nMemory Usage: 22.1%\nCPU Load: 0.24\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:11 up 21 days, 10:24, 1 user, load average: 1.29, 0.83, 0.70\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 1.17\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:11 up 21 days, 11:10, 1 user, load average: 0.15, 0.06, 0.01\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:13 up 14 days, 11:26, 1 user, load average: 0.16, 0.08, 0.09\nDisk Usage: 21%\nMemory Usage: 20.6%\nCPU Load: 0.23\nCPU Temp: 34.9°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:12 up 193 days, 13:33, 1 user, load average: 0.38, 0.25, 0.20\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.33\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:12 up 193 days, 13:33, 1 user, load average: 0.31, 0.15, 0.10\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.26\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:59:46 up 10 days, 9:49, 0 user, load average: 0.11, 0.12, 0.10\nDisk Usage: 48%\nMemory Usage: 71.0%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:59:40 up 17 days, 6:01, 0 user, load average: 0.01, 0.03, 0.00\nDisk Usage: 24%\nMemory Usage: 69.0%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:12 up 2 days, 11:31, 1 user, load average: 0.04, 0.03, 0.00\nDisk Usage: 1%\nMemory Usage: 34.6%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:59:43 up 20 days, 54 min, 0 user, load average: 0.31, 0.47, 0.49\nDisk Usage: 28%\nMemory Usage: 27.1%\nCPU Load: 0.34\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 21:59:49 up 16 days, 11:15, 0 user, load average: 0.52, 0.46, 0.36\nDisk Usage: 75%\nMemory Usage: 58.9%\nCPU Load: 0.44\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 7:00PM up 21 days, 8:50, 1 user, load averages: 0.39, 0.30, 0.25\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:13 up 2 days, 11:31, 1 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 79%\nMemory Usage: 13.6%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:00:14 up 23:43, 1 user, load average: 3.36, 2.01, 1.54\nDisk Usage: 1%\nMemory Usage: 20.7%\nCPU Load: 3.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T03:00:21.930965+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `7b10faa5805248ba97f3f2100421f233` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T03:05:00.002438+00:00 |
| **Fin** | 2025-12-17T03:05:21.013998+00:00 |
| **Durée** | 21.0s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [mimi.pc.home]
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003318", "end": "2025-12-16 22:05:10.656022", "msg": "", "rc": 0, "start": "2025-12-16 22:05:10.652704", "stderr": "", "stderr_lines": [], "stdout": " 22:05:10 up 21 days, 11:15, 1 user, load average: 0.11, 0.14, 0.05", "stdout_lines": [" 22:05:10 up 21 days, 11:15, 1 user, load average: 0.11, 0.14, 0.05"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003737", "end": "2025-12-16 22:05:10.667158", "msg": "", "rc": 0, "start": "2025-12-16 22:05:10.663421", "stderr": "", "stderr_lines": [], "stdout": " 22:05:10 up 21 days, 9:16, 1 user, load average: 0.75, 0.76, 0.77", "stdout_lines": [" 22:05:10 up 21 days, 9:16, 1 user, load average: 0.75, 0.76, 0.77"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002808", "end": "2025-12-16 22:05:10.692235", "msg": "", "rc": 0, "start": "2025-12-16 22:05:10.689427", "stderr": "", "stderr_lines": [], "stdout": " 22:05:10 up 2 days, 11:37, 1 user, load average: 0.21, 0.21, 0.16", "stdout_lines": [" 22:05:10 up 2 days, 11:37, 1 user, load average: 0.21, 0.21, 0.16"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004407", "end": "2025-12-16 22:05:10.690290", "msg": "", "rc": 0, "start": "2025-12-16 22:05:10.685883", "stderr": "", "stderr_lines": [], "stdout": " 22:05:10 up 21 days, 10:29, 1 user, load average: 0.66, 0.69, 0.68", "stdout_lines": [" 22:05:10 up 21 days, 10:29, 1 user, load average: 0.66, 0.69, 0.68"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002857", "end": "2025-12-16 22:04:45.395936", "msg": "", "rc": 0, "start": "2025-12-16 22:04:45.393079", "stderr": "", "stderr_lines": [], "stdout": " 22:04:45 up 10 days, 9:54, 0 user, load average: 0.27, 0.16, 0.11", "stdout_lines": [" 22:04:45 up 10 days, 9:54, 0 user, load average: 0.27, 0.16, 0.11"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008487", "end": "2025-12-16 22:05:11.329418", "msg": "", "rc": 0, "start": "2025-12-16 22:05:11.320931", "stderr": "", "stderr_lines": [], "stdout": " 22:05:11 up 193 days, 13:38, 1 user, load average: 0.22, 0.13, 0.10", "stdout_lines": [" 22:05:11 up 193 days, 13:38, 1 user, load average: 0.22, 0.13, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009314", "end": "2025-12-16 22:05:11.381855", "msg": "", "rc": 0, "start": "2025-12-16 22:05:11.372541", "stderr": "", "stderr_lines": [], "stdout": " 22:05:11 up 193 days, 13:38, 1 user, load average: 0.35, 0.23, 0.19", "stdout_lines": [" 22:05:11 up 193 days, 13:38, 1 user, load average: 0.35, 0.23, 0.19"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004195", "end": "2025-12-16 22:05:11.654073", "msg": "", "rc": 0, "start": "2025-12-16 22:05:10.649878", "stderr": "", "stderr_lines": [], "stdout": " 22:05:10 up 21 days, 8:56, 1 user, load average: 0.14, 0.15, 0.10", "stdout_lines": [" 22:05:10 up 21 days, 8:56, 1 user, load average: 0.14, 0.15, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003725", "end": "2025-12-16 22:04:39.604528", "msg": "", "rc": 0, "start": "2025-12-16 22:04:39.600803", "stderr": "", "stderr_lines": [], "stdout": " 22:04:39 up 17 days, 6:06, 0 user, load average: 0.06, 0.03, 0.00", "stdout_lines": [" 22:04:39 up 17 days, 6:06, 0 user, load average: 0.06, 0.03, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004635", "end": "2025-12-16 22:05:11.829720", "msg": "", "rc": 0, "start": "2025-12-16 22:05:11.825085", "stderr": "", "stderr_lines": [], "stdout": " 22:05:11 up 2 days, 11:36, 1 user, load average: 0.02, 0.02, 0.00", "stdout_lines": [" 22:05:11 up 2 days, 11:36, 1 user, load average: 0.02, 0.02, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003113", "end": "2025-12-16 22:04:42.502085", "msg": "", "rc": 0, "start": "2025-12-16 22:04:42.498972", "stderr": "", "stderr_lines": [], "stdout": " 22:04:42 up 20 days, 59 min, 0 user, load average: 0.27, 0.37, 0.44", "stdout_lines": [" 22:04:42 up 20 days, 59 min, 0 user, load average: 0.27, 0.37, 0.44"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002808", "end": "2025-12-16 22:04:48.926289", "msg": "", "rc": 0, "start": "2025-12-16 22:04:48.923481", "stderr": "", "stderr_lines": [], "stdout": " 22:04:48 up 16 days, 11:20, 0 user, load average: 0.43, 0.37, 0.34", "stdout_lines": [" 22:04:48 up 16 days, 11:20, 0 user, load average: 0.43, 0.37, 0.34"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004431", "end": "2025-12-16 19:05:12.122530", "msg": "", "rc": 0, "start": "2025-12-16 19:05:12.118099", "stderr": "", "stderr_lines": [], "stdout": " 7:05PM up 21 days, 8:54, 1 user, load averages: 0.49, 0.30, 0.25", "stdout_lines": [" 7:05PM up 21 days, 8:54, 1 user, load averages: 0.49, 0.30, 0.25"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019472", "end": "2025-12-16 22:05:12.037133", "msg": "", "rc": 0, "start": "2025-12-16 22:05:12.017661", "stderr": "", "stderr_lines": [], "stdout": " 22:05:12 up 14 days, 11:31, 1 user, load average: 0.32, 0.15, 0.11", "stdout_lines": [" 22:05:12 up 14 days, 11:31, 1 user, load average: 0.32, 0.15, 0.11"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003687", "end": "2025-12-16 22:05:12.268439", "msg": "", "rc": 0, "start": "2025-12-16 22:05:12.264752", "stderr": "", "stderr_lines": [], "stdout": " 22:05:12 up 2 days, 11:36, 1 user, load average: 0.01, 0.04, 0.01", "stdout_lines": [" 22:05:12 up 2 days, 11:36, 1 user, load average: 0.01, 0.04, 0.01"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006155", "end": "2025-12-16 22:05:12.357920", "msg": "", "rc": 0, "start": "2025-12-16 22:05:12.351765", "stderr": "", "stderr_lines": [], "stdout": " 22:05:12 up 23:48, 1 user, load average: 1.38, 1.83, 1.60", "stdout_lines": [" 22:05:12 up 23:48, 1 user, load average: 1.38, 1.83, 1.60"]}
TASK [Get disk usage] **********************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004098", "end": "2025-12-16 22:05:12.679036", "msg": "", "rc": 0, "start": "2025-12-16 22:05:12.674938", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005072", "end": "2025-12-16 22:05:12.682811", "msg": "", "rc": 0, "start": "2025-12-16 22:05:12.677739", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004515", "end": "2025-12-16 22:05:12.740293", "msg": "", "rc": 0, "start": "2025-12-16 22:05:12.735778", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005225", "end": "2025-12-16 22:05:12.761486", "msg": "", "rc": 0, "start": "2025-12-16 22:05:12.756261", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004880", "end": "2025-12-16 22:05:12.769599", "msg": "", "rc": 0, "start": "2025-12-16 22:05:12.764719", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005005", "end": "2025-12-16 22:04:47.431511", "msg": "", "rc": 0, "start": "2025-12-16 22:04:47.426506", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005183", "end": "2025-12-16 22:04:41.191512", "msg": "", "rc": 0, "start": "2025-12-16 22:04:41.186329", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011770", "end": "2025-12-16 22:05:13.429559", "msg": "", "rc": 0, "start": "2025-12-16 22:05:13.417789", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010541", "end": "2025-12-16 22:05:13.441776", "msg": "", "rc": 0, "start": "2025-12-16 22:05:13.431235", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005830", "end": "2025-12-16 22:05:13.672760", "msg": "", "rc": 0, "start": "2025-12-16 22:05:13.666930", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005313", "end": "2025-12-16 22:04:44.356799", "msg": "", "rc": 0, "start": "2025-12-16 22:04:44.351486", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005642", "end": "2025-12-16 19:05:13.904698", "msg": "", "rc": 0, "start": "2025-12-16 19:05:13.899056", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005158", "end": "2025-12-16 22:04:50.791716", "msg": "", "rc": 0, "start": "2025-12-16 22:04:50.786558", "stderr": "", "stderr_lines": [], "stdout": "75%", "stdout_lines": ["75%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007069", "end": "2025-12-16 22:05:14.248175", "msg": "", "rc": 0, "start": "2025-12-16 22:05:14.241106", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005284", "end": "2025-12-16 22:05:14.105532", "msg": "", "rc": 0, "start": "2025-12-16 22:05:14.100248", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025183", "end": "2025-12-16 22:05:14.057934", "msg": "", "rc": 0, "start": "2025-12-16 22:05:14.032751", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004534", "end": "2025-12-16 22:05:14.577932", "msg": "", "rc": 0, "start": "2025-12-16 22:05:14.573398", "stderr": "", "stderr_lines": [], "stdout": "78.4%", "stdout_lines": ["78.4%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004225", "end": "2025-12-16 22:05:14.589727", "msg": "", "rc": 0, "start": "2025-12-16 22:05:14.585502", "stderr": "", "stderr_lines": [], "stdout": "22.0%", "stdout_lines": ["22.0%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005099", "end": "2025-12-16 22:05:14.620080", "msg": "", "rc": 0, "start": "2025-12-16 22:05:14.614981", "stderr": "", "stderr_lines": [], "stdout": "48.7%", "stdout_lines": ["48.7%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004940", "end": "2025-12-16 22:05:14.624079", "msg": "", "rc": 0, "start": "2025-12-16 22:05:14.619139", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005662", "end": "2025-12-16 22:05:14.640784", "msg": "", "rc": 0, "start": "2025-12-16 22:05:14.635122", "stderr": "", "stderr_lines": [], "stdout": "59.6%", "stdout_lines": ["59.6%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004218", "end": "2025-12-16 22:04:49.321643", "msg": "", "rc": 0, "start": "2025-12-16 22:04:49.317425", "stderr": "", "stderr_lines": [], "stdout": "71.6%", "stdout_lines": ["71.6%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004686", "end": "2025-12-16 22:04:43.084110", "msg": "", "rc": 0, "start": "2025-12-16 22:04:43.079424", "stderr": "", "stderr_lines": [], "stdout": "69.0%", "stdout_lines": ["69.0%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010792", "end": "2025-12-16 22:05:15.269902", "msg": "", "rc": 0, "start": "2025-12-16 22:05:15.259110", "stderr": "", "stderr_lines": [], "stdout": "6.9%", "stdout_lines": ["6.9%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012149", "end": "2025-12-16 22:05:15.285746", "msg": "", "rc": 0, "start": "2025-12-16 22:05:15.273597", "stderr": "", "stderr_lines": [], "stdout": "12.7%", "stdout_lines": ["12.7%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005738", "end": "2025-12-16 22:05:15.565580", "msg": "", "rc": 0, "start": "2025-12-16 22:05:15.559842", "stderr": "", "stderr_lines": [], "stdout": "34.6%", "stdout_lines": ["34.6%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004151", "end": "2025-12-16 22:04:46.239975", "msg": "", "rc": 0, "start": "2025-12-16 22:04:46.235824", "stderr": "", "stderr_lines": [], "stdout": "27.4%", "stdout_lines": ["27.4%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005354", "end": "2025-12-16 19:05:15.746998", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 19:05:15.741644", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003390", "end": "2025-12-16 22:04:52.642771", "msg": "", "rc": 0, "start": "2025-12-16 22:04:52.639381", "stderr": "", "stderr_lines": [], "stdout": "60.9%", "stdout_lines": ["60.9%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.007277", "end": "2025-12-16 22:05:16.203710", "msg": "", "rc": 0, "start": "2025-12-16 22:05:16.196433", "stderr": "", "stderr_lines": [], "stdout": "20.6%", "stdout_lines": ["20.6%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005268", "end": "2025-12-16 22:05:15.997573", "msg": "", "rc": 0, "start": "2025-12-16 22:05:15.992305", "stderr": "", "stderr_lines": [], "stdout": "13.8%", "stdout_lines": ["13.8%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025868", "end": "2025-12-16 22:05:15.964567", "msg": "", "rc": 0, "start": "2025-12-16 22:05:15.938699", "stderr": "", "stderr_lines": [], "stdout": "20.2%", "stdout_lines": ["20.2%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005019", "end": "2025-12-16 22:05:16.463334", "msg": "", "rc": 0, "start": "2025-12-16 22:05:16.458315", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004843", "end": "2025-12-16 22:05:16.502394", "msg": "", "rc": 0, "start": "2025-12-16 22:05:16.497551", "stderr": "", "stderr_lines": [], "stdout": "45.0°C", "stdout_lines": ["45.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005909", "end": "2025-12-16 22:05:16.511061", "msg": "", "rc": 0, "start": "2025-12-16 22:05:16.505152", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003585", "end": "2025-12-16 22:05:16.529248", "msg": "", "rc": 0, "start": "2025-12-16 22:05:16.525663", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006662", "end": "2025-12-16 22:05:16.543970", "msg": "", "rc": 0, "start": "2025-12-16 22:05:16.537308", "stderr": "", "stderr_lines": [], "stdout": "52.0°C", "stdout_lines": ["52.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002675", "end": "2025-12-16 22:04:51.251261", "msg": "", "rc": 0, "start": "2025-12-16 22:04:51.248586", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003250", "end": "2025-12-16 22:04:44.980140", "msg": "", "rc": 0, "start": "2025-12-16 22:04:44.976890", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011944", "end": "2025-12-16 22:05:17.169683", "msg": "", "rc": 0, "start": "2025-12-16 22:05:17.157739", "stderr": "", "stderr_lines": [], "stdout": "30.2°C", "stdout_lines": ["30.2°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012916", "end": "2025-12-16 22:05:17.218519", "msg": "", "rc": 0, "start": "2025-12-16 22:05:17.205603", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003112", "end": "2025-12-16 22:05:17.485909", "msg": "", "rc": 0, "start": "2025-12-16 22:05:17.482797", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003043", "end": "2025-12-16 22:04:48.161081", "msg": "", "rc": 0, "start": "2025-12-16 22:04:48.158038", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002931", "end": "2025-12-16 22:04:54.503369", "msg": "", "rc": 0, "start": "2025-12-16 22:04:54.500438", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004450", "end": "2025-12-16 19:05:17.683704", "msg": "", "rc": 0, "start": "2025-12-16 19:05:17.679254", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004283", "end": "2025-12-16 22:05:18.200876", "msg": "", "rc": 0, "start": "2025-12-16 22:05:18.196593", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002952", "end": "2025-12-16 22:05:17.915818", "msg": "", "rc": 0, "start": "2025-12-16 22:05:17.912866", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028758", "end": "2025-12-16 22:05:17.845426", "msg": "", "rc": 0, "start": "2025-12-16 22:05:17.816668", "stderr": "", "stderr_lines": [], "stdout": "34.5°C", "stdout_lines": ["34.5°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004251", "end": "2025-12-16 22:05:18.368546", "msg": "", "rc": 0, "start": "2025-12-16 22:05:18.364295", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004166", "end": "2025-12-16 22:05:18.376538", "msg": "", "rc": 0, "start": "2025-12-16 22:05:18.372372", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005093", "end": "2025-12-16 22:05:18.383444", "msg": "", "rc": 0, "start": "2025-12-16 22:05:18.378351", "stderr": "", "stderr_lines": [], "stdout": "0.93", "stdout_lines": ["0.93"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005894", "end": "2025-12-16 22:05:18.401371", "msg": "", "rc": 0, "start": "2025-12-16 22:05:18.395477", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005544", "end": "2025-12-16 22:05:18.425468", "msg": "", "rc": 0, "start": "2025-12-16 22:05:18.419924", "stderr": "", "stderr_lines": [], "stdout": "0.96", "stdout_lines": ["0.96"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004645", "end": "2025-12-16 22:04:53.103896", "msg": "", "rc": 0, "start": "2025-12-16 22:04:53.099251", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005262", "end": "2025-12-16 22:04:46.888568", "msg": "", "rc": 0, "start": "2025-12-16 22:04:46.883306", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010107", "end": "2025-12-16 22:05:19.154217", "msg": "", "rc": 0, "start": "2025-12-16 22:05:19.144110", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011277", "end": "2025-12-16 22:05:19.167119", "msg": "", "rc": 0, "start": "2025-12-16 22:05:19.155842", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006679", "end": "2025-12-16 22:05:19.340020", "msg": "", "rc": 0, "start": "2025-12-16 22:05:19.333341", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005113", "end": "2025-12-16 22:04:50.057237", "msg": "", "rc": 0, "start": "2025-12-16 22:04:50.052124", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006181", "end": "2025-12-16 19:05:19.636477", "msg": "", "rc": 0, "start": "2025-12-16 19:05:19.630296", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004116", "end": "2025-12-16 22:04:56.487541", "msg": "", "rc": 0, "start": "2025-12-16 22:04:56.483425", "stderr": "", "stderr_lines": [], "stdout": "0.40", "stdout_lines": ["0.40"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005261", "end": "2025-12-16 22:05:19.765288", "msg": "", "rc": 0, "start": "2025-12-16 22:05:19.760027", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007399", "end": "2025-12-16 22:05:20.166288", "msg": "", "rc": 0, "start": "2025-12-16 22:05:20.158889", "stderr": "", "stderr_lines": [], "stdout": "1.43", "stdout_lines": ["1.43"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024456", "end": "2025-12-16 22:05:19.762565", "msg": "", "rc": 0, "start": "2025-12-16 22:05:19.738109", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:10 up 2 days, 11:37, 1 user, load average: 0.21, 0.21, 0.16\nDisk Usage: 22%\nMemory Usage: 22.0%\nCPU Load: 0.18\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:10 up 21 days, 8:56, 1 user, load average: 0.14, 0.15, 0.10\nDisk Usage: 23%\nMemory Usage: 78.4%\nCPU Load: 0.13\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:10 up 21 days, 9:16, 1 user, load average: 0.75, 0.76, 0.77\nDisk Usage: 14%\nMemory Usage: 48.7%\nCPU Load: 0.93\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:10 up 21 days, 10:29, 1 user, load average: 0.66, 0.69, 0.68\nDisk Usage: 14%\nMemory Usage: 59.6%\nCPU Load: 0.96\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:10 up 21 days, 11:15, 1 user, load average: 0.11, 0.14, 0.05\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:12 up 14 days, 11:31, 1 user, load average: 0.32, 0.15, 0.11\nDisk Usage: 21%\nMemory Usage: 20.2%\nCPU Load: 0.35\nCPU Temp: 34.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:11 up 193 days, 13:38, 1 user, load average: 0.35, 0.23, 0.19\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.44\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:11 up 193 days, 13:38, 1 user, load average: 0.22, 0.13, 0.10\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.42\nCPU Temp: 30.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:04:45 up 10 days, 9:54, 0 user, load average: 0.27, 0.16, 0.11\nDisk Usage: 48%\nMemory Usage: 71.6%\nCPU Load: 0.25\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:04:39 up 17 days, 6:06, 0 user, load average: 0.06, 0.03, 0.00\nDisk Usage: 24%\nMemory Usage: 69.0%\nCPU Load: 0.21\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:11 up 2 days, 11:36, 1 user, load average: 0.02, 0.02, 0.00\nDisk Usage: 1%\nMemory Usage: 34.6%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:04:42 up 20 days, 59 min, 0 user, load average: 0.27, 0.37, 0.44\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:04:48 up 16 days, 11:20, 0 user, load average: 0.43, 0.37, 0.34\nDisk Usage: 75%\nMemory Usage: 60.9%\nCPU Load: 0.40\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 7:05PM up 21 days, 8:54, 1 user, load averages: 0.49, 0.30, 0.25\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:12 up 2 days, 11:36, 1 user, load average: 0.01, 0.04, 0.01\nDisk Usage: 79%\nMemory Usage: 13.8%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:05:12 up 23:48, 1 user, load average: 1.38, 1.83, 1.60\nDisk Usage: 1%\nMemory Usage: 20.6%\nCPU Load: 1.43\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T03:05:21.064309+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `02ced59872394315830d2995cfe5da90` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T03:10:00.004833+00:00 |
| **Fin** | 2025-12-17T03:10:21.382810+00:00 |
| **Durée** | 21.4s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003895", "end": "2025-12-16 22:10:10.383925", "msg": "", "rc": 0, "start": "2025-12-16 22:10:10.380030", "stderr": "", "stderr_lines": [], "stdout": " 22:10:10 up 21 days, 11:20, 1 user, load average: 0.12, 0.10, 0.05", "stdout_lines": [" 22:10:10 up 21 days, 11:20, 1 user, load average: 0.12, 0.10, 0.05"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003314", "end": "2025-12-16 22:10:10.397596", "msg": "", "rc": 0, "start": "2025-12-16 22:10:10.394282", "stderr": "", "stderr_lines": [], "stdout": " 22:10:10 up 21 days, 9:21, 1 user, load average: 1.02, 0.80, 0.77", "stdout_lines": [" 22:10:10 up 21 days, 9:21, 1 user, load average: 1.02, 0.80, 0.77"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002904", "end": "2025-12-16 22:10:10.414007", "msg": "", "rc": 0, "start": "2025-12-16 22:10:10.411103", "stderr": "", "stderr_lines": [], "stdout": " 22:10:10 up 2 days, 11:42, 1 user, load average: 0.39, 0.20, 0.16", "stdout_lines": [" 22:10:10 up 2 days, 11:42, 1 user, load average: 0.39, 0.20, 0.16"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004157", "end": "2025-12-16 22:10:10.417022", "msg": "", "rc": 0, "start": "2025-12-16 22:10:10.412865", "stderr": "", "stderr_lines": [], "stdout": " 22:10:10 up 21 days, 10:34, 1 user, load average: 0.70, 0.65, 0.66", "stdout_lines": [" 22:10:10 up 21 days, 10:34, 1 user, load average: 0.70, 0.65, 0.66"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003770", "end": "2025-12-16 22:09:45.095767", "msg": "", "rc": 0, "start": "2025-12-16 22:09:45.091997", "stderr": "", "stderr_lines": [], "stdout": " 22:09:45 up 10 days, 9:59, 0 user, load average: 0.02, 0.06, 0.08", "stdout_lines": [" 22:09:45 up 10 days, 9:59, 0 user, load average: 0.02, 0.06, 0.08"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008363", "end": "2025-12-16 22:10:11.062087", "msg": "", "rc": 0, "start": "2025-12-16 22:10:11.053724", "stderr": "", "stderr_lines": [], "stdout": " 22:10:11 up 193 days, 13:43, 1 user, load average: 0.10, 0.12, 0.09", "stdout_lines": [" 22:10:11 up 193 days, 13:43, 1 user, load average: 0.10, 0.12, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009037", "end": "2025-12-16 22:10:11.100483", "msg": "", "rc": 0, "start": "2025-12-16 22:10:11.091446", "stderr": "", "stderr_lines": [], "stdout": " 22:10:11 up 193 days, 13:43, 1 user, load average: 0.20, 0.18, 0.18", "stdout_lines": [" 22:10:11 up 193 days, 13:43, 1 user, load average: 0.20, 0.18, 0.18"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004266", "end": "2025-12-16 22:10:11.369216", "msg": "", "rc": 0, "start": "2025-12-16 22:10:10.364950", "stderr": "", "stderr_lines": [], "stdout": " 22:10:10 up 21 days, 9:01, 1 user, load average: 0.40, 0.22, 0.12", "stdout_lines": [" 22:10:10 up 21 days, 9:01, 1 user, load average: 0.40, 0.22, 0.12"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004744", "end": "2025-12-16 22:09:39.374028", "msg": "", "rc": 0, "start": "2025-12-16 22:09:39.369284", "stderr": "", "stderr_lines": [], "stdout": " 22:09:39 up 17 days, 6:11, 0 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 22:09:39 up 17 days, 6:11, 0 user, load average: 0.00, 0.02, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004667", "end": "2025-12-16 22:10:11.578457", "msg": "", "rc": 0, "start": "2025-12-16 22:10:11.573790", "stderr": "", "stderr_lines": [], "stdout": " 22:10:11 up 2 days, 11:41, 1 user, load average: 0.01, 0.05, 0.01", "stdout_lines": [" 22:10:11 up 2 days, 11:41, 1 user, load average: 0.01, 0.05, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003420", "end": "2025-12-16 22:09:42.260229", "msg": "", "rc": 0, "start": "2025-12-16 22:09:42.256809", "stderr": "", "stderr_lines": [], "stdout": " 22:09:42 up 20 days, 1:04, 0 user, load average: 0.44, 0.43, 0.45", "stdout_lines": [" 22:09:42 up 20 days, 1:04, 0 user, load average: 0.44, 0.43, 0.45"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002812", "end": "2025-12-16 22:09:48.641047", "msg": "", "rc": 0, "start": "2025-12-16 22:09:48.638235", "stderr": "", "stderr_lines": [], "stdout": " 22:09:48 up 16 days, 11:25, 0 user, load average: 0.10, 0.22, 0.28", "stdout_lines": [" 22:09:48 up 16 days, 11:25, 0 user, load average: 0.10, 0.22, 0.28"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004215", "end": "2025-12-16 19:10:11.896318", "msg": "", "rc": 0, "start": "2025-12-16 19:10:11.892103", "stderr": "", "stderr_lines": [], "stdout": " 7:10PM up 21 days, 8:59, 1 user, load averages: 0.19, 0.26, 0.24", "stdout_lines": [" 7:10PM up 21 days, 8:59, 1 user, load averages: 0.19, 0.26, 0.24"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019460", "end": "2025-12-16 22:10:11.777283", "msg": "", "rc": 0, "start": "2025-12-16 22:10:11.757823", "stderr": "", "stderr_lines": [], "stdout": " 22:10:11 up 14 days, 11:36, 1 user, load average: 0.37, 0.15, 0.11", "stdout_lines": [" 22:10:11 up 14 days, 11:36, 1 user, load average: 0.37, 0.15, 0.11"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003758", "end": "2025-12-16 22:10:11.994769", "msg": "", "rc": 0, "start": "2025-12-16 22:10:11.991011", "stderr": "", "stderr_lines": [], "stdout": " 22:10:11 up 2 days, 11:41, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 22:10:11 up 2 days, 11:41, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006056", "end": "2025-12-16 22:10:12.533437", "msg": "", "rc": 0, "start": "2025-12-16 22:10:12.527381", "stderr": "", "stderr_lines": [], "stdout": " 22:10:12 up 23:54, 1 user, load average: 1.25, 1.44, 1.49", "stdout_lines": [" 22:10:12 up 23:54, 1 user, load average: 1.25, 1.44, 1.49"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004256", "end": "2025-12-16 22:10:12.449536", "msg": "", "rc": 0, "start": "2025-12-16 22:10:12.445280", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004171", "end": "2025-12-16 22:10:12.463345", "msg": "", "rc": 0, "start": "2025-12-16 22:10:12.459174", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004712", "end": "2025-12-16 22:10:12.482671", "msg": "", "rc": 0, "start": "2025-12-16 22:10:12.477959", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004896", "end": "2025-12-16 22:10:12.495972", "msg": "", "rc": 0, "start": "2025-12-16 22:10:12.491076", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005778", "end": "2025-12-16 22:10:12.513722", "msg": "", "rc": 0, "start": "2025-12-16 22:10:12.507944", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005371", "end": "2025-12-16 22:09:47.185857", "msg": "", "rc": 0, "start": "2025-12-16 22:09:47.180486", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005632", "end": "2025-12-16 22:09:40.949722", "msg": "", "rc": 0, "start": "2025-12-16 22:09:40.944090", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010787", "end": "2025-12-16 22:10:13.181070", "msg": "", "rc": 0, "start": "2025-12-16 22:10:13.170283", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011710", "end": "2025-12-16 22:10:13.220696", "msg": "", "rc": 0, "start": "2025-12-16 22:10:13.208986", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005777", "end": "2025-12-16 22:10:13.438141", "msg": "", "rc": 0, "start": "2025-12-16 22:10:13.432364", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005172", "end": "2025-12-16 22:09:44.123260", "msg": "", "rc": 0, "start": "2025-12-16 22:09:44.118088", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004486", "end": "2025-12-16 22:09:50.508666", "msg": "", "rc": 0, "start": "2025-12-16 22:09:50.504180", "stderr": "", "stderr_lines": [], "stdout": "75%", "stdout_lines": ["75%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006105", "end": "2025-12-16 19:10:13.684735", "msg": "", "rc": 0, "start": "2025-12-16 19:10:13.678630", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005283", "end": "2025-12-16 22:10:13.857517", "msg": "", "rc": 0, "start": "2025-12-16 22:10:13.852234", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007091", "end": "2025-12-16 22:10:14.436366", "msg": "", "rc": 0, "start": "2025-12-16 22:10:14.429275", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025052", "end": "2025-12-16 22:10:13.843774", "msg": "", "rc": 0, "start": "2025-12-16 22:10:13.818722", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004426", "end": "2025-12-16 22:10:14.356238", "msg": "", "rc": 0, "start": "2025-12-16 22:10:14.351812", "stderr": "", "stderr_lines": [], "stdout": "78.8%", "stdout_lines": ["78.8%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004224", "end": "2025-12-16 22:10:14.377248", "msg": "", "rc": 0, "start": "2025-12-16 22:10:14.373024", "stderr": "", "stderr_lines": [], "stdout": "22.1%", "stdout_lines": ["22.1%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004732", "end": "2025-12-16 22:10:14.389060", "msg": "", "rc": 0, "start": "2025-12-16 22:10:14.384328", "stderr": "", "stderr_lines": [], "stdout": "48.7%", "stdout_lines": ["48.7%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005032", "end": "2025-12-16 22:10:14.411268", "msg": "", "rc": 0, "start": "2025-12-16 22:10:14.406236", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005729", "end": "2025-12-16 22:10:14.421459", "msg": "", "rc": 0, "start": "2025-12-16 22:10:14.415730", "stderr": "", "stderr_lines": [], "stdout": "59.6%", "stdout_lines": ["59.6%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004744", "end": "2025-12-16 22:09:49.098728", "msg": "", "rc": 0, "start": "2025-12-16 22:09:49.093984", "stderr": "", "stderr_lines": [], "stdout": "70.9%", "stdout_lines": ["70.9%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004618", "end": "2025-12-16 22:09:42.876365", "msg": "", "rc": 0, "start": "2025-12-16 22:09:42.871747", "stderr": "", "stderr_lines": [], "stdout": "69.1%", "stdout_lines": ["69.1%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011012", "end": "2025-12-16 22:10:15.055634", "msg": "", "rc": 0, "start": "2025-12-16 22:10:15.044622", "stderr": "", "stderr_lines": [], "stdout": "6.8%", "stdout_lines": ["6.8%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012006", "end": "2025-12-16 22:10:15.093841", "msg": "", "rc": 0, "start": "2025-12-16 22:10:15.081835", "stderr": "", "stderr_lines": [], "stdout": "12.7%", "stdout_lines": ["12.7%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005827", "end": "2025-12-16 22:10:15.348221", "msg": "", "rc": 0, "start": "2025-12-16 22:10:15.342394", "stderr": "", "stderr_lines": [], "stdout": "34.5%", "stdout_lines": ["34.5%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004261", "end": "2025-12-16 22:09:46.043246", "msg": "", "rc": 0, "start": "2025-12-16 22:09:46.038985", "stderr": "", "stderr_lines": [], "stdout": "27.3%", "stdout_lines": ["27.3%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003342", "end": "2025-12-16 22:09:52.384981", "msg": "", "rc": 0, "start": "2025-12-16 22:09:52.381639", "stderr": "", "stderr_lines": [], "stdout": "60.5%", "stdout_lines": ["60.5%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006091", "end": "2025-12-16 19:10:15.562802", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 19:10:15.556711", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005488", "end": "2025-12-16 22:10:15.767544", "msg": "", "rc": 0, "start": "2025-12-16 22:10:15.762056", "stderr": "", "stderr_lines": [], "stdout": "13.7%", "stdout_lines": ["13.7%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.007275", "end": "2025-12-16 22:10:16.476429", "msg": "", "rc": 0, "start": "2025-12-16 22:10:16.469154", "stderr": "", "stderr_lines": [], "stdout": "20.7%", "stdout_lines": ["20.7%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025770", "end": "2025-12-16 22:10:15.754082", "msg": "", "rc": 0, "start": "2025-12-16 22:10:15.728312", "stderr": "", "stderr_lines": [], "stdout": "20.1%", "stdout_lines": ["20.1%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005012", "end": "2025-12-16 22:10:16.289357", "msg": "", "rc": 0, "start": "2025-12-16 22:10:16.284345", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004818", "end": "2025-12-16 22:10:16.308082", "msg": "", "rc": 0, "start": "2025-12-16 22:10:16.303264", "stderr": "", "stderr_lines": [], "stdout": "45.0°C", "stdout_lines": ["45.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005703", "end": "2025-12-16 22:10:16.320639", "msg": "", "rc": 0, "start": "2025-12-16 22:10:16.314936", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003265", "end": "2025-12-16 22:10:16.342797", "msg": "", "rc": 0, "start": "2025-12-16 22:10:16.339532", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006661", "end": "2025-12-16 22:10:16.356691", "msg": "", "rc": 0, "start": "2025-12-16 22:10:16.350030", "stderr": "", "stderr_lines": [], "stdout": "52.0°C", "stdout_lines": ["52.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002606", "end": "2025-12-16 22:09:51.024177", "msg": "", "rc": 0, "start": "2025-12-16 22:09:51.021571", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002950", "end": "2025-12-16 22:09:44.799662", "msg": "", "rc": 0, "start": "2025-12-16 22:09:44.796712", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011804", "end": "2025-12-16 22:10:16.967012", "msg": "", "rc": 0, "start": "2025-12-16 22:10:16.955208", "stderr": "", "stderr_lines": [], "stdout": "30.7°C", "stdout_lines": ["30.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012747", "end": "2025-12-16 22:10:17.028824", "msg": "", "rc": 0, "start": "2025-12-16 22:10:17.016077", "stderr": "", "stderr_lines": [], "stdout": "34.1°C", "stdout_lines": ["34.1°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003187", "end": "2025-12-16 22:10:17.253161", "msg": "", "rc": 0, "start": "2025-12-16 22:10:17.249974", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002952", "end": "2025-12-16 22:09:47.953220", "msg": "", "rc": 0, "start": "2025-12-16 22:09:47.950268", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002514", "end": "2025-12-16 22:09:54.279766", "msg": "", "rc": 0, "start": "2025-12-16 22:09:54.277252", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003860", "end": "2025-12-16 19:10:17.476766", "msg": "", "rc": 0, "start": "2025-12-16 19:10:17.472906", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002940", "end": "2025-12-16 22:10:17.684869", "msg": "", "rc": 0, "start": "2025-12-16 22:10:17.681929", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006151", "end": "2025-12-16 22:10:18.462219", "msg": "", "rc": 0, "start": "2025-12-16 22:10:18.456068", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028613", "end": "2025-12-16 22:10:17.699760", "msg": "", "rc": 0, "start": "2025-12-16 22:10:17.671147", "stderr": "", "stderr_lines": [], "stdout": "33.9°C", "stdout_lines": ["33.9°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004567", "end": "2025-12-16 22:10:18.231274", "msg": "", "rc": 0, "start": "2025-12-16 22:10:18.226707", "stderr": "", "stderr_lines": [], "stdout": "0.37", "stdout_lines": ["0.37"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004340", "end": "2025-12-16 22:10:18.245229", "msg": "", "rc": 0, "start": "2025-12-16 22:10:18.240889", "stderr": "", "stderr_lines": [], "stdout": "0.94", "stdout_lines": ["0.94"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003994", "end": "2025-12-16 22:10:18.245327", "msg": "", "rc": 0, "start": "2025-12-16 22:10:18.241333", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005298", "end": "2025-12-16 22:10:18.264858", "msg": "", "rc": 0, "start": "2025-12-16 22:10:18.259560", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006353", "end": "2025-12-16 22:10:18.284460", "msg": "", "rc": 0, "start": "2025-12-16 22:10:18.278107", "stderr": "", "stderr_lines": [], "stdout": "0.74", "stdout_lines": ["0.74"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004430", "end": "2025-12-16 22:09:52.943387", "msg": "", "rc": 0, "start": "2025-12-16 22:09:52.938957", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005122", "end": "2025-12-16 22:09:46.734152", "msg": "", "rc": 0, "start": "2025-12-16 22:09:46.729030", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010236", "end": "2025-12-16 22:10:19.007930", "msg": "", "rc": 0, "start": "2025-12-16 22:10:18.997694", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011028", "end": "2025-12-16 22:10:19.069225", "msg": "", "rc": 0, "start": "2025-12-16 22:10:19.058197", "stderr": "", "stderr_lines": [], "stdout": "0.32", "stdout_lines": ["0.32"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007544", "end": "2025-12-16 22:10:19.193471", "msg": "", "rc": 0, "start": "2025-12-16 22:10:19.185927", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005022", "end": "2025-12-16 22:09:49.906790", "msg": "", "rc": 0, "start": "2025-12-16 22:09:49.901768", "stderr": "", "stderr_lines": [], "stdout": "0.49", "stdout_lines": ["0.49"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006349", "end": "2025-12-16 19:10:19.531089", "msg": "", "rc": 0, "start": "2025-12-16 19:10:19.524740", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004576", "end": "2025-12-16 22:09:56.374902", "msg": "", "rc": 0, "start": "2025-12-16 22:09:56.370326", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005211", "end": "2025-12-16 22:10:19.617931", "msg": "", "rc": 0, "start": "2025-12-16 22:10:19.612720", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006548", "end": "2025-12-16 22:10:20.480559", "msg": "", "rc": 0, "start": "2025-12-16 22:10:20.474011", "stderr": "", "stderr_lines": [], "stdout": "1.89", "stdout_lines": ["1.89"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024165", "end": "2025-12-16 22:10:19.617285", "msg": "", "rc": 0, "start": "2025-12-16 22:10:19.593120", "stderr": "", "stderr_lines": [], "stdout": "0.47", "stdout_lines": ["0.47"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:10 up 2 days, 11:42, 1 user, load average: 0.39, 0.20, 0.16\nDisk Usage: 22%\nMemory Usage: 22.1%\nCPU Load: 0.41\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:10 up 21 days, 9:01, 1 user, load average: 0.40, 0.22, 0.12\nDisk Usage: 23%\nMemory Usage: 78.8%\nCPU Load: 0.37\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:10 up 21 days, 9:21, 1 user, load average: 1.02, 0.80, 0.77\nDisk Usage: 14%\nMemory Usage: 48.7%\nCPU Load: 0.94\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:10 up 21 days, 10:34, 1 user, load average: 0.70, 0.65, 0.66\nDisk Usage: 14%\nMemory Usage: 59.6%\nCPU Load: 0.74\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:10 up 21 days, 11:20, 1 user, load average: 0.12, 0.10, 0.05\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:11 up 14 days, 11:36, 1 user, load average: 0.37, 0.15, 0.11\nDisk Usage: 21%\nMemory Usage: 20.1%\nCPU Load: 0.47\nCPU Temp: 33.9°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:11 up 193 days, 13:43, 1 user, load average: 0.20, 0.18, 0.18\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.32\nCPU Temp: 34.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:11 up 193 days, 13:43, 1 user, load average: 0.10, 0.12, 0.09\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.09\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:09:45 up 10 days, 9:59, 0 user, load average: 0.02, 0.06, 0.08\nDisk Usage: 48%\nMemory Usage: 70.9%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:09:39 up 17 days, 6:11, 0 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 69.1%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:11 up 2 days, 11:41, 1 user, load average: 0.01, 0.05, 0.01\nDisk Usage: 1%\nMemory Usage: 34.5%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:09:42 up 20 days, 1:04, 0 user, load average: 0.44, 0.43, 0.45\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.49\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:09:48 up 16 days, 11:25, 0 user, load average: 0.10, 0.22, 0.28\nDisk Usage: 75%\nMemory Usage: 60.5%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 7:10PM up 21 days, 8:59, 1 user, load averages: 0.19, 0.26, 0.24\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:11 up 2 days, 11:41, 1 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 79%\nMemory Usage: 13.7%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 22:10:12 up 23:54, 1 user, load average: 1.25, 1.44, 1.49\nDisk Usage: 1%\nMemory Usage: 20.7%\nCPU Load: 1.89\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T03:10:21.432874+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `c959b5cd4ca348a1913a0b660539014b` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T04:15:00.003863+00:00 |
| **Fin** | 2025-12-17T04:15:23.570792+00:00 |
| **Durée** | 23.6s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003064", "end": "2025-12-16 23:15:10.946123", "msg": "", "rc": 0, "start": "2025-12-16 23:15:10.943059", "stderr": "", "stderr_lines": [], "stdout": " 23:15:10 up 21 days, 10:06, 1 user, load average: 0.10, 0.18, 0.13", "stdout_lines": [" 23:15:10 up 21 days, 10:06, 1 user, load average: 0.10, 0.18, 0.13"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003825", "end": "2025-12-16 23:15:10.969555", "msg": "", "rc": 0, "start": "2025-12-16 23:15:10.965730", "stderr": "", "stderr_lines": [], "stdout": " 23:15:10 up 21 days, 12:25, 1 user, load average: 0.11, 0.06, 0.01", "stdout_lines": [" 23:15:10 up 21 days, 12:25, 1 user, load average: 0.11, 0.06, 0.01"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003157", "end": "2025-12-16 23:15:10.998391", "msg": "", "rc": 0, "start": "2025-12-16 23:15:10.995234", "stderr": "", "stderr_lines": [], "stdout": " 23:15:10 up 2 days, 12:47, 1 user, load average: 0.34, 0.22, 0.19", "stdout_lines": [" 23:15:10 up 2 days, 12:47, 1 user, load average: 0.34, 0.22, 0.19"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004092", "end": "2025-12-16 23:15:10.998667", "msg": "", "rc": 0, "start": "2025-12-16 23:15:10.994575", "stderr": "", "stderr_lines": [], "stdout": " 23:15:10 up 21 days, 11:39, 1 user, load average: 0.81, 0.73, 0.64", "stdout_lines": [" 23:15:10 up 21 days, 11:39, 1 user, load average: 0.81, 0.73, 0.64"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003612", "end": "2025-12-16 23:14:45.912631", "msg": "", "rc": 0, "start": "2025-12-16 23:14:45.909019", "stderr": "", "stderr_lines": [], "stdout": " 23:14:45 up 10 days, 11:04, 0 user, load average: 0.23, 0.15, 0.11", "stdout_lines": [" 23:14:45 up 10 days, 11:04, 0 user, load average: 0.23, 0.15, 0.11"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008628", "end": "2025-12-16 23:15:11.932619", "msg": "", "rc": 0, "start": "2025-12-16 23:15:11.923991", "stderr": "", "stderr_lines": [], "stdout": " 23:15:11 up 193 days, 14:48, 1 user, load average: 0.12, 0.12, 0.09", "stdout_lines": [" 23:15:11 up 193 days, 14:48, 1 user, load average: 0.12, 0.12, 0.09"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004397", "end": "2025-12-16 23:15:11.979736", "msg": "", "rc": 0, "start": "2025-12-16 23:15:10.975339", "stderr": "", "stderr_lines": [], "stdout": " 23:15:10 up 21 days, 10:26, 1 user, load average: 1.02, 1.13, 0.99", "stdout_lines": [" 23:15:10 up 21 days, 10:26, 1 user, load average: 1.02, 1.13, 0.99"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009310", "end": "2025-12-16 23:15:11.968466", "msg": "", "rc": 0, "start": "2025-12-16 23:15:11.959156", "stderr": "", "stderr_lines": [], "stdout": " 23:15:11 up 193 days, 14:48, 1 user, load average: 0.18, 0.15, 0.17", "stdout_lines": [" 23:15:11 up 193 days, 14:48, 1 user, load average: 0.18, 0.15, 0.17"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003331", "end": "2025-12-16 23:14:40.120945", "msg": "", "rc": 0, "start": "2025-12-16 23:14:40.117614", "stderr": "", "stderr_lines": [], "stdout": " 23:14:40 up 17 days, 7:16, 0 user, load average: 0.07, 0.02, 0.00", "stdout_lines": [" 23:14:40 up 17 days, 7:16, 0 user, load average: 0.07, 0.02, 0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019662", "end": "2025-12-16 23:15:12.581715", "msg": "", "rc": 0, "start": "2025-12-16 23:15:12.562053", "stderr": "", "stderr_lines": [], "stdout": " 23:15:12 up 14 days, 12:41, 1 user, load average: 0.15, 0.03, 0.01", "stdout_lines": [" 23:15:12 up 14 days, 12:41, 1 user, load average: 0.15, 0.03, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004670", "end": "2025-12-16 23:15:12.711956", "msg": "", "rc": 0, "start": "2025-12-16 23:15:12.707286", "stderr": "", "stderr_lines": [], "stdout": " 23:15:12 up 2 days, 12:46, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 23:15:12 up 2 days, 12:46, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005864", "end": "2025-12-16 23:14:49.609532", "msg": "", "rc": 0, "start": "2025-12-16 23:14:49.603668", "stderr": "", "stderr_lines": [], "stdout": " 23:14:49 up 16 days, 12:30, 0 user, load average: 0.54, 0.63, 0.56", "stdout_lines": [" 23:14:49 up 16 days, 12:30, 0 user, load average: 0.54, 0.63, 0.56"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005758", "end": "2025-12-16 23:14:43.330433", "msg": "", "rc": 0, "start": "2025-12-16 23:14:43.324675", "stderr": "", "stderr_lines": [], "stdout": " 23:14:43 up 20 days, 2:09, 0 user, load average: 0.33, 0.37, 0.40", "stdout_lines": [" 23:14:43 up 20 days, 2:09, 0 user, load average: 0.33, 0.37, 0.40"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004446", "end": "2025-12-16 20:15:12.942218", "msg": "", "rc": 0, "start": "2025-12-16 20:15:12.937772", "stderr": "", "stderr_lines": [], "stdout": " 8:15PM up 21 days, 10:05, 1 user, load averages: 0.33, 0.26, 0.25", "stdout_lines": [" 8:15PM up 21 days, 10:05, 1 user, load averages: 0.33, 0.26, 0.25"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003713", "end": "2025-12-16 23:15:13.269702", "msg": "", "rc": 0, "start": "2025-12-16 23:15:13.265989", "stderr": "", "stderr_lines": [], "stdout": " 23:15:13 up 2 days, 12:46, 1 user, load average: 0.15, 0.05, 0.01", "stdout_lines": [" 23:15:13 up 2 days, 12:46, 1 user, load average: 0.15, 0.05, 0.01"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.035120", "end": "2025-12-16 23:15:14.009413", "msg": "", "rc": 0, "start": "2025-12-16 23:15:13.974293", "stderr": "", "stderr_lines": [], "stdout": " 23:15:13 up 1 day, 1:01, 1 user, load average: 1.67, 0.76, 0.40", "stdout_lines": [" 23:15:13 up 1 day, 1:01, 1 user, load average: 1.67, 0.76, 0.40"]}
TASK [Get disk usage] **********************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004086", "end": "2025-12-16 23:15:14.229730", "msg": "", "rc": 0, "start": "2025-12-16 23:15:14.225644", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004245", "end": "2025-12-16 23:15:14.237556", "msg": "", "rc": 0, "start": "2025-12-16 23:15:14.233311", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004591", "end": "2025-12-16 23:15:14.284381", "msg": "", "rc": 0, "start": "2025-12-16 23:15:14.279790", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004831", "end": "2025-12-16 23:15:14.320108", "msg": "", "rc": 0, "start": "2025-12-16 23:15:14.315277", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005820", "end": "2025-12-16 23:15:14.355123", "msg": "", "rc": 0, "start": "2025-12-16 23:15:14.349303", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005186", "end": "2025-12-16 23:14:49.100202", "msg": "", "rc": 0, "start": "2025-12-16 23:14:49.095016", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005434", "end": "2025-12-16 23:14:42.823618", "msg": "", "rc": 0, "start": "2025-12-16 23:14:42.818184", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010506", "end": "2025-12-16 23:15:15.177054", "msg": "", "rc": 0, "start": "2025-12-16 23:15:15.166548", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011625", "end": "2025-12-16 23:15:15.192853", "msg": "", "rc": 0, "start": "2025-12-16 23:15:15.181228", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006216", "end": "2025-12-16 23:15:15.407146", "msg": "", "rc": 0, "start": "2025-12-16 23:15:15.400930", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005826", "end": "2025-12-16 23:14:46.003090", "msg": "", "rc": 0, "start": "2025-12-16 23:14:45.997264", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005505", "end": "2025-12-16 20:15:15.679010", "msg": "", "rc": 0, "start": "2025-12-16 20:15:15.673505", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.009012", "end": "2025-12-16 23:14:52.519614", "msg": "", "rc": 0, "start": "2025-12-16 23:14:52.510602", "stderr": "", "stderr_lines": [], "stdout": "75%", "stdout_lines": ["75%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025464", "end": "2025-12-16 23:15:15.735380", "msg": "", "rc": 0, "start": "2025-12-16 23:15:15.709916", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005563", "end": "2025-12-16 23:15:15.855982", "msg": "", "rc": 0, "start": "2025-12-16 23:15:15.850419", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020869", "end": "2025-12-16 23:15:16.331913", "msg": "", "rc": 0, "start": "2025-12-16 23:15:16.311044", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004421", "end": "2025-12-16 23:15:16.456989", "msg": "", "rc": 0, "start": "2025-12-16 23:15:16.452568", "stderr": "", "stderr_lines": [], "stdout": "81.0%", "stdout_lines": ["81.0%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004864", "end": "2025-12-16 23:15:16.486149", "msg": "", "rc": 0, "start": "2025-12-16 23:15:16.481285", "stderr": "", "stderr_lines": [], "stdout": "49.3%", "stdout_lines": ["49.3%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004334", "end": "2025-12-16 23:15:16.490173", "msg": "", "rc": 0, "start": "2025-12-16 23:15:16.485839", "stderr": "", "stderr_lines": [], "stdout": "22.2%", "stdout_lines": ["22.2%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005511", "end": "2025-12-16 23:15:16.557326", "msg": "", "rc": 0, "start": "2025-12-16 23:15:16.551815", "stderr": "", "stderr_lines": [], "stdout": "60.2%", "stdout_lines": ["60.2%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005127", "end": "2025-12-16 23:15:16.579042", "msg": "", "rc": 0, "start": "2025-12-16 23:15:16.573915", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004113", "end": "2025-12-16 23:14:51.335877", "msg": "", "rc": 0, "start": "2025-12-16 23:14:51.331764", "stderr": "", "stderr_lines": [], "stdout": "70.6%", "stdout_lines": ["70.6%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004446", "end": "2025-12-16 23:14:45.076463", "msg": "", "rc": 0, "start": "2025-12-16 23:14:45.072017", "stderr": "", "stderr_lines": [], "stdout": "73.8%", "stdout_lines": ["73.8%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011029", "end": "2025-12-16 23:15:17.344817", "msg": "", "rc": 0, "start": "2025-12-16 23:15:17.333788", "stderr": "", "stderr_lines": [], "stdout": "6.8%", "stdout_lines": ["6.8%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012023", "end": "2025-12-16 23:15:17.350297", "msg": "", "rc": 0, "start": "2025-12-16 23:15:17.338274", "stderr": "", "stderr_lines": [], "stdout": "12.7%", "stdout_lines": ["12.7%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005899", "end": "2025-12-16 23:15:17.675173", "msg": "", "rc": 0, "start": "2025-12-16 23:15:17.669274", "stderr": "", "stderr_lines": [], "stdout": "34.7%", "stdout_lines": ["34.7%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004025", "end": "2025-12-16 23:14:48.268891", "msg": "", "rc": 0, "start": "2025-12-16 23:14:48.264866", "stderr": "", "stderr_lines": [], "stdout": "27.2%", "stdout_lines": ["27.2%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005385", "end": "2025-12-16 20:15:17.858466", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 20:15:17.853081", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010135", "end": "2025-12-16 23:14:54.719753", "msg": "", "rc": 0, "start": "2025-12-16 23:14:54.709618", "stderr": "", "stderr_lines": [], "stdout": "62.2%", "stdout_lines": ["62.2%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025987", "end": "2025-12-16 23:15:17.989567", "msg": "", "rc": 0, "start": "2025-12-16 23:15:17.963580", "stderr": "", "stderr_lines": [], "stdout": "20.1%", "stdout_lines": ["20.1%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005378", "end": "2025-12-16 23:15:18.129971", "msg": "", "rc": 0, "start": "2025-12-16 23:15:18.124593", "stderr": "", "stderr_lines": [], "stdout": "13.7%", "stdout_lines": ["13.7%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010730", "end": "2025-12-16 23:15:18.697420", "msg": "", "rc": 0, "start": "2025-12-16 23:15:18.686690", "stderr": "", "stderr_lines": [], "stdout": "21.2%", "stdout_lines": ["21.2%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005069", "end": "2025-12-16 23:15:18.583874", "msg": "", "rc": 0, "start": "2025-12-16 23:15:18.578805", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005073", "end": "2025-12-16 23:15:18.590932", "msg": "", "rc": 0, "start": "2025-12-16 23:15:18.585859", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003063", "end": "2025-12-16 23:15:18.636712", "msg": "", "rc": 0, "start": "2025-12-16 23:15:18.633649", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006350", "end": "2025-12-16 23:15:18.630276", "msg": "", "rc": 0, "start": "2025-12-16 23:15:18.623926", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006509", "end": "2025-12-16 23:15:18.655600", "msg": "", "rc": 0, "start": "2025-12-16 23:15:18.649091", "stderr": "", "stderr_lines": [], "stdout": "51.5°C", "stdout_lines": ["51.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003157", "end": "2025-12-16 23:14:53.325917", "msg": "", "rc": 0, "start": "2025-12-16 23:14:53.322760", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003150", "end": "2025-12-16 23:14:47.051501", "msg": "", "rc": 0, "start": "2025-12-16 23:14:47.048351", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011870", "end": "2025-12-16 23:15:19.330479", "msg": "", "rc": 0, "start": "2025-12-16 23:15:19.318609", "stderr": "", "stderr_lines": [], "stdout": "31.2°C", "stdout_lines": ["31.2°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012951", "end": "2025-12-16 23:15:19.327538", "msg": "", "rc": 0, "start": "2025-12-16 23:15:19.314587", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003131", "end": "2025-12-16 23:15:19.630471", "msg": "", "rc": 0, "start": "2025-12-16 23:15:19.627340", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002829", "end": "2025-12-16 23:14:50.214230", "msg": "", "rc": 0, "start": "2025-12-16 23:14:50.211401", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003929", "end": "2025-12-16 20:15:19.788596", "msg": "", "rc": 0, "start": "2025-12-16 20:15:19.784667", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003657", "end": "2025-12-16 23:14:56.694900", "msg": "", "rc": 0, "start": "2025-12-16 23:14:56.691243", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004075", "end": "2025-12-16 23:15:20.691721", "msg": "", "rc": 0, "start": "2025-12-16 23:15:20.687646", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002920", "end": "2025-12-16 23:15:20.076708", "msg": "", "rc": 0, "start": "2025-12-16 23:15:20.073788", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028532", "end": "2025-12-16 23:15:19.996838", "msg": "", "rc": 0, "start": "2025-12-16 23:15:19.968306", "stderr": "", "stderr_lines": [], "stdout": "33.0°C", "stdout_lines": ["33.0°C"]}
TASK [Get CPU load] ************************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003963", "end": "2025-12-16 23:15:20.538854", "msg": "", "rc": 0, "start": "2025-12-16 23:15:20.534891", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004197", "end": "2025-12-16 23:15:20.533008", "msg": "", "rc": 0, "start": "2025-12-16 23:15:20.528811", "stderr": "", "stderr_lines": [], "stdout": "0.32", "stdout_lines": ["0.32"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004627", "end": "2025-12-16 23:15:20.550344", "msg": "", "rc": 0, "start": "2025-12-16 23:15:20.545717", "stderr": "", "stderr_lines": [], "stdout": "0.86", "stdout_lines": ["0.86"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005243", "end": "2025-12-16 23:15:20.573950", "msg": "", "rc": 0, "start": "2025-12-16 23:15:20.568707", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005361", "end": "2025-12-16 23:15:20.583174", "msg": "", "rc": 0, "start": "2025-12-16 23:15:20.577813", "stderr": "", "stderr_lines": [], "stdout": "0.76", "stdout_lines": ["0.76"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006279", "end": "2025-12-16 23:14:55.312364", "msg": "", "rc": 0, "start": "2025-12-16 23:14:55.306085", "stderr": "", "stderr_lines": [], "stdout": "0.68", "stdout_lines": ["0.68"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005102", "end": "2025-12-16 23:14:49.006290", "msg": "", "rc": 0, "start": "2025-12-16 23:14:49.001188", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010079", "end": "2025-12-16 23:15:21.347193", "msg": "", "rc": 0, "start": "2025-12-16 23:15:21.337114", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011179", "end": "2025-12-16 23:15:21.409989", "msg": "", "rc": 0, "start": "2025-12-16 23:15:21.398810", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006234", "end": "2025-12-16 23:15:21.620960", "msg": "", "rc": 0, "start": "2025-12-16 23:15:21.614726", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005037", "end": "2025-12-16 23:14:52.178337", "msg": "", "rc": 0, "start": "2025-12-16 23:14:52.173300", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004775", "end": "2025-12-16 23:14:58.649553", "msg": "", "rc": 0, "start": "2025-12-16 23:14:58.644778", "stderr": "", "stderr_lines": [], "stdout": "1.01", "stdout_lines": ["1.01"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005835", "end": "2025-12-16 20:15:21.874092", "msg": "", "rc": 0, "start": "2025-12-16 20:15:21.868257", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.009104", "end": "2025-12-16 23:15:22.701104", "msg": "", "rc": 0, "start": "2025-12-16 23:15:22.692000", "stderr": "", "stderr_lines": [], "stdout": "1.73", "stdout_lines": ["1.73"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005224", "end": "2025-12-16 23:15:22.048380", "msg": "", "rc": 0, "start": "2025-12-16 23:15:22.043156", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024296", "end": "2025-12-16 23:15:21.957432", "msg": "", "rc": 0, "start": "2025-12-16 23:15:21.933136", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:10 up 2 days, 12:47, 1 user, load average: 0.34, 0.22, 0.19\nDisk Usage: 22%\nMemory Usage: 22.2%\nCPU Load: 0.29\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:10 up 21 days, 10:06, 1 user, load average: 0.10, 0.18, 0.13\nDisk Usage: 23%\nMemory Usage: 81.0%\nCPU Load: 0.32\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:10 up 21 days, 10:26, 1 user, load average: 1.02, 1.13, 0.99\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.86\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:10 up 21 days, 11:39, 1 user, load average: 0.81, 0.73, 0.64\nDisk Usage: 14%\nMemory Usage: 60.2%\nCPU Load: 0.76\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:10 up 21 days, 12:25, 1 user, load average: 0.11, 0.06, 0.01\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:12 up 14 days, 12:41, 1 user, load average: 0.15, 0.03, 0.01\nDisk Usage: 21%\nMemory Usage: 20.1%\nCPU Load: 0.21\nCPU Temp: 33.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:11 up 193 days, 14:48, 1 user, load average: 0.18, 0.15, 0.17\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.16\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:11 up 193 days, 14:48, 1 user, load average: 0.12, 0.12, 0.09\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.18\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:14:45 up 10 days, 11:04, 0 user, load average: 0.23, 0.15, 0.11\nDisk Usage: 48%\nMemory Usage: 70.6%\nCPU Load: 0.68\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:14:40 up 17 days, 7:16, 0 user, load average: 0.07, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 73.8%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:12 up 2 days, 12:46, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 1%\nMemory Usage: 34.7%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:14:43 up 20 days, 2:09, 0 user, load average: 0.33, 0.37, 0.40\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.35\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:14:49 up 16 days, 12:30, 0 user, load average: 0.54, 0.63, 0.56\nDisk Usage: 75%\nMemory Usage: 62.2%\nCPU Load: 1.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:15PM up 21 days, 10:05, 1 user, load averages: 0.33, 0.26, 0.25\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:13 up 2 days, 12:46, 1 user, load average: 0.15, 0.05, 0.01\nDisk Usage: 79%\nMemory Usage: 13.7%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:15:13 up 1 day, 1:01, 1 user, load average: 1.67, 0.76, 0.40\nDisk Usage: 1%\nMemory Usage: 21.2%\nCPU Load: 1.73\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T04:15:23.630498+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `d7daf8661717452eabd98f8acfba7584` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T04:20:00.003849+00:00 |
| **Fin** | 2025-12-17T04:20:23.031011+00:00 |
| **Durée** | 23.0s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [mimi.pc.home]
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003071", "end": "2025-12-16 23:20:11.680420", "msg": "", "rc": 0, "start": "2025-12-16 23:20:11.677349", "stderr": "", "stderr_lines": [], "stdout": " 23:20:11 up 21 days, 10:11, 1 user, load average: 0.08, 0.17, 0.14", "stdout_lines": [" 23:20:11 up 21 days, 10:11, 1 user, load average: 0.08, 0.17, 0.14"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003540", "end": "2025-12-16 23:20:11.692415", "msg": "", "rc": 0, "start": "2025-12-16 23:20:11.688875", "stderr": "", "stderr_lines": [], "stdout": " 23:20:11 up 21 days, 12:30, 1 user, load average: 0.03, 0.07, 0.02", "stdout_lines": [" 23:20:11 up 21 days, 12:30, 1 user, load average: 0.03, 0.07, 0.02"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002858", "end": "2025-12-16 23:20:11.717279", "msg": "", "rc": 0, "start": "2025-12-16 23:20:11.714421", "stderr": "", "stderr_lines": [], "stdout": " 23:20:11 up 2 days, 12:52, 1 user, load average: 1.11, 0.40, 0.25", "stdout_lines": [" 23:20:11 up 2 days, 12:52, 1 user, load average: 1.11, 0.40, 0.25"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003811", "end": "2025-12-16 23:20:11.716274", "msg": "", "rc": 0, "start": "2025-12-16 23:20:11.712463", "stderr": "", "stderr_lines": [], "stdout": " 23:20:11 up 21 days, 11:44, 1 user, load average: 0.62, 0.75, 0.68", "stdout_lines": [" 23:20:11 up 21 days, 11:44, 1 user, load average: 0.62, 0.75, 0.68"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003724", "end": "2025-12-16 23:20:11.717333", "msg": "", "rc": 0, "start": "2025-12-16 23:20:11.713609", "stderr": "", "stderr_lines": [], "stdout": " 23:20:11 up 21 days, 10:31, 1 user, load average: 0.61, 0.88, 0.93", "stdout_lines": [" 23:20:11 up 21 days, 10:31, 1 user, load average: 0.61, 0.88, 0.93"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002757", "end": "2025-12-16 23:19:46.402552", "msg": "", "rc": 0, "start": "2025-12-16 23:19:46.399795", "stderr": "", "stderr_lines": [], "stdout": " 23:19:46 up 10 days, 11:09, 0 user, load average: 0.05, 0.18, 0.15", "stdout_lines": [" 23:19:46 up 10 days, 11:09, 0 user, load average: 0.05, 0.18, 0.15"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003920", "end": "2025-12-16 23:19:40.154815", "msg": "", "rc": 0, "start": "2025-12-16 23:19:40.150895", "stderr": "", "stderr_lines": [], "stdout": " 23:19:40 up 17 days, 7:21, 0 user, load average: 0.13, 0.08, 0.02", "stdout_lines": [" 23:19:40 up 17 days, 7:21, 0 user, load average: 0.13, 0.08, 0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008352", "end": "2025-12-16 23:20:12.407562", "msg": "", "rc": 0, "start": "2025-12-16 23:20:12.399210", "stderr": "", "stderr_lines": [], "stdout": " 23:20:12 up 193 days, 14:53, 1 user, load average: 0.31, 0.19, 0.12", "stdout_lines": [" 23:20:12 up 193 days, 14:53, 1 user, load average: 0.31, 0.19, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009209", "end": "2025-12-16 23:20:12.458822", "msg": "", "rc": 0, "start": "2025-12-16 23:20:12.449613", "stderr": "", "stderr_lines": [], "stdout": " 23:20:12 up 193 days, 14:53, 1 user, load average: 0.38, 0.25, 0.20", "stdout_lines": [" 23:20:12 up 193 days, 14:53, 1 user, load average: 0.38, 0.25, 0.20"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004703", "end": "2025-12-16 23:20:12.714806", "msg": "", "rc": 0, "start": "2025-12-16 23:20:12.710103", "stderr": "", "stderr_lines": [], "stdout": " 23:20:12 up 2 days, 12:51, 1 user, load average: 0.24, 0.10, 0.02", "stdout_lines": [" 23:20:12 up 2 days, 12:51, 1 user, load average: 0.24, 0.10, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003398", "end": "2025-12-16 23:19:43.379176", "msg": "", "rc": 0, "start": "2025-12-16 23:19:43.375778", "stderr": "", "stderr_lines": [], "stdout": " 23:19:43 up 20 days, 2:14, 0 user, load average: 0.62, 0.43, 0.40", "stdout_lines": [" 23:19:43 up 20 days, 2:14, 0 user, load average: 0.62, 0.43, 0.40"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004382", "end": "2025-12-16 20:20:12.932953", "msg": "", "rc": 0, "start": "2025-12-16 20:20:12.928571", "stderr": "", "stderr_lines": [], "stdout": " 8:20PM up 21 days, 10:10, 1 user, load averages: 0.48, 0.30, 0.26", "stdout_lines": [" 8:20PM up 21 days, 10:10, 1 user, load averages: 0.48, 0.30, 0.26"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005015", "end": "2025-12-16 23:19:49.744985", "msg": "", "rc": 0, "start": "2025-12-16 23:19:49.739970", "stderr": "", "stderr_lines": [], "stdout": " 23:19:49 up 16 days, 12:35, 0 user, load average: 0.34, 0.53, 0.54", "stdout_lines": [" 23:19:49 up 16 days, 12:35, 0 user, load average: 0.34, 0.53, 0.54"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003889", "end": "2025-12-16 23:20:13.150889", "msg": "", "rc": 0, "start": "2025-12-16 23:20:13.147000", "stderr": "", "stderr_lines": [], "stdout": " 23:20:13 up 2 days, 12:51, 1 user, load average: 0.06, 0.06, 0.01", "stdout_lines": [" 23:20:13 up 2 days, 12:51, 1 user, load average: 0.06, 0.06, 0.01"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019823", "end": "2025-12-16 23:20:13.105010", "msg": "", "rc": 0, "start": "2025-12-16 23:20:13.085187", "stderr": "", "stderr_lines": [], "stdout": " 23:20:13 up 14 days, 12:46, 1 user, load average: 0.18, 0.15, 0.07", "stdout_lines": [" 23:20:13 up 14 days, 12:46, 1 user, load average: 0.18, 0.15, 0.07"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006497", "end": "2025-12-16 23:20:14.027077", "msg": "", "rc": 0, "start": "2025-12-16 23:20:14.020580", "stderr": "", "stderr_lines": [], "stdout": " 23:20:14 up 1 day, 1:06, 1 user, load average: 1.24, 1.15, 0.69", "stdout_lines": [" 23:20:14 up 1 day, 1:06, 1 user, load average: 1.24, 1.15, 0.69"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004401", "end": "2025-12-16 23:20:13.686317", "msg": "", "rc": 0, "start": "2025-12-16 23:20:13.681916", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004112", "end": "2025-12-16 23:20:13.701706", "msg": "", "rc": 0, "start": "2025-12-16 23:20:13.697594", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004736", "end": "2025-12-16 23:20:13.730123", "msg": "", "rc": 0, "start": "2025-12-16 23:20:13.725387", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004948", "end": "2025-12-16 23:20:13.763332", "msg": "", "rc": 0, "start": "2025-12-16 23:20:13.758384", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005665", "end": "2025-12-16 23:20:13.797540", "msg": "", "rc": 0, "start": "2025-12-16 23:20:13.791875", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005241", "end": "2025-12-16 23:19:48.409809", "msg": "", "rc": 0, "start": "2025-12-16 23:19:48.404568", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005584", "end": "2025-12-16 23:19:42.198150", "msg": "", "rc": 0, "start": "2025-12-16 23:19:42.192566", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010471", "end": "2025-12-16 23:20:14.457352", "msg": "", "rc": 0, "start": "2025-12-16 23:20:14.446881", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011655", "end": "2025-12-16 23:20:14.455637", "msg": "", "rc": 0, "start": "2025-12-16 23:20:14.443982", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005744", "end": "2025-12-16 23:20:14.710748", "msg": "", "rc": 0, "start": "2025-12-16 23:20:14.705004", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005442", "end": "2025-12-16 20:20:14.959292", "msg": "", "rc": 0, "start": "2025-12-16 20:20:14.953850", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006598", "end": "2025-12-16 23:19:45.436054", "msg": "", "rc": 0, "start": "2025-12-16 23:19:45.429456", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005061", "end": "2025-12-16 23:19:51.831759", "msg": "", "rc": 0, "start": "2025-12-16 23:19:51.826698", "stderr": "", "stderr_lines": [], "stdout": "75%", "stdout_lines": ["75%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005427", "end": "2025-12-16 23:20:15.147621", "msg": "", "rc": 0, "start": "2025-12-16 23:20:15.142194", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025043", "end": "2025-12-16 23:20:15.091733", "msg": "", "rc": 0, "start": "2025-12-16 23:20:15.066690", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007268", "end": "2025-12-16 23:20:16.106677", "msg": "", "rc": 0, "start": "2025-12-16 23:20:16.099409", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004118", "end": "2025-12-16 23:20:15.683998", "msg": "", "rc": 0, "start": "2025-12-16 23:20:15.679880", "stderr": "", "stderr_lines": [], "stdout": "22.1%", "stdout_lines": ["22.1%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004371", "end": "2025-12-16 23:20:15.683138", "msg": "", "rc": 0, "start": "2025-12-16 23:20:15.678767", "stderr": "", "stderr_lines": [], "stdout": "81.5%", "stdout_lines": ["81.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004686", "end": "2025-12-16 23:20:15.712292", "msg": "", "rc": 0, "start": "2025-12-16 23:20:15.707606", "stderr": "", "stderr_lines": [], "stdout": "49.3%", "stdout_lines": ["49.3%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004921", "end": "2025-12-16 23:20:15.745738", "msg": "", "rc": 0, "start": "2025-12-16 23:20:15.740817", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006978", "end": "2025-12-16 23:20:15.779408", "msg": "", "rc": 0, "start": "2025-12-16 23:20:15.772430", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003976", "end": "2025-12-16 23:19:50.365952", "msg": "", "rc": 0, "start": "2025-12-16 23:19:50.361976", "stderr": "", "stderr_lines": [], "stdout": "70.5%", "stdout_lines": ["70.5%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005296", "end": "2025-12-16 23:19:44.166867", "msg": "", "rc": 0, "start": "2025-12-16 23:19:44.161571", "stderr": "", "stderr_lines": [], "stdout": "72.0%", "stdout_lines": ["72.0%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010983", "end": "2025-12-16 23:20:16.377558", "msg": "", "rc": 0, "start": "2025-12-16 23:20:16.366575", "stderr": "", "stderr_lines": [], "stdout": "6.9%", "stdout_lines": ["6.9%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011869", "end": "2025-12-16 23:20:16.414833", "msg": "", "rc": 0, "start": "2025-12-16 23:20:16.402964", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.8%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005905", "end": "2025-12-16 23:20:16.668619", "msg": "", "rc": 0, "start": "2025-12-16 23:20:16.662714", "stderr": "", "stderr_lines": [], "stdout": "34.7%", "stdout_lines": ["34.7%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005160", "end": "2025-12-16 20:20:16.884233", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 20:20:16.879073", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003979", "end": "2025-12-16 23:19:53.676337", "msg": "", "rc": 0, "start": "2025-12-16 23:19:53.672358", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004107", "end": "2025-12-16 23:19:47.360914", "msg": "", "rc": 0, "start": "2025-12-16 23:19:47.356807", "stderr": "", "stderr_lines": [], "stdout": "27.2%", "stdout_lines": ["27.2%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005368", "end": "2025-12-16 23:20:17.086674", "msg": "", "rc": 0, "start": "2025-12-16 23:20:17.081306", "stderr": "", "stderr_lines": [], "stdout": "13.6%", "stdout_lines": ["13.6%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008187", "end": "2025-12-16 23:20:18.115783", "msg": "", "rc": 0, "start": "2025-12-16 23:20:18.107596", "stderr": "", "stderr_lines": [], "stdout": "20.6%", "stdout_lines": ["20.6%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025773", "end": "2025-12-16 23:20:17.072221", "msg": "", "rc": 0, "start": "2025-12-16 23:20:17.046448", "stderr": "", "stderr_lines": [], "stdout": "19.9%", "stdout_lines": ["19.9%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005312", "end": "2025-12-16 23:20:17.615570", "msg": "", "rc": 0, "start": "2025-12-16 23:20:17.610258", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004848", "end": "2025-12-16 23:20:17.623838", "msg": "", "rc": 0, "start": "2025-12-16 23:20:17.618990", "stderr": "", "stderr_lines": [], "stdout": "46.0°C", "stdout_lines": ["46.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005619", "end": "2025-12-16 23:20:17.632806", "msg": "", "rc": 0, "start": "2025-12-16 23:20:17.627187", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002912", "end": "2025-12-16 23:20:17.664582", "msg": "", "rc": 0, "start": "2025-12-16 23:20:17.661670", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006531", "end": "2025-12-16 23:20:17.674336", "msg": "", "rc": 0, "start": "2025-12-16 23:20:17.667805", "stderr": "", "stderr_lines": [], "stdout": "51.0°C", "stdout_lines": ["51.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002551", "end": "2025-12-16 23:19:52.324072", "msg": "", "rc": 0, "start": "2025-12-16 23:19:52.321521", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003063", "end": "2025-12-16 23:19:46.062035", "msg": "", "rc": 0, "start": "2025-12-16 23:19:46.058972", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011905", "end": "2025-12-16 23:20:18.332563", "msg": "", "rc": 0, "start": "2025-12-16 23:20:18.320658", "stderr": "", "stderr_lines": [], "stdout": "29.7°C", "stdout_lines": ["29.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013018", "end": "2025-12-16 23:20:18.368163", "msg": "", "rc": 0, "start": "2025-12-16 23:20:18.355145", "stderr": "", "stderr_lines": [], "stdout": "35.5°C", "stdout_lines": ["35.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003067", "end": "2025-12-16 23:20:18.622009", "msg": "", "rc": 0, "start": "2025-12-16 23:20:18.618942", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002805", "end": "2025-12-16 23:19:49.245061", "msg": "", "rc": 0, "start": "2025-12-16 23:19:49.242256", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002449", "end": "2025-12-16 23:19:55.622248", "msg": "", "rc": 0, "start": "2025-12-16 23:19:55.619799", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004025", "end": "2025-12-16 20:20:18.833891", "msg": "", "rc": 0, "start": "2025-12-16 20:20:18.829866", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003139", "end": "2025-12-16 23:20:19.059509", "msg": "", "rc": 0, "start": "2025-12-16 23:20:19.056370", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004381", "end": "2025-12-16 23:20:20.057807", "msg": "", "rc": 0, "start": "2025-12-16 23:20:20.053426", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028563", "end": "2025-12-16 23:20:19.029726", "msg": "", "rc": 0, "start": "2025-12-16 23:20:19.001163", "stderr": "", "stderr_lines": [], "stdout": "33.3°C", "stdout_lines": ["33.3°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004361", "end": "2025-12-16 23:20:19.548451", "msg": "", "rc": 0, "start": "2025-12-16 23:20:19.544090", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003961", "end": "2025-12-16 23:20:19.563971", "msg": "", "rc": 0, "start": "2025-12-16 23:20:19.560010", "stderr": "", "stderr_lines": [], "stdout": "1.10", "stdout_lines": ["1.10"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004586", "end": "2025-12-16 23:20:19.569730", "msg": "", "rc": 0, "start": "2025-12-16 23:20:19.565144", "stderr": "", "stderr_lines": [], "stdout": "0.59", "stdout_lines": ["0.59"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004973", "end": "2025-12-16 23:20:19.608949", "msg": "", "rc": 0, "start": "2025-12-16 23:20:19.603976", "stderr": "", "stderr_lines": [], "stdout": "0.03", "stdout_lines": ["0.03"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005701", "end": "2025-12-16 23:20:19.624339", "msg": "", "rc": 0, "start": "2025-12-16 23:20:19.618638", "stderr": "", "stderr_lines": [], "stdout": "0.68", "stdout_lines": ["0.68"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004533", "end": "2025-12-16 23:19:54.217046", "msg": "", "rc": 0, "start": "2025-12-16 23:19:54.212513", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004955", "end": "2025-12-16 23:19:47.979576", "msg": "", "rc": 0, "start": "2025-12-16 23:19:47.974621", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010079", "end": "2025-12-16 23:20:20.351218", "msg": "", "rc": 0, "start": "2025-12-16 23:20:20.341139", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011176", "end": "2025-12-16 23:20:20.358706", "msg": "", "rc": 0, "start": "2025-12-16 23:20:20.347530", "stderr": "", "stderr_lines": [], "stdout": "0.51", "stdout_lines": ["0.51"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005836", "end": "2025-12-16 23:20:20.504666", "msg": "", "rc": 0, "start": "2025-12-16 23:20:20.498830", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004796", "end": "2025-12-16 23:19:51.141413", "msg": "", "rc": 0, "start": "2025-12-16 23:19:51.136617", "stderr": "", "stderr_lines": [], "stdout": "0.60", "stdout_lines": ["0.60"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005952", "end": "2025-12-16 20:20:20.830575", "msg": "", "rc": 0, "start": "2025-12-16 20:20:20.824623", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004994", "end": "2025-12-16 23:19:57.688546", "msg": "", "rc": 0, "start": "2025-12-16 23:19:57.683552", "stderr": "", "stderr_lines": [], "stdout": "0.87", "stdout_lines": ["0.87"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005296", "end": "2025-12-16 23:20:20.943856", "msg": "", "rc": 0, "start": "2025-12-16 23:20:20.938560", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006747", "end": "2025-12-16 23:20:22.055504", "msg": "", "rc": 0, "start": "2025-12-16 23:20:22.048757", "stderr": "", "stderr_lines": [], "stdout": "1.36", "stdout_lines": ["1.36"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024204", "end": "2025-12-16 23:20:20.931628", "msg": "", "rc": 0, "start": "2025-12-16 23:20:20.907424", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:11 up 2 days, 12:52, 1 user, load average: 1.11, 0.40, 0.25\nDisk Usage: 22%\nMemory Usage: 22.1%\nCPU Load: 1.10\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:11 up 21 days, 10:11, 1 user, load average: 0.08, 0.17, 0.14\nDisk Usage: 23%\nMemory Usage: 81.5%\nCPU Load: 0.08\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:11 up 21 days, 10:31, 1 user, load average: 0.61, 0.88, 0.93\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.59\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:11 up 21 days, 11:44, 1 user, load average: 0.62, 0.75, 0.68\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.68\nCPU Temp: 51.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:11 up 21 days, 12:30, 1 user, load average: 0.03, 0.07, 0.02\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:13 up 14 days, 12:46, 1 user, load average: 0.18, 0.15, 0.07\nDisk Usage: 21%\nMemory Usage: 19.9%\nCPU Load: 0.24\nCPU Temp: 33.3°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:12 up 193 days, 14:53, 1 user, load average: 0.38, 0.25, 0.20\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.51\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:12 up 193 days, 14:53, 1 user, load average: 0.31, 0.19, 0.12\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.29\nCPU Temp: 29.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:19:46 up 10 days, 11:09, 0 user, load average: 0.05, 0.18, 0.15\nDisk Usage: 48%\nMemory Usage: 70.5%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:19:40 up 17 days, 7:21, 0 user, load average: 0.13, 0.08, 0.02\nDisk Usage: 24%\nMemory Usage: 72.0%\nCPU Load: 0.19\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:12 up 2 days, 12:51, 1 user, load average: 0.24, 0.10, 0.02\nDisk Usage: 1%\nMemory Usage: 34.7%\nCPU Load: 0.28\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:19:43 up 20 days, 2:14, 0 user, load average: 0.62, 0.43, 0.40\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.60\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:19:49 up 16 days, 12:35, 0 user, load average: 0.34, 0.53, 0.54\nDisk Usage: 75%\nMemory Usage: 59.5%\nCPU Load: 0.87\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:20PM up 21 days, 10:10, 1 user, load averages: 0.48, 0.30, 0.26\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:13 up 2 days, 12:51, 1 user, load average: 0.06, 0.06, 0.01\nDisk Usage: 79%\nMemory Usage: 13.6%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:20:14 up 1 day, 1:06, 1 user, load average: 1.24, 1.15, 0.69\nDisk Usage: 1%\nMemory Usage: 20.6%\nCPU Load: 1.36\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T04:20:23.076935+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `322798f440b24344991d58c28eacbb58` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T04:25:00.001229+00:00 |
| **Fin** | 2025-12-17T04:25:21.781083+00:00 |
| **Durée** | 21.8s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003082", "end": "2025-12-16 23:25:10.907596", "msg": "", "rc": 0, "start": "2025-12-16 23:25:10.904514", "stderr": "", "stderr_lines": [], "stdout": " 23:25:10 up 21 days, 10:16, 1 user, load average: 0.10, 0.15, 0.14", "stdout_lines": [" 23:25:10 up 21 days, 10:16, 1 user, load average: 0.10, 0.15, 0.14"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003564", "end": "2025-12-16 23:25:10.917981", "msg": "", "rc": 0, "start": "2025-12-16 23:25:10.914417", "stderr": "", "stderr_lines": [], "stdout": " 23:25:10 up 21 days, 10:36, 1 user, load average: 0.75, 0.78, 0.87", "stdout_lines": [" 23:25:10 up 21 days, 10:36, 1 user, load average: 0.75, 0.78, 0.87"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003463", "end": "2025-12-16 23:25:10.924125", "msg": "", "rc": 0, "start": "2025-12-16 23:25:10.920662", "stderr": "", "stderr_lines": [], "stdout": " 23:25:10 up 21 days, 12:35, 1 user, load average: 0.01, 0.04, 0.01", "stdout_lines": [" 23:25:10 up 21 days, 12:35, 1 user, load average: 0.01, 0.04, 0.01"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003154", "end": "2025-12-16 23:25:10.936076", "msg": "", "rc": 0, "start": "2025-12-16 23:25:10.932922", "stderr": "", "stderr_lines": [], "stdout": " 23:25:10 up 2 days, 12:57, 1 user, load average: 0.43, 0.34, 0.27", "stdout_lines": [" 23:25:10 up 2 days, 12:57, 1 user, load average: 0.43, 0.34, 0.27"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003788", "end": "2025-12-16 23:25:10.939187", "msg": "", "rc": 0, "start": "2025-12-16 23:25:10.935399", "stderr": "", "stderr_lines": [], "stdout": " 23:25:10 up 21 days, 11:49, 1 user, load average: 0.48, 0.63, 0.65", "stdout_lines": [" 23:25:10 up 21 days, 11:49, 1 user, load average: 0.48, 0.63, 0.65"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003133", "end": "2025-12-16 23:24:45.597782", "msg": "", "rc": 0, "start": "2025-12-16 23:24:45.594649", "stderr": "", "stderr_lines": [], "stdout": " 23:24:45 up 10 days, 11:14, 0 user, load average: 0.07, 0.17, 0.16", "stdout_lines": [" 23:24:45 up 10 days, 11:14, 0 user, load average: 0.07, 0.17, 0.16"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003514", "end": "2025-12-16 23:24:39.343731", "msg": "", "rc": 0, "start": "2025-12-16 23:24:39.340217", "stderr": "", "stderr_lines": [], "stdout": " 23:24:39 up 17 days, 7:26, 0 user, load average: 0.11, 0.07, 0.02", "stdout_lines": [" 23:24:39 up 17 days, 7:26, 0 user, load average: 0.11, 0.07, 0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008436", "end": "2025-12-16 23:25:11.588822", "msg": "", "rc": 0, "start": "2025-12-16 23:25:11.580386", "stderr": "", "stderr_lines": [], "stdout": " 23:25:11 up 193 days, 14:58, 1 user, load average: 0.20, 0.16, 0.11", "stdout_lines": [" 23:25:11 up 193 days, 14:58, 1 user, load average: 0.20, 0.16, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009210", "end": "2025-12-16 23:25:11.624784", "msg": "", "rc": 0, "start": "2025-12-16 23:25:11.615574", "stderr": "", "stderr_lines": [], "stdout": " 23:25:11 up 193 days, 14:58, 1 user, load average: 0.16, 0.18, 0.17", "stdout_lines": [" 23:25:11 up 193 days, 14:58, 1 user, load average: 0.16, 0.18, 0.17"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003291", "end": "2025-12-16 23:24:42.535363", "msg": "", "rc": 0, "start": "2025-12-16 23:24:42.532072", "stderr": "", "stderr_lines": [], "stdout": " 23:24:42 up 20 days, 2:19, 0 user, load average: 0.46, 0.55, 0.46", "stdout_lines": [" 23:24:42 up 20 days, 2:19, 0 user, load average: 0.46, 0.55, 0.46"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004340", "end": "2025-12-16 20:25:12.084199", "msg": "", "rc": 0, "start": "2025-12-16 20:25:12.079859", "stderr": "", "stderr_lines": [], "stdout": " 8:25PM up 21 days, 10:14, 1 user, load averages: 0.32, 0.27, 0.25", "stdout_lines": [" 8:25PM up 21 days, 10:14, 1 user, load averages: 0.32, 0.27, 0.25"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003057", "end": "2025-12-16 23:24:48.872548", "msg": "", "rc": 0, "start": "2025-12-16 23:24:48.869491", "stderr": "", "stderr_lines": [], "stdout": " 23:24:48 up 16 days, 12:40, 0 user, load average: 0.69, 0.53, 0.54", "stdout_lines": [" 23:24:48 up 16 days, 12:40, 0 user, load average: 0.69, 0.53, 0.54"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005723", "end": "2025-12-16 23:25:12.458368", "msg": "", "rc": 0, "start": "2025-12-16 23:25:12.452645", "stderr": "", "stderr_lines": [], "stdout": " 23:25:12 up 1 day, 1:11, 1 user, load average: 1.29, 1.14, 0.83", "stdout_lines": [" 23:25:12 up 1 day, 1:11, 1 user, load average: 1.29, 1.14, 0.83"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019641", "end": "2025-12-16 23:25:12.303007", "msg": "", "rc": 0, "start": "2025-12-16 23:25:12.283366", "stderr": "", "stderr_lines": [], "stdout": " 23:25:12 up 14 days, 12:51, 1 user, load average: 0.35, 0.17, 0.10", "stdout_lines": [" 23:25:12 up 14 days, 12:51, 1 user, load average: 0.35, 0.17, 0.10"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003940", "end": "2025-12-16 23:25:12.502164", "msg": "", "rc": 0, "start": "2025-12-16 23:25:12.498224", "stderr": "", "stderr_lines": [], "stdout": " 23:25:12 up 2 days, 12:56, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 23:25:12 up 2 days, 12:56, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.005973", "end": "2025-12-16 23:25:12.908337", "msg": "", "rc": 0, "start": "2025-12-16 23:25:11.902364", "stderr": "", "stderr_lines": [], "stdout": " 23:25:11 up 2 days, 12:56, 1 user, load average: 0.03, 0.05, 0.01", "stdout_lines": [" 23:25:11 up 2 days, 12:56, 1 user, load average: 0.03, 0.05, 0.01"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004438", "end": "2025-12-16 23:25:13.341347", "msg": "", "rc": 0, "start": "2025-12-16 23:25:13.336909", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004127", "end": "2025-12-16 23:25:13.358966", "msg": "", "rc": 0, "start": "2025-12-16 23:25:13.354839", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004800", "end": "2025-12-16 23:25:13.368628", "msg": "", "rc": 0, "start": "2025-12-16 23:25:13.363828", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005047", "end": "2025-12-16 23:25:13.393388", "msg": "", "rc": 0, "start": "2025-12-16 23:25:13.388341", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005506", "end": "2025-12-16 23:25:13.394537", "msg": "", "rc": 0, "start": "2025-12-16 23:25:13.389031", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005009", "end": "2025-12-16 23:24:48.017066", "msg": "", "rc": 0, "start": "2025-12-16 23:24:48.012057", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005334", "end": "2025-12-16 23:24:41.770249", "msg": "", "rc": 0, "start": "2025-12-16 23:24:41.764915", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010685", "end": "2025-12-16 23:25:14.110637", "msg": "", "rc": 0, "start": "2025-12-16 23:25:14.099952", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011413", "end": "2025-12-16 23:25:14.136300", "msg": "", "rc": 0, "start": "2025-12-16 23:25:14.124887", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006117", "end": "2025-12-16 23:25:14.334238", "msg": "", "rc": 0, "start": "2025-12-16 23:25:14.328121", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007340", "end": "2025-12-16 23:24:44.980038", "msg": "", "rc": 0, "start": "2025-12-16 23:24:44.972698", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005434", "end": "2025-12-16 20:25:14.589202", "msg": "", "rc": 0, "start": "2025-12-16 20:25:14.583768", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005352", "end": "2025-12-16 23:24:51.403666", "msg": "", "rc": 0, "start": "2025-12-16 23:24:51.398314", "stderr": "", "stderr_lines": [], "stdout": "75%", "stdout_lines": ["75%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006180", "end": "2025-12-16 23:25:14.766048", "msg": "", "rc": 0, "start": "2025-12-16 23:25:14.759868", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007823", "end": "2025-12-16 23:25:14.960393", "msg": "", "rc": 0, "start": "2025-12-16 23:25:14.952570", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025173", "end": "2025-12-16 23:25:14.719948", "msg": "", "rc": 0, "start": "2025-12-16 23:25:14.694775", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004489", "end": "2025-12-16 23:25:15.252311", "msg": "", "rc": 0, "start": "2025-12-16 23:25:15.247822", "stderr": "", "stderr_lines": [], "stdout": "81.6%", "stdout_lines": ["81.6%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004788", "end": "2025-12-16 23:25:15.278802", "msg": "", "rc": 0, "start": "2025-12-16 23:25:15.274014", "stderr": "", "stderr_lines": [], "stdout": "49.2%", "stdout_lines": ["49.2%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004134", "end": "2025-12-16 23:25:15.293192", "msg": "", "rc": 0, "start": "2025-12-16 23:25:15.289058", "stderr": "", "stderr_lines": [], "stdout": "22.1%", "stdout_lines": ["22.1%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005085", "end": "2025-12-16 23:25:15.313922", "msg": "", "rc": 0, "start": "2025-12-16 23:25:15.308837", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005815", "end": "2025-12-16 23:25:15.333344", "msg": "", "rc": 0, "start": "2025-12-16 23:25:15.327529", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003784", "end": "2025-12-16 23:24:49.970063", "msg": "", "rc": 0, "start": "2025-12-16 23:24:49.966279", "stderr": "", "stderr_lines": [], "stdout": "70.5%", "stdout_lines": ["70.5%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006674", "end": "2025-12-16 23:24:43.721175", "msg": "", "rc": 0, "start": "2025-12-16 23:24:43.714501", "stderr": "", "stderr_lines": [], "stdout": "71.8%", "stdout_lines": ["71.8%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010994", "end": "2025-12-16 23:25:15.975372", "msg": "", "rc": 0, "start": "2025-12-16 23:25:15.964378", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011923", "end": "2025-12-16 23:25:16.006467", "msg": "", "rc": 0, "start": "2025-12-16 23:25:15.994544", "stderr": "", "stderr_lines": [], "stdout": "13.0%", "stdout_lines": ["13.0%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005955", "end": "2025-12-16 23:25:16.259542", "msg": "", "rc": 0, "start": "2025-12-16 23:25:16.253587", "stderr": "", "stderr_lines": [], "stdout": "34.7%", "stdout_lines": ["34.7%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005120", "end": "2025-12-16 20:25:16.477737", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 20:25:16.472617", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004072", "end": "2025-12-16 23:24:53.278306", "msg": "", "rc": 0, "start": "2025-12-16 23:24:53.274234", "stderr": "", "stderr_lines": [], "stdout": "58.9%", "stdout_lines": ["58.9%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004679", "end": "2025-12-16 23:24:46.960555", "msg": "", "rc": 0, "start": "2025-12-16 23:24:46.955876", "stderr": "", "stderr_lines": [], "stdout": "26.8%", "stdout_lines": ["26.8%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005934", "end": "2025-12-16 23:25:16.677704", "msg": "", "rc": 0, "start": "2025-12-16 23:25:16.671770", "stderr": "", "stderr_lines": [], "stdout": "13.8%", "stdout_lines": ["13.8%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008241", "end": "2025-12-16 23:25:16.991923", "msg": "", "rc": 0, "start": "2025-12-16 23:25:16.983682", "stderr": "", "stderr_lines": [], "stdout": "20.7%", "stdout_lines": ["20.7%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026077", "end": "2025-12-16 23:25:16.642930", "msg": "", "rc": 0, "start": "2025-12-16 23:25:16.616853", "stderr": "", "stderr_lines": [], "stdout": "19.5%", "stdout_lines": ["19.5%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005165", "end": "2025-12-16 23:25:17.166085", "msg": "", "rc": 0, "start": "2025-12-16 23:25:17.160920", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004830", "end": "2025-12-16 23:25:17.190941", "msg": "", "rc": 0, "start": "2025-12-16 23:25:17.186111", "stderr": "", "stderr_lines": [], "stdout": "45.0°C", "stdout_lines": ["45.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005551", "end": "2025-12-16 23:25:17.205342", "msg": "", "rc": 0, "start": "2025-12-16 23:25:17.199791", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002838", "end": "2025-12-16 23:25:17.212458", "msg": "", "rc": 0, "start": "2025-12-16 23:25:17.209620", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006552", "end": "2025-12-16 23:25:17.245526", "msg": "", "rc": 0, "start": "2025-12-16 23:25:17.238974", "stderr": "", "stderr_lines": [], "stdout": "51.0°C", "stdout_lines": ["51.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002911", "end": "2025-12-16 23:24:51.862849", "msg": "", "rc": 0, "start": "2025-12-16 23:24:51.859938", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003343", "end": "2025-12-16 23:24:45.645853", "msg": "", "rc": 0, "start": "2025-12-16 23:24:45.642510", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011838", "end": "2025-12-16 23:25:17.874366", "msg": "", "rc": 0, "start": "2025-12-16 23:25:17.862528", "stderr": "", "stderr_lines": [], "stdout": "28.7°C", "stdout_lines": ["28.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013020", "end": "2025-12-16 23:25:17.910129", "msg": "", "rc": 0, "start": "2025-12-16 23:25:17.897109", "stderr": "", "stderr_lines": [], "stdout": "33.6°C", "stdout_lines": ["33.6°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003149", "end": "2025-12-16 23:25:18.160876", "msg": "", "rc": 0, "start": "2025-12-16 23:25:18.157727", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003027", "end": "2025-12-16 23:24:48.823561", "msg": "", "rc": 0, "start": "2025-12-16 23:24:48.820534", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003884", "end": "2025-12-16 20:25:18.365934", "msg": "", "rc": 0, "start": "2025-12-16 20:25:18.362050", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002611", "end": "2025-12-16 23:24:55.163580", "msg": "", "rc": 0, "start": "2025-12-16 23:24:55.160969", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002951", "end": "2025-12-16 23:25:18.608932", "msg": "", "rc": 0, "start": "2025-12-16 23:25:18.605981", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004025", "end": "2025-12-16 23:25:18.935779", "msg": "", "rc": 0, "start": "2025-12-16 23:25:18.931754", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028109", "end": "2025-12-16 23:25:18.561482", "msg": "", "rc": 0, "start": "2025-12-16 23:25:18.533373", "stderr": "", "stderr_lines": [], "stdout": "34.0°C", "stdout_lines": ["34.0°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004250", "end": "2025-12-16 23:25:19.085808", "msg": "", "rc": 0, "start": "2025-12-16 23:25:19.081558", "stderr": "", "stderr_lines": [], "stdout": "0.32", "stdout_lines": ["0.32"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004013", "end": "2025-12-16 23:25:19.088971", "msg": "", "rc": 0, "start": "2025-12-16 23:25:19.084958", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004839", "end": "2025-12-16 23:25:19.122324", "msg": "", "rc": 0, "start": "2025-12-16 23:25:19.117485", "stderr": "", "stderr_lines": [], "stdout": "0.85", "stdout_lines": ["0.85"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004994", "end": "2025-12-16 23:25:19.129313", "msg": "", "rc": 0, "start": "2025-12-16 23:25:19.124319", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005412", "end": "2025-12-16 23:25:19.140069", "msg": "", "rc": 0, "start": "2025-12-16 23:25:19.134657", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004254", "end": "2025-12-16 23:24:53.748708", "msg": "", "rc": 0, "start": "2025-12-16 23:24:53.744454", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005168", "end": "2025-12-16 23:24:47.509563", "msg": "", "rc": 0, "start": "2025-12-16 23:24:47.504395", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010265", "end": "2025-12-16 23:25:19.876018", "msg": "", "rc": 0, "start": "2025-12-16 23:25:19.865753", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011081", "end": "2025-12-16 23:25:19.903901", "msg": "", "rc": 0, "start": "2025-12-16 23:25:19.892820", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005607", "end": "2025-12-16 23:25:20.050797", "msg": "", "rc": 0, "start": "2025-12-16 23:25:20.045190", "stderr": "", "stderr_lines": [], "stdout": "0.03", "stdout_lines": ["0.03"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004949", "end": "2025-12-16 23:24:50.673221", "msg": "", "rc": 0, "start": "2025-12-16 23:24:50.668272", "stderr": "", "stderr_lines": [], "stdout": "0.47", "stdout_lines": ["0.47"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005796", "end": "2025-12-16 20:25:20.362334", "msg": "", "rc": 0, "start": "2025-12-16 20:25:20.356538", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004536", "end": "2025-12-16 23:24:57.175310", "msg": "", "rc": 0, "start": "2025-12-16 23:24:57.170774", "stderr": "", "stderr_lines": [], "stdout": "0.67", "stdout_lines": ["0.67"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005361", "end": "2025-12-16 23:25:20.487928", "msg": "", "rc": 0, "start": "2025-12-16 23:25:20.482567", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007374", "end": "2025-12-16 23:25:20.871563", "msg": "", "rc": 0, "start": "2025-12-16 23:25:20.864189", "stderr": "", "stderr_lines": [], "stdout": "1.56", "stdout_lines": ["1.56"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024509", "end": "2025-12-16 23:25:20.471582", "msg": "", "rc": 0, "start": "2025-12-16 23:25:20.447073", "stderr": "", "stderr_lines": [], "stdout": "0.32", "stdout_lines": ["0.32"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:10 up 2 days, 12:57, 1 user, load average: 0.43, 0.34, 0.27\nDisk Usage: 22%\nMemory Usage: 22.1%\nCPU Load: 0.44\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:10 up 21 days, 10:16, 1 user, load average: 0.10, 0.15, 0.14\nDisk Usage: 23%\nMemory Usage: 81.6%\nCPU Load: 0.32\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:10 up 21 days, 10:36, 1 user, load average: 0.75, 0.78, 0.87\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.85\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:10 up 21 days, 11:49, 1 user, load average: 0.48, 0.63, 0.65\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.41\nCPU Temp: 51.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:10 up 21 days, 12:35, 1 user, load average: 0.01, 0.04, 0.01\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:12 up 14 days, 12:51, 1 user, load average: 0.35, 0.17, 0.10\nDisk Usage: 21%\nMemory Usage: 19.5%\nCPU Load: 0.32\nCPU Temp: 34.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:11 up 193 days, 14:58, 1 user, load average: 0.16, 0.18, 0.17\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.29\nCPU Temp: 33.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:11 up 193 days, 14:58, 1 user, load average: 0.20, 0.16, 0.11\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.25\nCPU Temp: 28.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:24:45 up 10 days, 11:14, 0 user, load average: 0.07, 0.17, 0.16\nDisk Usage: 48%\nMemory Usage: 70.5%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:24:39 up 17 days, 7:26, 0 user, load average: 0.11, 0.07, 0.02\nDisk Usage: 24%\nMemory Usage: 71.8%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:11 up 2 days, 12:56, 1 user, load average: 0.03, 0.05, 0.01\nDisk Usage: 1%\nMemory Usage: 34.7%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:24:42 up 20 days, 2:19, 0 user, load average: 0.46, 0.55, 0.46\nDisk Usage: 28%\nMemory Usage: 26.8%\nCPU Load: 0.47\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:24:48 up 16 days, 12:40, 0 user, load average: 0.69, 0.53, 0.54\nDisk Usage: 75%\nMemory Usage: 58.9%\nCPU Load: 0.67\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:25PM up 21 days, 10:14, 1 user, load averages: 0.32, 0.27, 0.25\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:12 up 2 days, 12:56, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 79%\nMemory Usage: 13.8%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:25:12 up 1 day, 1:11, 1 user, load average: 1.29, 1.14, 0.83\nDisk Usage: 1%\nMemory Usage: 20.7%\nCPU Load: 1.56\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T04:25:21.824675+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `6cb068bb2b9045d796847bd74f13e512` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T04:30:00.003718+00:00 |
| **Fin** | 2025-12-17T04:30:21.704055+00:00 |
| **Durée** | 21.7s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003087", "end": "2025-12-16 23:30:10.912425", "msg": "", "rc": 0, "start": "2025-12-16 23:30:10.909338", "stderr": "", "stderr_lines": [], "stdout": " 23:30:10 up 21 days, 10:21, 1 user, load average: 0.14, 0.14, 0.13", "stdout_lines": [" 23:30:10 up 21 days, 10:21, 1 user, load average: 0.14, 0.14, 0.13"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003969", "end": "2025-12-16 23:30:10.924186", "msg": "", "rc": 0, "start": "2025-12-16 23:30:10.920217", "stderr": "", "stderr_lines": [], "stdout": " 23:30:10 up 21 days, 12:40, 1 user, load average: 0.09, 0.05, 0.01", "stdout_lines": [" 23:30:10 up 21 days, 12:40, 1 user, load average: 0.09, 0.05, 0.01"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003946", "end": "2025-12-16 23:30:10.944110", "msg": "", "rc": 0, "start": "2025-12-16 23:30:10.940164", "stderr": "", "stderr_lines": [], "stdout": " 23:30:10 up 21 days, 11:54, 1 user, load average: 1.03, 0.69, 0.65", "stdout_lines": [" 23:30:10 up 21 days, 11:54, 1 user, load average: 1.03, 0.69, 0.65"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003260", "end": "2025-12-16 23:30:10.938375", "msg": "", "rc": 0, "start": "2025-12-16 23:30:10.935115", "stderr": "", "stderr_lines": [], "stdout": " 23:30:10 up 21 days, 10:41, 1 user, load average: 0.91, 0.77, 0.84", "stdout_lines": [" 23:30:10 up 21 days, 10:41, 1 user, load average: 0.91, 0.77, 0.84"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002835", "end": "2025-12-16 23:30:10.958258", "msg": "", "rc": 0, "start": "2025-12-16 23:30:10.955423", "stderr": "", "stderr_lines": [], "stdout": " 23:30:10 up 2 days, 13:02, 1 user, load average: 0.43, 0.38, 0.29", "stdout_lines": [" 23:30:10 up 2 days, 13:02, 1 user, load average: 0.43, 0.38, 0.29"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003383", "end": "2025-12-16 23:29:45.696746", "msg": "", "rc": 0, "start": "2025-12-16 23:29:45.693363", "stderr": "", "stderr_lines": [], "stdout": " 23:29:45 up 10 days, 11:19, 0 user, load average: 0.41, 0.26, 0.19", "stdout_lines": [" 23:29:45 up 10 days, 11:19, 0 user, load average: 0.41, 0.26, 0.19"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003358", "end": "2025-12-16 23:29:39.412229", "msg": "", "rc": 0, "start": "2025-12-16 23:29:39.408871", "stderr": "", "stderr_lines": [], "stdout": " 23:29:39 up 17 days, 7:31, 0 user, load average: 0.21, 0.09, 0.02", "stdout_lines": [" 23:29:39 up 17 days, 7:31, 0 user, load average: 0.21, 0.09, 0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008441", "end": "2025-12-16 23:30:11.697793", "msg": "", "rc": 0, "start": "2025-12-16 23:30:11.689352", "stderr": "", "stderr_lines": [], "stdout": " 23:30:11 up 193 days, 15:03, 1 user, load average: 0.34, 0.18, 0.11", "stdout_lines": [" 23:30:11 up 193 days, 15:03, 1 user, load average: 0.34, 0.18, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009663", "end": "2025-12-16 23:30:11.731774", "msg": "", "rc": 0, "start": "2025-12-16 23:30:11.722111", "stderr": "", "stderr_lines": [], "stdout": " 23:30:11 up 193 days, 15:03, 1 user, load average: 0.18, 0.21, 0.18", "stdout_lines": [" 23:30:11 up 193 days, 15:03, 1 user, load average: 0.18, 0.21, 0.18"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004908", "end": "2025-12-16 23:30:12.025742", "msg": "", "rc": 0, "start": "2025-12-16 23:30:12.020834", "stderr": "", "stderr_lines": [], "stdout": " 23:30:12 up 2 days, 13:01, 1 user, load average: 0.11, 0.04, 0.01", "stdout_lines": [" 23:30:12 up 2 days, 13:01, 1 user, load average: 0.11, 0.04, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003157", "end": "2025-12-16 23:29:42.597663", "msg": "", "rc": 0, "start": "2025-12-16 23:29:42.594506", "stderr": "", "stderr_lines": [], "stdout": " 23:29:42 up 20 days, 2:24, 0 user, load average: 0.42, 0.47, 0.45", "stdout_lines": [" 23:29:42 up 20 days, 2:24, 0 user, load average: 0.42, 0.47, 0.45"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004156", "end": "2025-12-16 20:30:12.202534", "msg": "", "rc": 0, "start": "2025-12-16 20:30:12.198378", "stderr": "", "stderr_lines": [], "stdout": " 8:30PM up 21 days, 10:19, 1 user, load averages: 0.30, 0.25, 0.24", "stdout_lines": [" 8:30PM up 21 days, 10:19, 1 user, load averages: 0.30, 0.25, 0.24"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003563", "end": "2025-12-16 23:29:48.990251", "msg": "", "rc": 0, "start": "2025-12-16 23:29:48.986688", "stderr": "", "stderr_lines": [], "stdout": " 23:29:48 up 16 days, 12:45, 0 user, load average: 0.49, 0.48, 0.52", "stdout_lines": [" 23:29:48 up 16 days, 12:45, 0 user, load average: 0.49, 0.48, 0.52"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009096", "end": "2025-12-16 23:30:12.907266", "msg": "", "rc": 0, "start": "2025-12-16 23:30:12.898170", "stderr": "", "stderr_lines": [], "stdout": " 23:30:12 up 1 day, 1:17, 1 user, load average: 1.11, 1.13, 0.93", "stdout_lines": [" 23:30:12 up 1 day, 1:17, 1 user, load average: 1.11, 1.13, 0.93"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003721", "end": "2025-12-16 23:30:12.447516", "msg": "", "rc": 0, "start": "2025-12-16 23:30:12.443795", "stderr": "", "stderr_lines": [], "stdout": " 23:30:12 up 2 days, 13:01, 1 user, load average: 0.06, 0.07, 0.02", "stdout_lines": [" 23:30:12 up 2 days, 13:01, 1 user, load average: 0.06, 0.07, 0.02"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019220", "end": "2025-12-16 23:30:12.345966", "msg": "", "rc": 0, "start": "2025-12-16 23:30:12.326746", "stderr": "", "stderr_lines": [], "stdout": " 23:30:12 up 14 days, 12:56, 1 user, load average: 0.10, 0.11, 0.09", "stdout_lines": [" 23:30:12 up 14 days, 12:56, 1 user, load average: 0.10, 0.11, 0.09"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004370", "end": "2025-12-16 23:30:12.867359", "msg": "", "rc": 0, "start": "2025-12-16 23:30:12.862989", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004314", "end": "2025-12-16 23:30:12.877814", "msg": "", "rc": 0, "start": "2025-12-16 23:30:12.873500", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004727", "end": "2025-12-16 23:30:12.905329", "msg": "", "rc": 0, "start": "2025-12-16 23:30:12.900602", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005480", "end": "2025-12-16 23:30:12.930120", "msg": "", "rc": 0, "start": "2025-12-16 23:30:12.924640", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004967", "end": "2025-12-16 23:30:12.929773", "msg": "", "rc": 0, "start": "2025-12-16 23:30:12.924806", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005110", "end": "2025-12-16 23:29:47.555567", "msg": "", "rc": 0, "start": "2025-12-16 23:29:47.550457", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008105", "end": "2025-12-16 23:29:41.322672", "msg": "", "rc": 0, "start": "2025-12-16 23:29:41.314567", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010550", "end": "2025-12-16 23:30:13.624940", "msg": "", "rc": 0, "start": "2025-12-16 23:30:13.614390", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011696", "end": "2025-12-16 23:30:13.642230", "msg": "", "rc": 0, "start": "2025-12-16 23:30:13.630534", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006017", "end": "2025-12-16 23:30:13.854301", "msg": "", "rc": 0, "start": "2025-12-16 23:30:13.848284", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005309", "end": "2025-12-16 23:29:44.503223", "msg": "", "rc": 0, "start": "2025-12-16 23:29:44.497914", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005496", "end": "2025-12-16 20:30:14.106837", "msg": "", "rc": 0, "start": "2025-12-16 20:30:14.101341", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004957", "end": "2025-12-16 23:29:50.912490", "msg": "", "rc": 0, "start": "2025-12-16 23:29:50.907533", "stderr": "", "stderr_lines": [], "stdout": "75%", "stdout_lines": ["75%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005593", "end": "2025-12-16 23:30:14.285187", "msg": "", "rc": 0, "start": "2025-12-16 23:30:14.279594", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020657", "end": "2025-12-16 23:30:14.918440", "msg": "", "rc": 0, "start": "2025-12-16 23:30:14.897783", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025400", "end": "2025-12-16 23:30:14.267941", "msg": "", "rc": 0, "start": "2025-12-16 23:30:14.242541", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004411", "end": "2025-12-16 23:30:14.786435", "msg": "", "rc": 0, "start": "2025-12-16 23:30:14.782024", "stderr": "", "stderr_lines": [], "stdout": "81.6%", "stdout_lines": ["81.6%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004124", "end": "2025-12-16 23:30:14.791099", "msg": "", "rc": 0, "start": "2025-12-16 23:30:14.786975", "stderr": "", "stderr_lines": [], "stdout": "22.1%", "stdout_lines": ["22.1%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004584", "end": "2025-12-16 23:30:14.822194", "msg": "", "rc": 0, "start": "2025-12-16 23:30:14.817610", "stderr": "", "stderr_lines": [], "stdout": "49.2%", "stdout_lines": ["49.2%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005386", "end": "2025-12-16 23:30:14.844608", "msg": "", "rc": 0, "start": "2025-12-16 23:30:14.839222", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005887", "end": "2025-12-16 23:30:14.861010", "msg": "", "rc": 0, "start": "2025-12-16 23:30:14.855123", "stderr": "", "stderr_lines": [], "stdout": "59.9%", "stdout_lines": ["59.9%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004558", "end": "2025-12-16 23:29:49.495566", "msg": "", "rc": 0, "start": "2025-12-16 23:29:49.491008", "stderr": "", "stderr_lines": [], "stdout": "70.4%", "stdout_lines": ["70.4%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004612", "end": "2025-12-16 23:29:43.232735", "msg": "", "rc": 0, "start": "2025-12-16 23:29:43.228123", "stderr": "", "stderr_lines": [], "stdout": "72.0%", "stdout_lines": ["72.0%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010893", "end": "2025-12-16 23:30:15.497889", "msg": "", "rc": 0, "start": "2025-12-16 23:30:15.486996", "stderr": "", "stderr_lines": [], "stdout": "6.9%", "stdout_lines": ["6.9%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012454", "end": "2025-12-16 23:30:15.533487", "msg": "", "rc": 0, "start": "2025-12-16 23:30:15.521033", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.1%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006030", "end": "2025-12-16 23:30:15.828662", "msg": "", "rc": 0, "start": "2025-12-16 23:30:15.822632", "stderr": "", "stderr_lines": [], "stdout": "34.9%", "stdout_lines": ["34.9%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005391", "end": "2025-12-16 20:30:15.985551", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 20:30:15.980160", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004624", "end": "2025-12-16 23:29:46.447537", "msg": "", "rc": 0, "start": "2025-12-16 23:29:46.442913", "stderr": "", "stderr_lines": [], "stdout": "25.6%", "stdout_lines": ["25.6%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008422", "end": "2025-12-16 23:29:52.779131", "msg": "", "rc": 0, "start": "2025-12-16 23:29:52.770709", "stderr": "", "stderr_lines": [], "stdout": "59.2%", "stdout_lines": ["59.2%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005333", "end": "2025-12-16 23:30:16.265743", "msg": "", "rc": 0, "start": "2025-12-16 23:30:16.260410", "stderr": "", "stderr_lines": [], "stdout": "13.8%", "stdout_lines": ["13.8%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010046", "end": "2025-12-16 23:30:16.927698", "msg": "", "rc": 0, "start": "2025-12-16 23:30:16.917652", "stderr": "", "stderr_lines": [], "stdout": "20.8%", "stdout_lines": ["20.8%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025713", "end": "2025-12-16 23:30:16.185458", "msg": "", "rc": 0, "start": "2025-12-16 23:30:16.159745", "stderr": "", "stderr_lines": [], "stdout": "20.3%", "stdout_lines": ["20.3%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005179", "end": "2025-12-16 23:30:16.720635", "msg": "", "rc": 0, "start": "2025-12-16 23:30:16.715456", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004892", "end": "2025-12-16 23:30:16.744116", "msg": "", "rc": 0, "start": "2025-12-16 23:30:16.739224", "stderr": "", "stderr_lines": [], "stdout": "46.0°C", "stdout_lines": ["46.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003230", "end": "2025-12-16 23:30:16.781000", "msg": "", "rc": 0, "start": "2025-12-16 23:30:16.777770", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005886", "end": "2025-12-16 23:30:16.787850", "msg": "", "rc": 0, "start": "2025-12-16 23:30:16.781964", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006826", "end": "2025-12-16 23:30:16.805418", "msg": "", "rc": 0, "start": "2025-12-16 23:30:16.798592", "stderr": "", "stderr_lines": [], "stdout": "52.0°C", "stdout_lines": ["52.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002609", "end": "2025-12-16 23:29:51.411289", "msg": "", "rc": 0, "start": "2025-12-16 23:29:51.408680", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003115", "end": "2025-12-16 23:29:45.200685", "msg": "", "rc": 0, "start": "2025-12-16 23:29:45.197570", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011697", "end": "2025-12-16 23:30:17.425278", "msg": "", "rc": 0, "start": "2025-12-16 23:30:17.413581", "stderr": "", "stderr_lines": [], "stdout": "29.7°C", "stdout_lines": ["29.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013083", "end": "2025-12-16 23:30:17.475148", "msg": "", "rc": 0, "start": "2025-12-16 23:30:17.462065", "stderr": "", "stderr_lines": [], "stdout": "34.6°C", "stdout_lines": ["34.6°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003076", "end": "2025-12-16 23:30:17.718703", "msg": "", "rc": 0, "start": "2025-12-16 23:30:17.715627", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002584", "end": "2025-12-16 23:29:54.701590", "msg": "", "rc": 0, "start": "2025-12-16 23:29:54.699006", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004333", "end": "2025-12-16 20:30:17.937977", "msg": "", "rc": 0, "start": "2025-12-16 20:30:17.933644", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002919", "end": "2025-12-16 23:29:48.406108", "msg": "", "rc": 0, "start": "2025-12-16 23:29:48.403189", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003262", "end": "2025-12-16 23:30:18.138770", "msg": "", "rc": 0, "start": "2025-12-16 23:30:18.135508", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004019", "end": "2025-12-16 23:30:18.899209", "msg": "", "rc": 0, "start": "2025-12-16 23:30:18.895190", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028602", "end": "2025-12-16 23:30:18.104858", "msg": "", "rc": 0, "start": "2025-12-16 23:30:18.076256", "stderr": "", "stderr_lines": [], "stdout": "33.7°C", "stdout_lines": ["33.7°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004313", "end": "2025-12-16 23:30:18.651458", "msg": "", "rc": 0, "start": "2025-12-16 23:30:18.647145", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004170", "end": "2025-12-16 23:30:18.665419", "msg": "", "rc": 0, "start": "2025-12-16 23:30:18.661249", "stderr": "", "stderr_lines": [], "stdout": "0.40", "stdout_lines": ["0.40"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004553", "end": "2025-12-16 23:30:18.679636", "msg": "", "rc": 0, "start": "2025-12-16 23:30:18.675083", "stderr": "", "stderr_lines": [], "stdout": "1.00", "stdout_lines": ["1.00"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005108", "end": "2025-12-16 23:30:18.709586", "msg": "", "rc": 0, "start": "2025-12-16 23:30:18.704478", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005788", "end": "2025-12-16 23:30:18.728851", "msg": "", "rc": 0, "start": "2025-12-16 23:30:18.723063", "stderr": "", "stderr_lines": [], "stdout": "1.26", "stdout_lines": ["1.26"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004473", "end": "2025-12-16 23:29:53.321450", "msg": "", "rc": 0, "start": "2025-12-16 23:29:53.316977", "stderr": "", "stderr_lines": [], "stdout": "0.37", "stdout_lines": ["0.37"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005716", "end": "2025-12-16 23:29:47.114548", "msg": "", "rc": 0, "start": "2025-12-16 23:29:47.108832", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010632", "end": "2025-12-16 23:30:19.420163", "msg": "", "rc": 0, "start": "2025-12-16 23:30:19.409531", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011194", "end": "2025-12-16 23:30:19.469246", "msg": "", "rc": 0, "start": "2025-12-16 23:30:19.458052", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005628", "end": "2025-12-16 23:30:19.619873", "msg": "", "rc": 0, "start": "2025-12-16 23:30:19.614245", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004981", "end": "2025-12-16 23:29:50.319752", "msg": "", "rc": 0, "start": "2025-12-16 23:29:50.314771", "stderr": "", "stderr_lines": [], "stdout": "0.51", "stdout_lines": ["0.51"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005290", "end": "2025-12-16 23:29:56.700617", "msg": "", "rc": 0, "start": "2025-12-16 23:29:56.695327", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005924", "end": "2025-12-16 20:30:19.919401", "msg": "", "rc": 0, "start": "2025-12-16 20:30:19.913477", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005252", "end": "2025-12-16 23:30:20.040170", "msg": "", "rc": 0, "start": "2025-12-16 23:30:20.034918", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024392", "end": "2025-12-16 23:30:20.032821", "msg": "", "rc": 0, "start": "2025-12-16 23:30:20.008429", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007837", "end": "2025-12-16 23:30:20.942022", "msg": "", "rc": 0, "start": "2025-12-16 23:30:20.934185", "stderr": "", "stderr_lines": [], "stdout": "1.33", "stdout_lines": ["1.33"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:10 up 2 days, 13:02, 1 user, load average: 0.43, 0.38, 0.29\nDisk Usage: 22%\nMemory Usage: 22.1%\nCPU Load: 0.40\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:10 up 21 days, 10:21, 1 user, load average: 0.14, 0.14, 0.13\nDisk Usage: 23%\nMemory Usage: 81.6%\nCPU Load: 0.28\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:10 up 21 days, 10:41, 1 user, load average: 0.91, 0.77, 0.84\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 1.00\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:10 up 21 days, 11:54, 1 user, load average: 1.03, 0.69, 0.65\nDisk Usage: 14%\nMemory Usage: 59.9%\nCPU Load: 1.26\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:10 up 21 days, 12:40, 1 user, load average: 0.09, 0.05, 0.01\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:12 up 14 days, 12:56, 1 user, load average: 0.10, 0.11, 0.09\nDisk Usage: 21%\nMemory Usage: 20.3%\nCPU Load: 0.24\nCPU Temp: 33.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:11 up 193 days, 15:03, 1 user, load average: 0.18, 0.21, 0.18\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.31\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:11 up 193 days, 15:03, 1 user, load average: 0.34, 0.18, 0.11\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.29\nCPU Temp: 29.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:29:45 up 10 days, 11:19, 0 user, load average: 0.41, 0.26, 0.19\nDisk Usage: 48%\nMemory Usage: 70.4%\nCPU Load: 0.37\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:29:39 up 17 days, 7:31, 0 user, load average: 0.21, 0.09, 0.02\nDisk Usage: 24%\nMemory Usage: 72.0%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:12 up 2 days, 13:01, 1 user, load average: 0.11, 0.04, 0.01\nDisk Usage: 1%\nMemory Usage: 34.9%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:29:42 up 20 days, 2:24, 0 user, load average: 0.42, 0.47, 0.45\nDisk Usage: 28%\nMemory Usage: 25.6%\nCPU Load: 0.51\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:29:48 up 16 days, 12:45, 0 user, load average: 0.49, 0.48, 0.52\nDisk Usage: 75%\nMemory Usage: 59.2%\nCPU Load: 0.41\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:30PM up 21 days, 10:19, 1 user, load averages: 0.30, 0.25, 0.24\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:12 up 2 days, 13:01, 1 user, load average: 0.06, 0.07, 0.02\nDisk Usage: 79%\nMemory Usage: 13.8%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:30:12 up 1 day, 1:17, 1 user, load average: 1.11, 1.13, 0.93\nDisk Usage: 1%\nMemory Usage: 20.8%\nCPU Load: 1.33\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T04:30:21.748228+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `ce0b6ab38adf404fb4773bbad8129065` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T04:35:00.003664+00:00 |
| **Fin** | 2025-12-17T04:35:22.080858+00:00 |
| **Durée** | 22.1s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003320", "end": "2025-12-16 23:35:11.619974", "msg": "", "rc": 0, "start": "2025-12-16 23:35:11.616654", "stderr": "", "stderr_lines": [], "stdout": " 23:35:11 up 21 days, 10:26, 1 user, load average: 0.18, 0.15, 0.14", "stdout_lines": [" 23:35:11 up 21 days, 10:26, 1 user, load average: 0.18, 0.15, 0.14"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003906", "end": "2025-12-16 23:35:11.621343", "msg": "", "rc": 0, "start": "2025-12-16 23:35:11.617437", "stderr": "", "stderr_lines": [], "stdout": " 23:35:11 up 21 days, 12:45, 1 user, load average: 0.15, 0.07, 0.01", "stdout_lines": [" 23:35:11 up 21 days, 12:45, 1 user, load average: 0.15, 0.07, 0.01"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003385", "end": "2025-12-16 23:35:11.625548", "msg": "", "rc": 0, "start": "2025-12-16 23:35:11.622163", "stderr": "", "stderr_lines": [], "stdout": " 23:35:11 up 21 days, 10:46, 1 user, load average: 0.89, 0.86, 0.85", "stdout_lines": [" 23:35:11 up 21 days, 10:46, 1 user, load average: 0.89, 0.86, 0.85"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003812", "end": "2025-12-16 23:35:11.639436", "msg": "", "rc": 0, "start": "2025-12-16 23:35:11.635624", "stderr": "", "stderr_lines": [], "stdout": " 23:35:11 up 21 days, 11:59, 1 user, load average: 0.79, 0.68, 0.66", "stdout_lines": [" 23:35:11 up 21 days, 11:59, 1 user, load average: 0.79, 0.68, 0.66"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002878", "end": "2025-12-16 23:35:11.650555", "msg": "", "rc": 0, "start": "2025-12-16 23:35:11.647677", "stderr": "", "stderr_lines": [], "stdout": " 23:35:11 up 2 days, 13:07, 1 user, load average: 0.46, 0.35, 0.29", "stdout_lines": [" 23:35:11 up 2 days, 13:07, 1 user, load average: 0.46, 0.35, 0.29"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002999", "end": "2025-12-16 23:34:46.315085", "msg": "", "rc": 0, "start": "2025-12-16 23:34:46.312086", "stderr": "", "stderr_lines": [], "stdout": " 23:34:46 up 10 days, 11:24, 0 user, load average: 0.14, 0.20, 0.18", "stdout_lines": [" 23:34:46 up 10 days, 11:24, 0 user, load average: 0.14, 0.20, 0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003174", "end": "2025-12-16 23:34:40.045789", "msg": "", "rc": 0, "start": "2025-12-16 23:34:40.042615", "stderr": "", "stderr_lines": [], "stdout": " 23:34:40 up 17 days, 7:36, 0 user, load average: 0.16, 0.06, 0.01", "stdout_lines": [" 23:34:40 up 17 days, 7:36, 0 user, load average: 0.16, 0.06, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008328", "end": "2025-12-16 23:35:12.321831", "msg": "", "rc": 0, "start": "2025-12-16 23:35:12.313503", "stderr": "", "stderr_lines": [], "stdout": " 23:35:12 up 193 days, 15:08, 1 user, load average: 0.14, 0.15, 0.11", "stdout_lines": [" 23:35:12 up 193 days, 15:08, 1 user, load average: 0.14, 0.15, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009245", "end": "2025-12-16 23:35:12.368300", "msg": "", "rc": 0, "start": "2025-12-16 23:35:12.359055", "stderr": "", "stderr_lines": [], "stdout": " 23:35:12 up 193 days, 15:08, 1 user, load average: 0.15, 0.22, 0.18", "stdout_lines": [" 23:35:12 up 193 days, 15:08, 1 user, load average: 0.15, 0.22, 0.18"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004763", "end": "2025-12-16 23:35:12.651336", "msg": "", "rc": 0, "start": "2025-12-16 23:35:12.646573", "stderr": "", "stderr_lines": [], "stdout": " 23:35:12 up 2 days, 13:06, 1 user, load average: 0.10, 0.07, 0.01", "stdout_lines": [" 23:35:12 up 2 days, 13:06, 1 user, load average: 0.10, 0.07, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003445", "end": "2025-12-16 23:34:43.222463", "msg": "", "rc": 0, "start": "2025-12-16 23:34:43.219018", "stderr": "", "stderr_lines": [], "stdout": " 23:34:43 up 20 days, 2:29, 0 user, load average: 0.38, 0.41, 0.43", "stdout_lines": [" 23:34:43 up 20 days, 2:29, 0 user, load average: 0.38, 0.41, 0.43"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004468", "end": "2025-12-16 20:35:12.847782", "msg": "", "rc": 0, "start": "2025-12-16 20:35:12.843314", "stderr": "", "stderr_lines": [], "stdout": " 8:35PM up 21 days, 10:25, 1 user, load averages: 0.13, 0.20, 0.23", "stdout_lines": [" 8:35PM up 21 days, 10:25, 1 user, load averages: 0.13, 0.20, 0.23"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004790", "end": "2025-12-16 23:34:49.652748", "msg": "", "rc": 0, "start": "2025-12-16 23:34:49.647958", "stderr": "", "stderr_lines": [], "stdout": " 23:34:49 up 16 days, 12:50, 0 user, load average: 0.34, 0.37, 0.45", "stdout_lines": [" 23:34:49 up 16 days, 12:50, 0 user, load average: 0.34, 0.37, 0.45"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003815", "end": "2025-12-16 23:35:13.086641", "msg": "", "rc": 0, "start": "2025-12-16 23:35:13.082826", "stderr": "", "stderr_lines": [], "stdout": " 23:35:13 up 2 days, 13:06, 1 user, load average: 0.04, 0.07, 0.02", "stdout_lines": [" 23:35:13 up 2 days, 13:06, 1 user, load average: 0.04, 0.07, 0.02"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007425", "end": "2025-12-16 23:35:14.034971", "msg": "", "rc": 0, "start": "2025-12-16 23:35:14.027546", "stderr": "", "stderr_lines": [], "stdout": " 23:35:14 up 1 day, 1:22, 1 user, load average: 1.57, 1.22, 1.03", "stdout_lines": [" 23:35:14 up 1 day, 1:22, 1 user, load average: 1.57, 1.22, 1.03"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019457", "end": "2025-12-16 23:35:13.024854", "msg": "", "rc": 0, "start": "2025-12-16 23:35:13.005397", "stderr": "", "stderr_lines": [], "stdout": " 23:35:13 up 14 days, 13:01, 1 user, load average: 0.14, 0.10, 0.09", "stdout_lines": [" 23:35:13 up 14 days, 13:01, 1 user, load average: 0.14, 0.10, 0.09"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004610", "end": "2025-12-16 23:35:13.575156", "msg": "", "rc": 0, "start": "2025-12-16 23:35:13.570546", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004112", "end": "2025-12-16 23:35:13.591340", "msg": "", "rc": 0, "start": "2025-12-16 23:35:13.587228", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004719", "end": "2025-12-16 23:35:13.623739", "msg": "", "rc": 0, "start": "2025-12-16 23:35:13.619020", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005706", "end": "2025-12-16 23:35:13.617486", "msg": "", "rc": 0, "start": "2025-12-16 23:35:13.611780", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005602", "end": "2025-12-16 23:35:13.644390", "msg": "", "rc": 0, "start": "2025-12-16 23:35:13.638788", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004762", "end": "2025-12-16 23:34:48.260345", "msg": "", "rc": 0, "start": "2025-12-16 23:34:48.255583", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005300", "end": "2025-12-16 23:34:42.005589", "msg": "", "rc": 0, "start": "2025-12-16 23:34:42.000289", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010603", "end": "2025-12-16 23:35:14.338851", "msg": "", "rc": 0, "start": "2025-12-16 23:35:14.328248", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011578", "end": "2025-12-16 23:35:14.356071", "msg": "", "rc": 0, "start": "2025-12-16 23:35:14.344493", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006308", "end": "2025-12-16 23:35:14.593035", "msg": "", "rc": 0, "start": "2025-12-16 23:35:14.586727", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005616", "end": "2025-12-16 23:34:45.189621", "msg": "", "rc": 0, "start": "2025-12-16 23:34:45.184005", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007424", "end": "2025-12-16 20:35:14.841692", "msg": "", "rc": 0, "start": "2025-12-16 20:35:14.834268", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004762", "end": "2025-12-16 23:34:51.634406", "msg": "", "rc": 0, "start": "2025-12-16 23:34:51.629644", "stderr": "", "stderr_lines": [], "stdout": "75%", "stdout_lines": ["75%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006240", "end": "2025-12-16 23:35:15.038915", "msg": "", "rc": 0, "start": "2025-12-16 23:35:15.032675", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025717", "end": "2025-12-16 23:35:14.974208", "msg": "", "rc": 0, "start": "2025-12-16 23:35:14.948491", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.094617", "end": "2025-12-16 23:35:16.185358", "msg": "", "rc": 0, "start": "2025-12-16 23:35:16.090741", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004263", "end": "2025-12-16 23:35:15.591654", "msg": "", "rc": 0, "start": "2025-12-16 23:35:15.587391", "stderr": "", "stderr_lines": [], "stdout": "22.2%", "stdout_lines": ["22.2%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004571", "end": "2025-12-16 23:35:15.594205", "msg": "", "rc": 0, "start": "2025-12-16 23:35:15.589634", "stderr": "", "stderr_lines": [], "stdout": "81.5%", "stdout_lines": ["81.5%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005427", "end": "2025-12-16 23:35:15.636169", "msg": "", "rc": 0, "start": "2025-12-16 23:35:15.630742", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005859", "end": "2025-12-16 23:35:15.657277", "msg": "", "rc": 0, "start": "2025-12-16 23:35:15.651418", "stderr": "", "stderr_lines": [], "stdout": "60.0%", "stdout_lines": ["60.0%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006658", "end": "2025-12-16 23:35:15.655819", "msg": "", "rc": 0, "start": "2025-12-16 23:35:15.649161", "stderr": "", "stderr_lines": [], "stdout": "49.2%", "stdout_lines": ["49.2%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003622", "end": "2025-12-16 23:34:50.296943", "msg": "", "rc": 0, "start": "2025-12-16 23:34:50.293321", "stderr": "", "stderr_lines": [], "stdout": "70.3%", "stdout_lines": ["70.3%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004428", "end": "2025-12-16 23:34:44.032816", "msg": "", "rc": 0, "start": "2025-12-16 23:34:44.028388", "stderr": "", "stderr_lines": [], "stdout": "72.0%", "stdout_lines": ["72.0%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011086", "end": "2025-12-16 23:35:16.302553", "msg": "", "rc": 0, "start": "2025-12-16 23:35:16.291467", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012156", "end": "2025-12-16 23:35:16.317702", "msg": "", "rc": 0, "start": "2025-12-16 23:35:16.305546", "stderr": "", "stderr_lines": [], "stdout": "12.6%", "stdout_lines": ["12.6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005871", "end": "2025-12-16 23:35:16.595940", "msg": "", "rc": 0, "start": "2025-12-16 23:35:16.590069", "stderr": "", "stderr_lines": [], "stdout": "34.9%", "stdout_lines": ["34.9%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004163", "end": "2025-12-16 23:34:47.198804", "msg": "", "rc": 0, "start": "2025-12-16 23:34:47.194641", "stderr": "", "stderr_lines": [], "stdout": "27.5%", "stdout_lines": ["27.5%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005618", "end": "2025-12-16 20:35:16.794955", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 20:35:16.789337", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005044", "end": "2025-12-16 23:34:53.606099", "msg": "", "rc": 0, "start": "2025-12-16 23:34:53.601055", "stderr": "", "stderr_lines": [], "stdout": "59.6%", "stdout_lines": ["59.6%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005635", "end": "2025-12-16 23:35:17.023890", "msg": "", "rc": 0, "start": "2025-12-16 23:35:17.018255", "stderr": "", "stderr_lines": [], "stdout": "13.8%", "stdout_lines": ["13.8%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008823", "end": "2025-12-16 23:35:18.125425", "msg": "", "rc": 0, "start": "2025-12-16 23:35:18.116602", "stderr": "", "stderr_lines": [], "stdout": "21.0%", "stdout_lines": ["21.0%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025245", "end": "2025-12-16 23:35:16.984962", "msg": "", "rc": 0, "start": "2025-12-16 23:35:16.959717", "stderr": "", "stderr_lines": [], "stdout": "20.7%", "stdout_lines": ["20.7%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004884", "end": "2025-12-16 23:35:17.523422", "msg": "", "rc": 0, "start": "2025-12-16 23:35:17.518538", "stderr": "", "stderr_lines": [], "stdout": "45.0°C", "stdout_lines": ["45.0°C"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005363", "end": "2025-12-16 23:35:17.528439", "msg": "", "rc": 0, "start": "2025-12-16 23:35:17.523076", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005414", "end": "2025-12-16 23:35:17.550180", "msg": "", "rc": 0, "start": "2025-12-16 23:35:17.544766", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003424", "end": "2025-12-16 23:35:17.558533", "msg": "", "rc": 0, "start": "2025-12-16 23:35:17.555109", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.007330", "end": "2025-12-16 23:35:17.588504", "msg": "", "rc": 0, "start": "2025-12-16 23:35:17.581174", "stderr": "", "stderr_lines": [], "stdout": "51.5°C", "stdout_lines": ["51.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002468", "end": "2025-12-16 23:34:52.190638", "msg": "", "rc": 0, "start": "2025-12-16 23:34:52.188170", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003238", "end": "2025-12-16 23:34:45.972739", "msg": "", "rc": 0, "start": "2025-12-16 23:34:45.969501", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011676", "end": "2025-12-16 23:35:18.212536", "msg": "", "rc": 0, "start": "2025-12-16 23:35:18.200860", "stderr": "", "stderr_lines": [], "stdout": "29.7°C", "stdout_lines": ["29.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013375", "end": "2025-12-16 23:35:18.253424", "msg": "", "rc": 0, "start": "2025-12-16 23:35:18.240049", "stderr": "", "stderr_lines": [], "stdout": "34.6°C", "stdout_lines": ["34.6°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003673", "end": "2025-12-16 23:35:18.496537", "msg": "", "rc": 0, "start": "2025-12-16 23:35:18.492864", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002574", "end": "2025-12-16 23:34:55.517167", "msg": "", "rc": 0, "start": "2025-12-16 23:34:55.514593", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003954", "end": "2025-12-16 20:35:18.745569", "msg": "", "rc": 0, "start": "2025-12-16 20:35:18.741615", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003019", "end": "2025-12-16 23:34:49.201879", "msg": "", "rc": 0, "start": "2025-12-16 23:34:49.198860", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003563", "end": "2025-12-16 23:35:18.924042", "msg": "", "rc": 0, "start": "2025-12-16 23:35:18.920479", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028305", "end": "2025-12-16 23:35:18.924198", "msg": "", "rc": 0, "start": "2025-12-16 23:35:18.895893", "stderr": "", "stderr_lines": [], "stdout": "33.7°C", "stdout_lines": ["33.7°C"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004481", "end": "2025-12-16 23:35:19.102265", "msg": "", "rc": 0, "start": "2025-12-16 23:35:19.097784", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004265", "end": "2025-12-16 23:35:19.470467", "msg": "", "rc": 0, "start": "2025-12-16 23:35:19.466202", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004069", "end": "2025-12-16 23:35:19.483225", "msg": "", "rc": 0, "start": "2025-12-16 23:35:19.479156", "stderr": "", "stderr_lines": [], "stdout": "0.46", "stdout_lines": ["0.46"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004734", "end": "2025-12-16 23:35:19.498324", "msg": "", "rc": 0, "start": "2025-12-16 23:35:19.493590", "stderr": "", "stderr_lines": [], "stdout": "0.90", "stdout_lines": ["0.90"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004945", "end": "2025-12-16 23:35:19.515880", "msg": "", "rc": 0, "start": "2025-12-16 23:35:19.510935", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005930", "end": "2025-12-16 23:35:19.543412", "msg": "", "rc": 0, "start": "2025-12-16 23:35:19.537482", "stderr": "", "stderr_lines": [], "stdout": "0.91", "stdout_lines": ["0.91"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004694", "end": "2025-12-16 23:34:54.138345", "msg": "", "rc": 0, "start": "2025-12-16 23:34:54.133651", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005447", "end": "2025-12-16 23:34:47.945663", "msg": "", "rc": 0, "start": "2025-12-16 23:34:47.940216", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010066", "end": "2025-12-16 23:35:20.275494", "msg": "", "rc": 0, "start": "2025-12-16 23:35:20.265428", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010934", "end": "2025-12-16 23:35:20.282215", "msg": "", "rc": 0, "start": "2025-12-16 23:35:20.271281", "stderr": "", "stderr_lines": [], "stdout": "0.65", "stdout_lines": ["0.65"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005786", "end": "2025-12-16 23:35:20.453923", "msg": "", "rc": 0, "start": "2025-12-16 23:35:20.448137", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005109", "end": "2025-12-16 23:34:51.163607", "msg": "", "rc": 0, "start": "2025-12-16 23:34:51.158498", "stderr": "", "stderr_lines": [], "stdout": "0.56", "stdout_lines": ["0.56"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005865", "end": "2025-12-16 20:35:20.742147", "msg": "", "rc": 0, "start": "2025-12-16 20:35:20.736282", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004740", "end": "2025-12-16 23:34:57.581234", "msg": "", "rc": 0, "start": "2025-12-16 23:34:57.576494", "stderr": "", "stderr_lines": [], "stdout": "0.51", "stdout_lines": ["0.51"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005279", "end": "2025-12-16 23:35:20.896482", "msg": "", "rc": 0, "start": "2025-12-16 23:35:20.891203", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024504", "end": "2025-12-16 23:35:20.859150", "msg": "", "rc": 0, "start": "2025-12-16 23:35:20.834646", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.009847", "end": "2025-12-16 23:35:21.202433", "msg": "", "rc": 0, "start": "2025-12-16 23:35:21.192586", "stderr": "", "stderr_lines": [], "stdout": "1.60", "stdout_lines": ["1.60"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:11 up 21 days, 10:26, 1 user, load average: 0.18, 0.15, 0.14\nDisk Usage: 23%\nMemory Usage: 81.5%\nCPU Load: 0.16\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:11 up 2 days, 13:07, 1 user, load average: 0.46, 0.35, 0.29\nDisk Usage: 22%\nMemory Usage: 22.2%\nCPU Load: 0.46\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:11 up 21 days, 10:46, 1 user, load average: 0.89, 0.86, 0.85\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.90\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:11 up 21 days, 11:59, 1 user, load average: 0.79, 0.68, 0.66\nDisk Usage: 14%\nMemory Usage: 60.0%\nCPU Load: 0.91\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:11 up 21 days, 12:45, 1 user, load average: 0.15, 0.07, 0.01\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:13 up 14 days, 13:01, 1 user, load average: 0.14, 0.10, 0.09\nDisk Usage: 21%\nMemory Usage: 20.7%\nCPU Load: 0.13\nCPU Temp: 33.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:12 up 193 days, 15:08, 1 user, load average: 0.15, 0.22, 0.18\nDisk Usage: 6%\nMemory Usage: 12.6%\nCPU Load: 0.65\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:12 up 193 days, 15:08, 1 user, load average: 0.14, 0.15, 0.11\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.27\nCPU Temp: 29.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:34:46 up 10 days, 11:24, 0 user, load average: 0.14, 0.20, 0.18\nDisk Usage: 48%\nMemory Usage: 70.3%\nCPU Load: 0.19\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:34:40 up 17 days, 7:36, 0 user, load average: 0.16, 0.06, 0.01\nDisk Usage: 24%\nMemory Usage: 72.0%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:12 up 2 days, 13:06, 1 user, load average: 0.10, 0.07, 0.01\nDisk Usage: 1%\nMemory Usage: 34.9%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:34:43 up 20 days, 2:29, 0 user, load average: 0.38, 0.41, 0.43\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.56\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:34:49 up 16 days, 12:50, 0 user, load average: 0.34, 0.37, 0.45\nDisk Usage: 75%\nMemory Usage: 59.6%\nCPU Load: 0.51\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:35PM up 21 days, 10:25, 1 user, load averages: 0.13, 0.20, 0.23\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:13 up 2 days, 13:06, 1 user, load average: 0.04, 0.07, 0.02\nDisk Usage: 79%\nMemory Usage: 13.8%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:35:14 up 1 day, 1:22, 1 user, load average: 1.57, 1.22, 1.03\nDisk Usage: 1%\nMemory Usage: 21.0%\nCPU Load: 1.60\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T04:35:22.168569+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `a372717f6a24418ca074a134872f223f` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T04:40:00.003016+00:00 |
| **Fin** | 2025-12-17T04:40:21.994145+00:00 |
| **Durée** | 22.0s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003142", "end": "2025-12-16 23:40:11.338985", "msg": "", "rc": 0, "start": "2025-12-16 23:40:11.335843", "stderr": "", "stderr_lines": [], "stdout": " 23:40:11 up 21 days, 10:31, 1 user, load average: 0.12, 0.14, 0.13", "stdout_lines": [" 23:40:11 up 21 days, 10:31, 1 user, load average: 0.12, 0.14, 0.13"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003913", "end": "2025-12-16 23:40:11.355047", "msg": "", "rc": 0, "start": "2025-12-16 23:40:11.351134", "stderr": "", "stderr_lines": [], "stdout": " 23:40:11 up 21 days, 12:50, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 23:40:11 up 21 days, 12:50, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003319", "end": "2025-12-16 23:40:11.358307", "msg": "", "rc": 0, "start": "2025-12-16 23:40:11.354988", "stderr": "", "stderr_lines": [], "stdout": " 23:40:11 up 21 days, 10:51, 1 user, load average: 0.75, 0.86, 0.85", "stdout_lines": [" 23:40:11 up 21 days, 10:51, 1 user, load average: 0.75, 0.86, 0.85"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003850", "end": "2025-12-16 23:40:11.372176", "msg": "", "rc": 0, "start": "2025-12-16 23:40:11.368326", "stderr": "", "stderr_lines": [], "stdout": " 23:40:11 up 21 days, 12:04, 1 user, load average: 1.13, 0.83, 0.73", "stdout_lines": [" 23:40:11 up 21 days, 12:04, 1 user, load average: 1.13, 0.83, 0.73"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002851", "end": "2025-12-16 23:40:11.384297", "msg": "", "rc": 0, "start": "2025-12-16 23:40:11.381446", "stderr": "", "stderr_lines": [], "stdout": " 23:40:11 up 2 days, 13:12, 1 user, load average: 0.42, 0.36, 0.29", "stdout_lines": [" 23:40:11 up 2 days, 13:12, 1 user, load average: 0.42, 0.36, 0.29"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002978", "end": "2025-12-16 23:39:46.006921", "msg": "", "rc": 0, "start": "2025-12-16 23:39:46.003943", "stderr": "", "stderr_lines": [], "stdout": " 23:39:46 up 10 days, 11:29, 0 user, load average: 0.05, 0.12, 0.15", "stdout_lines": [" 23:39:46 up 10 days, 11:29, 0 user, load average: 0.05, 0.12, 0.15"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003179", "end": "2025-12-16 23:39:39.750833", "msg": "", "rc": 0, "start": "2025-12-16 23:39:39.747654", "stderr": "", "stderr_lines": [], "stdout": " 23:39:39 up 17 days, 7:41, 0 user, load average: 0.10, 0.05, 0.01", "stdout_lines": [" 23:39:39 up 17 days, 7:41, 0 user, load average: 0.10, 0.05, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008575", "end": "2025-12-16 23:40:12.027677", "msg": "", "rc": 0, "start": "2025-12-16 23:40:12.019102", "stderr": "", "stderr_lines": [], "stdout": " 23:40:12 up 193 days, 15:13, 1 user, load average: 0.21, 0.19, 0.13", "stdout_lines": [" 23:40:12 up 193 days, 15:13, 1 user, load average: 0.21, 0.19, 0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009178", "end": "2025-12-16 23:40:12.062827", "msg": "", "rc": 0, "start": "2025-12-16 23:40:12.053649", "stderr": "", "stderr_lines": [], "stdout": " 23:40:12 up 193 days, 15:13, 1 user, load average: 0.18, 0.25, 0.21", "stdout_lines": [" 23:40:12 up 193 days, 15:13, 1 user, load average: 0.18, 0.25, 0.21"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004741", "end": "2025-12-16 23:40:12.328062", "msg": "", "rc": 0, "start": "2025-12-16 23:40:12.323321", "stderr": "", "stderr_lines": [], "stdout": " 23:40:12 up 2 days, 13:11, 1 user, load average: 0.11, 0.07, 0.02", "stdout_lines": [" 23:40:12 up 2 days, 13:11, 1 user, load average: 0.11, 0.07, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003247", "end": "2025-12-16 23:39:42.926945", "msg": "", "rc": 0, "start": "2025-12-16 23:39:42.923698", "stderr": "", "stderr_lines": [], "stdout": " 23:39:42 up 20 days, 2:34, 0 user, load average: 0.74, 0.58, 0.49", "stdout_lines": [" 23:39:42 up 20 days, 2:34, 0 user, load average: 0.74, 0.58, 0.49"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004304", "end": "2025-12-16 20:40:12.536962", "msg": "", "rc": 0, "start": "2025-12-16 20:40:12.532658", "stderr": "", "stderr_lines": [], "stdout": " 8:40PM up 21 days, 10:29, 1 user, load averages: 0.40, 0.26, 0.24", "stdout_lines": [" 8:40PM up 21 days, 10:29, 1 user, load averages: 0.40, 0.26, 0.24"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003011", "end": "2025-12-16 23:39:49.316745", "msg": "", "rc": 0, "start": "2025-12-16 23:39:49.313734", "stderr": "", "stderr_lines": [], "stdout": " 23:39:49 up 16 days, 12:55, 0 user, load average: 0.46, 0.50, 0.48", "stdout_lines": [" 23:39:49 up 16 days, 12:55, 0 user, load average: 0.46, 0.50, 0.48"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003711", "end": "2025-12-16 23:40:12.759581", "msg": "", "rc": 0, "start": "2025-12-16 23:40:12.755870", "stderr": "", "stderr_lines": [], "stdout": " 23:40:12 up 2 days, 13:11, 1 user, load average: 0.06, 0.05, 0.01", "stdout_lines": [" 23:40:12 up 2 days, 13:11, 1 user, load average: 0.06, 0.05, 0.01"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009846", "end": "2025-12-16 23:40:13.036675", "msg": "", "rc": 0, "start": "2025-12-16 23:40:13.026829", "stderr": "", "stderr_lines": [], "stdout": " 23:40:13 up 1 day, 1:27, 1 user, load average: 1.12, 1.14, 1.04", "stdout_lines": [" 23:40:13 up 1 day, 1:27, 1 user, load average: 1.12, 1.14, 1.04"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019387", "end": "2025-12-16 23:40:12.724409", "msg": "", "rc": 0, "start": "2025-12-16 23:40:12.705022", "stderr": "", "stderr_lines": [], "stdout": " 23:40:12 up 14 days, 13:06, 1 user, load average: 0.14, 0.09, 0.09", "stdout_lines": [" 23:40:12 up 14 days, 13:06, 1 user, load average: 0.14, 0.09, 0.09"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004275", "end": "2025-12-16 23:40:13.252286", "msg": "", "rc": 0, "start": "2025-12-16 23:40:13.248011", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004063", "end": "2025-12-16 23:40:13.279854", "msg": "", "rc": 0, "start": "2025-12-16 23:40:13.275791", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005033", "end": "2025-12-16 23:40:13.281798", "msg": "", "rc": 0, "start": "2025-12-16 23:40:13.276765", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004982", "end": "2025-12-16 23:40:13.304399", "msg": "", "rc": 0, "start": "2025-12-16 23:40:13.299417", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005653", "end": "2025-12-16 23:40:13.313734", "msg": "", "rc": 0, "start": "2025-12-16 23:40:13.308081", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004753", "end": "2025-12-16 23:39:47.940721", "msg": "", "rc": 0, "start": "2025-12-16 23:39:47.935968", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005261", "end": "2025-12-16 23:39:41.680143", "msg": "", "rc": 0, "start": "2025-12-16 23:39:41.674882", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010591", "end": "2025-12-16 23:40:14.013763", "msg": "", "rc": 0, "start": "2025-12-16 23:40:14.003172", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011564", "end": "2025-12-16 23:40:14.036329", "msg": "", "rc": 0, "start": "2025-12-16 23:40:14.024765", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006389", "end": "2025-12-16 23:40:14.250579", "msg": "", "rc": 0, "start": "2025-12-16 23:40:14.244190", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005444", "end": "2025-12-16 23:39:44.848479", "msg": "", "rc": 0, "start": "2025-12-16 23:39:44.843035", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005229", "end": "2025-12-16 20:40:14.509551", "msg": "", "rc": 0, "start": "2025-12-16 20:40:14.504322", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005127", "end": "2025-12-16 23:39:51.317206", "msg": "", "rc": 0, "start": "2025-12-16 23:39:51.312079", "stderr": "", "stderr_lines": [], "stdout": "75%", "stdout_lines": ["75%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005341", "end": "2025-12-16 23:40:14.677887", "msg": "", "rc": 0, "start": "2025-12-16 23:40:14.672546", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.018828", "end": "2025-12-16 23:40:14.997961", "msg": "", "rc": 0, "start": "2025-12-16 23:40:14.979133", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025693", "end": "2025-12-16 23:40:14.650364", "msg": "", "rc": 0, "start": "2025-12-16 23:40:14.624671", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004403", "end": "2025-12-16 23:40:15.176531", "msg": "", "rc": 0, "start": "2025-12-16 23:40:15.172128", "stderr": "", "stderr_lines": [], "stdout": "81.5%", "stdout_lines": ["81.5%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004215", "end": "2025-12-16 23:40:15.205437", "msg": "", "rc": 0, "start": "2025-12-16 23:40:15.201222", "stderr": "", "stderr_lines": [], "stdout": "22.1%", "stdout_lines": ["22.1%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004750", "end": "2025-12-16 23:40:15.213354", "msg": "", "rc": 0, "start": "2025-12-16 23:40:15.208604", "stderr": "", "stderr_lines": [], "stdout": "49.1%", "stdout_lines": ["49.1%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004817", "end": "2025-12-16 23:40:15.233242", "msg": "", "rc": 0, "start": "2025-12-16 23:40:15.228425", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005513", "end": "2025-12-16 23:40:15.242964", "msg": "", "rc": 0, "start": "2025-12-16 23:40:15.237451", "stderr": "", "stderr_lines": [], "stdout": "59.9%", "stdout_lines": ["59.9%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003522", "end": "2025-12-16 23:39:49.852227", "msg": "", "rc": 0, "start": "2025-12-16 23:39:49.848705", "stderr": "", "stderr_lines": [], "stdout": "70.7%", "stdout_lines": ["70.7%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004684", "end": "2025-12-16 23:39:43.606622", "msg": "", "rc": 0, "start": "2025-12-16 23:39:43.601938", "stderr": "", "stderr_lines": [], "stdout": "71.9%", "stdout_lines": ["71.9%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011005", "end": "2025-12-16 23:40:15.882043", "msg": "", "rc": 0, "start": "2025-12-16 23:40:15.871038", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011638", "end": "2025-12-16 23:40:15.927829", "msg": "", "rc": 0, "start": "2025-12-16 23:40:15.916191", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.1%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006558", "end": "2025-12-16 23:40:16.181395", "msg": "", "rc": 0, "start": "2025-12-16 23:40:16.174837", "stderr": "", "stderr_lines": [], "stdout": "34.6%", "stdout_lines": ["34.6%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004180", "end": "2025-12-16 23:39:46.786431", "msg": "", "rc": 0, "start": "2025-12-16 23:39:46.782251", "stderr": "", "stderr_lines": [], "stdout": "27.4%", "stdout_lines": ["27.4%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003753", "end": "2025-12-16 23:39:53.152921", "msg": "", "rc": 0, "start": "2025-12-16 23:39:53.149168", "stderr": "", "stderr_lines": [], "stdout": "58.9%", "stdout_lines": ["58.9%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005185", "end": "2025-12-16 20:40:16.399697", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 20:40:16.394512", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005367", "end": "2025-12-16 23:40:16.637730", "msg": "", "rc": 0, "start": "2025-12-16 23:40:16.632363", "stderr": "", "stderr_lines": [], "stdout": "13.7%", "stdout_lines": ["13.7%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008850", "end": "2025-12-16 23:40:17.040514", "msg": "", "rc": 0, "start": "2025-12-16 23:40:17.031664", "stderr": "", "stderr_lines": [], "stdout": "20.9%", "stdout_lines": ["20.9%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026007", "end": "2025-12-16 23:40:16.586946", "msg": "", "rc": 0, "start": "2025-12-16 23:40:16.560939", "stderr": "", "stderr_lines": [], "stdout": "20.3%", "stdout_lines": ["20.3%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005771", "end": "2025-12-16 23:40:17.109010", "msg": "", "rc": 0, "start": "2025-12-16 23:40:17.103239", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005065", "end": "2025-12-16 23:40:17.133304", "msg": "", "rc": 0, "start": "2025-12-16 23:40:17.128239", "stderr": "", "stderr_lines": [], "stdout": "45.0°C", "stdout_lines": ["45.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005616", "end": "2025-12-16 23:40:17.145500", "msg": "", "rc": 0, "start": "2025-12-16 23:40:17.139884", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002732", "end": "2025-12-16 23:40:17.169624", "msg": "", "rc": 0, "start": "2025-12-16 23:40:17.166892", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006381", "end": "2025-12-16 23:40:17.185931", "msg": "", "rc": 0, "start": "2025-12-16 23:40:17.179550", "stderr": "", "stderr_lines": [], "stdout": "51.5°C", "stdout_lines": ["51.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002634", "end": "2025-12-16 23:39:51.812927", "msg": "", "rc": 0, "start": "2025-12-16 23:39:51.810293", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003119", "end": "2025-12-16 23:39:45.551921", "msg": "", "rc": 0, "start": "2025-12-16 23:39:45.548802", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011844", "end": "2025-12-16 23:40:17.821240", "msg": "", "rc": 0, "start": "2025-12-16 23:40:17.809396", "stderr": "", "stderr_lines": [], "stdout": "29.2°C", "stdout_lines": ["29.2°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012850", "end": "2025-12-16 23:40:17.843573", "msg": "", "rc": 0, "start": "2025-12-16 23:40:17.830723", "stderr": "", "stderr_lines": [], "stdout": "34.1°C", "stdout_lines": ["34.1°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003281", "end": "2025-12-16 23:40:18.133738", "msg": "", "rc": 0, "start": "2025-12-16 23:40:18.130457", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003146", "end": "2025-12-16 23:39:48.731043", "msg": "", "rc": 0, "start": "2025-12-16 23:39:48.727897", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003908", "end": "2025-12-16 20:40:18.317677", "msg": "", "rc": 0, "start": "2025-12-16 20:40:18.313769", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002833", "end": "2025-12-16 23:39:55.116220", "msg": "", "rc": 0, "start": "2025-12-16 23:39:55.113387", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003868", "end": "2025-12-16 23:40:18.569786", "msg": "", "rc": 0, "start": "2025-12-16 23:40:18.565918", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028419", "end": "2025-12-16 23:40:18.509150", "msg": "", "rc": 0, "start": "2025-12-16 23:40:18.480731", "stderr": "", "stderr_lines": [], "stdout": "34.7°C", "stdout_lines": ["34.7°C"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004145", "end": "2025-12-16 23:40:19.078850", "msg": "", "rc": 0, "start": "2025-12-16 23:40:19.074705", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004552", "end": "2025-12-16 23:40:19.038738", "msg": "", "rc": 0, "start": "2025-12-16 23:40:19.034186", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004343", "end": "2025-12-16 23:40:19.054350", "msg": "", "rc": 0, "start": "2025-12-16 23:40:19.050007", "stderr": "", "stderr_lines": [], "stdout": "0.47", "stdout_lines": ["0.47"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005131", "end": "2025-12-16 23:40:19.079498", "msg": "", "rc": 0, "start": "2025-12-16 23:40:19.074367", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004735", "end": "2025-12-16 23:40:19.085776", "msg": "", "rc": 0, "start": "2025-12-16 23:40:19.081041", "stderr": "", "stderr_lines": [], "stdout": "0.77", "stdout_lines": ["0.77"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006891", "end": "2025-12-16 23:40:19.105456", "msg": "", "rc": 0, "start": "2025-12-16 23:40:19.098565", "stderr": "", "stderr_lines": [], "stdout": "1.19", "stdout_lines": ["1.19"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004317", "end": "2025-12-16 23:39:53.711103", "msg": "", "rc": 0, "start": "2025-12-16 23:39:53.706786", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005115", "end": "2025-12-16 23:39:47.496590", "msg": "", "rc": 0, "start": "2025-12-16 23:39:47.491475", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010223", "end": "2025-12-16 23:40:19.850107", "msg": "", "rc": 0, "start": "2025-12-16 23:40:19.839884", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011311", "end": "2025-12-16 23:40:19.887275", "msg": "", "rc": 0, "start": "2025-12-16 23:40:19.875964", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005534", "end": "2025-12-16 23:40:20.021546", "msg": "", "rc": 0, "start": "2025-12-16 23:40:20.016012", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005006", "end": "2025-12-16 23:39:50.699677", "msg": "", "rc": 0, "start": "2025-12-16 23:39:50.694671", "stderr": "", "stderr_lines": [], "stdout": "0.63", "stdout_lines": ["0.63"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006169", "end": "2025-12-16 20:40:20.351237", "msg": "", "rc": 0, "start": "2025-12-16 20:40:20.345068", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004122", "end": "2025-12-16 23:39:57.131569", "msg": "", "rc": 0, "start": "2025-12-16 23:39:57.127447", "stderr": "", "stderr_lines": [], "stdout": "0.39", "stdout_lines": ["0.39"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005425", "end": "2025-12-16 23:40:20.450492", "msg": "", "rc": 0, "start": "2025-12-16 23:40:20.445067", "stderr": "", "stderr_lines": [], "stdout": "0.62", "stdout_lines": ["0.62"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024480", "end": "2025-12-16 23:40:20.446707", "msg": "", "rc": 0, "start": "2025-12-16 23:40:20.422227", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008462", "end": "2025-12-16 23:40:21.105318", "msg": "", "rc": 0, "start": "2025-12-16 23:40:21.096856", "stderr": "", "stderr_lines": [], "stdout": "1.11", "stdout_lines": ["1.11"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:40:11 up 2 days, 13:12, 1 user, load average: 0.42, 0.36, 0.29\nDisk Usage: 22%\nMemory Usage: 22.1%\nCPU Load: 0.47\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:40:11 up 21 days, 10:31, 1 user, load average: 0.12, 0.14, 0.13\nDisk Usage: 23%\nMemory Usage: 81.5%\nCPU Load: 0.18\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:40:11 up 21 days, 10:51, 1 user, load average: 0.75, 0.86, 0.85\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 0.77\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:40:11 up 21 days, 12:04, 1 user, load average: 1.13, 0.83, 0.73\nDisk Usage: 14%\nMemory Usage: 59.9%\nCPU Load: 1.19\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:40:11 up 21 days, 12:50, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:40:12 up 14 days, 13:06, 1 user, load average: 0.14, 0.09, 0.09\nDisk Usage: 21%\nMemory Usage: 20.3%\nCPU Load: 0.27\nCPU Temp: 34.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:40:12 up 193 days, 15:13, 1 user, load average: 0.18, 0.25, 0.21\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.23\nCPU Temp: 34.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:40:12 up 193 days, 15:13, 1 user, load average: 0.21, 0.19, 0.13\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.17\nCPU Temp: 29.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:39:46 up 10 days, 11:29, 0 user, load average: 0.05, 0.12, 0.15\nDisk Usage: 48%\nMemory Usage: 70.7%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:39:39 up 17 days, 7:41, 0 user, load average: 0.10, 0.05, 0.01\nDisk Usage: 24%\nMemory Usage: 71.9%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:40:12 up 2 days, 13:11, 1 user, load average: 0.11, 0.07, 0.02\nDisk Usage: 1%\nMemory Usage: 34.6%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:39:42 up 20 days, 2:34, 0 user, load average: 0.74, 0.58, 0.49\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.63\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:39:49 up 16 days, 12:55, 0 user, load average: 0.46, 0.50, 0.48\nDisk Usage: 75%\nMemory Usage: 58.9%\nCPU Load: 0.39\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:40PM up 21 days, 10:29, 1 user, load averages: 0.40, 0.26, 0.24\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:40:12 up 2 days, 13:11, 1 user, load average: 0.06, 0.05, 0.01\nDisk Usage: 79%\nMemory Usage: 13.7%\nCPU Load: 0.62\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:40:13 up 1 day, 1:27, 1 user, load average: 1.12, 1.14, 1.04\nDisk Usage: 1%\nMemory Usage: 20.9%\nCPU Load: 1.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T04:40:22.046458+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `67c598731aae42c3a417e38686a8684e` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T04:45:00.004699+00:00 |
| **Fin** | 2025-12-17T04:45:23.220062+00:00 |
| **Durée** | 23.2s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003038", "end": "2025-12-16 23:45:12.157838", "msg": "", "rc": 0, "start": "2025-12-16 23:45:12.154800", "stderr": "", "stderr_lines": [], "stdout": " 23:45:12 up 21 days, 10:36, 1 user, load average: 0.09, 0.14, 0.13", "stdout_lines": [" 23:45:12 up 21 days, 10:36, 1 user, load average: 0.09, 0.14, 0.13"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003284", "end": "2025-12-16 23:45:12.171355", "msg": "", "rc": 0, "start": "2025-12-16 23:45:12.168071", "stderr": "", "stderr_lines": [], "stdout": " 23:45:12 up 21 days, 10:56, 1 user, load average: 1.07, 0.91, 0.86", "stdout_lines": [" 23:45:12 up 21 days, 10:56, 1 user, load average: 1.07, 0.91, 0.86"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003922", "end": "2025-12-16 23:45:12.181755", "msg": "", "rc": 0, "start": "2025-12-16 23:45:12.177833", "stderr": "", "stderr_lines": [], "stdout": " 23:45:12 up 21 days, 12:55, 1 user, load average: 0.01, 0.02, 0.00", "stdout_lines": [" 23:45:12 up 21 days, 12:55, 1 user, load average: 0.01, 0.02, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003950", "end": "2025-12-16 23:45:12.194817", "msg": "", "rc": 0, "start": "2025-12-16 23:45:12.190867", "stderr": "", "stderr_lines": [], "stdout": " 23:45:12 up 21 days, 12:09, 1 user, load average: 0.51, 0.67, 0.69", "stdout_lines": [" 23:45:12 up 21 days, 12:09, 1 user, load average: 0.51, 0.67, 0.69"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002840", "end": "2025-12-16 23:45:12.202010", "msg": "", "rc": 0, "start": "2025-12-16 23:45:12.199170", "stderr": "", "stderr_lines": [], "stdout": " 23:45:12 up 2 days, 13:17, 1 user, load average: 0.36, 0.31, 0.28", "stdout_lines": [" 23:45:12 up 2 days, 13:17, 1 user, load average: 0.36, 0.31, 0.28"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003121", "end": "2025-12-16 23:44:46.811815", "msg": "", "rc": 0, "start": "2025-12-16 23:44:46.808694", "stderr": "", "stderr_lines": [], "stdout": " 23:44:46 up 10 days, 11:34, 0 user, load average: 0.18, 0.13, 0.14", "stdout_lines": [" 23:44:46 up 10 days, 11:34, 0 user, load average: 0.18, 0.13, 0.14"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003527", "end": "2025-12-16 23:44:40.551122", "msg": "", "rc": 0, "start": "2025-12-16 23:44:40.547595", "stderr": "", "stderr_lines": [], "stdout": " 23:44:40 up 17 days, 7:46, 0 user, load average: 0.02, 0.04, 0.00", "stdout_lines": [" 23:44:40 up 17 days, 7:46, 0 user, load average: 0.02, 0.04, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008385", "end": "2025-12-16 23:45:12.839548", "msg": "", "rc": 0, "start": "2025-12-16 23:45:12.831163", "stderr": "", "stderr_lines": [], "stdout": " 23:45:12 up 193 days, 15:18, 1 user, load average: 0.27, 0.17, 0.13", "stdout_lines": [" 23:45:12 up 193 days, 15:18, 1 user, load average: 0.27, 0.17, 0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.010433", "end": "2025-12-16 23:45:12.889452", "msg": "", "rc": 0, "start": "2025-12-16 23:45:12.879019", "stderr": "", "stderr_lines": [], "stdout": " 23:45:12 up 193 days, 15:18, 1 user, load average: 0.21, 0.30, 0.25", "stdout_lines": [" 23:45:12 up 193 days, 15:18, 1 user, load average: 0.21, 0.30, 0.25"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004786", "end": "2025-12-16 23:45:13.138524", "msg": "", "rc": 0, "start": "2025-12-16 23:45:13.133738", "stderr": "", "stderr_lines": [], "stdout": " 23:45:13 up 2 days, 13:16, 1 user, load average: 0.09, 0.08, 0.02", "stdout_lines": [" 23:45:13 up 2 days, 13:16, 1 user, load average: 0.09, 0.08, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003091", "end": "2025-12-16 23:44:43.727109", "msg": "", "rc": 0, "start": "2025-12-16 23:44:43.724018", "stderr": "", "stderr_lines": [], "stdout": " 23:44:43 up 20 days, 2:39, 0 user, load average: 0.52, 0.50, 0.47", "stdout_lines": [" 23:44:43 up 20 days, 2:39, 0 user, load average: 0.52, 0.50, 0.47"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004223", "end": "2025-12-16 20:45:13.345702", "msg": "", "rc": 0, "start": "2025-12-16 20:45:13.341479", "stderr": "", "stderr_lines": [], "stdout": " 8:45PM up 21 days, 10:35, 1 user, load averages: 0.18, 0.23, 0.23", "stdout_lines": [" 8:45PM up 21 days, 10:35, 1 user, load averages: 0.18, 0.23, 0.23"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002828", "end": "2025-12-16 23:44:50.123817", "msg": "", "rc": 0, "start": "2025-12-16 23:44:50.120989", "stderr": "", "stderr_lines": [], "stdout": " 23:44:50 up 16 days, 13:00, 0 user, load average: 0.59, 0.61, 0.53", "stdout_lines": [" 23:44:50 up 16 days, 13:00, 0 user, load average: 0.59, 0.61, 0.53"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003673", "end": "2025-12-16 23:45:13.562744", "msg": "", "rc": 0, "start": "2025-12-16 23:45:13.559071", "stderr": "", "stderr_lines": [], "stdout": " 23:45:13 up 2 days, 13:16, 1 user, load average: 0.00, 0.05, 0.01", "stdout_lines": [" 23:45:13 up 2 days, 13:16, 1 user, load average: 0.00, 0.05, 0.01"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008123", "end": "2025-12-16 23:45:14.278821", "msg": "", "rc": 0, "start": "2025-12-16 23:45:14.270698", "stderr": "", "stderr_lines": [], "stdout": " 23:45:14 up 1 day, 1:32, 1 user, load average: 1.12, 1.08, 1.03", "stdout_lines": [" 23:45:14 up 1 day, 1:32, 1 user, load average: 1.12, 1.08, 1.03"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019625", "end": "2025-12-16 23:45:13.556871", "msg": "", "rc": 0, "start": "2025-12-16 23:45:13.537246", "stderr": "", "stderr_lines": [], "stdout": " 23:45:13 up 14 days, 13:11, 1 user, load average: 0.29, 0.16, 0.11", "stdout_lines": [" 23:45:13 up 14 days, 13:11, 1 user, load average: 0.29, 0.16, 0.11"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004221", "end": "2025-12-16 23:45:14.076652", "msg": "", "rc": 0, "start": "2025-12-16 23:45:14.072431", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004798", "end": "2025-12-16 23:45:14.092541", "msg": "", "rc": 0, "start": "2025-12-16 23:45:14.087743", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004098", "end": "2025-12-16 23:45:14.105410", "msg": "", "rc": 0, "start": "2025-12-16 23:45:14.101312", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004412", "end": "2025-12-16 23:45:14.131364", "msg": "", "rc": 0, "start": "2025-12-16 23:45:14.126952", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005242", "end": "2025-12-16 23:45:14.143515", "msg": "", "rc": 0, "start": "2025-12-16 23:45:14.138273", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004908", "end": "2025-12-16 23:44:48.762118", "msg": "", "rc": 0, "start": "2025-12-16 23:44:48.757210", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005399", "end": "2025-12-16 23:44:42.507521", "msg": "", "rc": 0, "start": "2025-12-16 23:44:42.502122", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010615", "end": "2025-12-16 23:45:14.840722", "msg": "", "rc": 0, "start": "2025-12-16 23:45:14.830107", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011391", "end": "2025-12-16 23:45:14.864412", "msg": "", "rc": 0, "start": "2025-12-16 23:45:14.853021", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005913", "end": "2025-12-16 23:45:15.103543", "msg": "", "rc": 0, "start": "2025-12-16 23:45:15.097630", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005221", "end": "2025-12-16 23:44:45.709161", "msg": "", "rc": 0, "start": "2025-12-16 23:44:45.703940", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005697", "end": "2025-12-16 20:45:15.374247", "msg": "", "rc": 0, "start": "2025-12-16 20:45:15.368550", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005839", "end": "2025-12-16 23:44:52.172625", "msg": "", "rc": 0, "start": "2025-12-16 23:44:52.166786", "stderr": "", "stderr_lines": [], "stdout": "75%", "stdout_lines": ["75%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005493", "end": "2025-12-16 23:45:15.579492", "msg": "", "rc": 0, "start": "2025-12-16 23:45:15.573999", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025881", "end": "2025-12-16 23:45:15.488364", "msg": "", "rc": 0, "start": "2025-12-16 23:45:15.462483", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.017475", "end": "2025-12-16 23:45:16.383154", "msg": "", "rc": 0, "start": "2025-12-16 23:45:16.365679", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004432", "end": "2025-12-16 23:45:16.032455", "msg": "", "rc": 0, "start": "2025-12-16 23:45:16.028023", "stderr": "", "stderr_lines": [], "stdout": "81.4%", "stdout_lines": ["81.4%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004784", "end": "2025-12-16 23:45:16.055493", "msg": "", "rc": 0, "start": "2025-12-16 23:45:16.050709", "stderr": "", "stderr_lines": [], "stdout": "49.0%", "stdout_lines": ["49.0%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004279", "end": "2025-12-16 23:45:16.060610", "msg": "", "rc": 0, "start": "2025-12-16 23:45:16.056331", "stderr": "", "stderr_lines": [], "stdout": "22.1%", "stdout_lines": ["22.1%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004801", "end": "2025-12-16 23:45:16.091885", "msg": "", "rc": 0, "start": "2025-12-16 23:45:16.087084", "stderr": "", "stderr_lines": [], "stdout": "8.9%", "stdout_lines": ["8.9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005434", "end": "2025-12-16 23:45:16.103787", "msg": "", "rc": 0, "start": "2025-12-16 23:45:16.098353", "stderr": "", "stderr_lines": [], "stdout": "59.9%", "stdout_lines": ["59.9%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003992", "end": "2025-12-16 23:44:50.700582", "msg": "", "rc": 0, "start": "2025-12-16 23:44:50.696590", "stderr": "", "stderr_lines": [], "stdout": "70.8%", "stdout_lines": ["70.8%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004346", "end": "2025-12-16 23:44:44.453964", "msg": "", "rc": 0, "start": "2025-12-16 23:44:44.449618", "stderr": "", "stderr_lines": [], "stdout": "71.9%", "stdout_lines": ["71.9%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012368", "end": "2025-12-16 23:45:16.733764", "msg": "", "rc": 0, "start": "2025-12-16 23:45:16.721396", "stderr": "", "stderr_lines": [], "stdout": "6.8%", "stdout_lines": ["6.8%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012082", "end": "2025-12-16 23:45:16.751096", "msg": "", "rc": 0, "start": "2025-12-16 23:45:16.739014", "stderr": "", "stderr_lines": [], "stdout": "13.0%", "stdout_lines": ["13.0%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006109", "end": "2025-12-16 23:45:17.024317", "msg": "", "rc": 0, "start": "2025-12-16 23:45:17.018208", "stderr": "", "stderr_lines": [], "stdout": "34.6%", "stdout_lines": ["34.6%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004200", "end": "2025-12-16 23:44:47.632948", "msg": "", "rc": 0, "start": "2025-12-16 23:44:47.628748", "stderr": "", "stderr_lines": [], "stdout": "27.2%", "stdout_lines": ["27.2%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005074", "end": "2025-12-16 20:45:17.201185", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 20:45:17.196111", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003679", "end": "2025-12-16 23:44:53.997746", "msg": "", "rc": 0, "start": "2025-12-16 23:44:53.994067", "stderr": "", "stderr_lines": [], "stdout": "59.3%", "stdout_lines": ["59.3%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005403", "end": "2025-12-16 23:45:17.460496", "msg": "", "rc": 0, "start": "2025-12-16 23:45:17.455093", "stderr": "", "stderr_lines": [], "stdout": "13.7%", "stdout_lines": ["13.7%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009514", "end": "2025-12-16 23:45:18.341430", "msg": "", "rc": 0, "start": "2025-12-16 23:45:18.331916", "stderr": "", "stderr_lines": [], "stdout": "20.8%", "stdout_lines": ["20.8%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026528", "end": "2025-12-16 23:45:17.416051", "msg": "", "rc": 0, "start": "2025-12-16 23:45:17.389523", "stderr": "", "stderr_lines": [], "stdout": "19.6%", "stdout_lines": ["19.6%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005356", "end": "2025-12-16 23:45:17.942019", "msg": "", "rc": 0, "start": "2025-12-16 23:45:17.936663", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005019", "end": "2025-12-16 23:45:17.950670", "msg": "", "rc": 0, "start": "2025-12-16 23:45:17.945651", "stderr": "", "stderr_lines": [], "stdout": "45.0°C", "stdout_lines": ["45.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006166", "end": "2025-12-16 23:45:17.951110", "msg": "", "rc": 0, "start": "2025-12-16 23:45:17.944944", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003102", "end": "2025-12-16 23:45:17.985897", "msg": "", "rc": 0, "start": "2025-12-16 23:45:17.982795", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006825", "end": "2025-12-16 23:45:17.995995", "msg": "", "rc": 0, "start": "2025-12-16 23:45:17.989170", "stderr": "", "stderr_lines": [], "stdout": "51.5°C", "stdout_lines": ["51.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002502", "end": "2025-12-16 23:44:52.590116", "msg": "", "rc": 0, "start": "2025-12-16 23:44:52.587614", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003051", "end": "2025-12-16 23:44:46.357991", "msg": "", "rc": 0, "start": "2025-12-16 23:44:46.354940", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011720", "end": "2025-12-16 23:45:18.630759", "msg": "", "rc": 0, "start": "2025-12-16 23:45:18.619039", "stderr": "", "stderr_lines": [], "stdout": "29.7°C", "stdout_lines": ["29.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012973", "end": "2025-12-16 23:45:18.676338", "msg": "", "rc": 0, "start": "2025-12-16 23:45:18.663365", "stderr": "", "stderr_lines": [], "stdout": "36.0°C", "stdout_lines": ["36.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003359", "end": "2025-12-16 23:45:18.901288", "msg": "", "rc": 0, "start": "2025-12-16 23:45:18.897929", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002982", "end": "2025-12-16 23:44:49.512363", "msg": "", "rc": 0, "start": "2025-12-16 23:44:49.509381", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002545", "end": "2025-12-16 23:44:55.889766", "msg": "", "rc": 0, "start": "2025-12-16 23:44:55.887221", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003864", "end": "2025-12-16 20:45:19.136891", "msg": "", "rc": 0, "start": "2025-12-16 20:45:19.133027", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003034", "end": "2025-12-16 23:45:19.328330", "msg": "", "rc": 0, "start": "2025-12-16 23:45:19.325296", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004749", "end": "2025-12-16 23:45:20.258880", "msg": "", "rc": 0, "start": "2025-12-16 23:45:20.254131", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028844", "end": "2025-12-16 23:45:19.334686", "msg": "", "rc": 0, "start": "2025-12-16 23:45:19.305842", "stderr": "", "stderr_lines": [], "stdout": "34.5°C", "stdout_lines": ["34.5°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004326", "end": "2025-12-16 23:45:19.860507", "msg": "", "rc": 0, "start": "2025-12-16 23:45:19.856181", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004244", "end": "2025-12-16 23:45:19.877845", "msg": "", "rc": 0, "start": "2025-12-16 23:45:19.873601", "stderr": "", "stderr_lines": [], "stdout": "0.39", "stdout_lines": ["0.39"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004631", "end": "2025-12-16 23:45:19.882916", "msg": "", "rc": 0, "start": "2025-12-16 23:45:19.878285", "stderr": "", "stderr_lines": [], "stdout": "0.99", "stdout_lines": ["0.99"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005306", "end": "2025-12-16 23:45:19.912891", "msg": "", "rc": 0, "start": "2025-12-16 23:45:19.907585", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005232", "end": "2025-12-16 23:45:19.924092", "msg": "", "rc": 0, "start": "2025-12-16 23:45:19.918860", "stderr": "", "stderr_lines": [], "stdout": "0.43", "stdout_lines": ["0.43"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004600", "end": "2025-12-16 23:44:54.533702", "msg": "", "rc": 0, "start": "2025-12-16 23:44:54.529102", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005184", "end": "2025-12-16 23:44:48.274282", "msg": "", "rc": 0, "start": "2025-12-16 23:44:48.269098", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010001", "end": "2025-12-16 23:45:20.645876", "msg": "", "rc": 0, "start": "2025-12-16 23:45:20.635875", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011441", "end": "2025-12-16 23:45:20.689762", "msg": "", "rc": 0, "start": "2025-12-16 23:45:20.678321", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005622", "end": "2025-12-16 23:45:20.852625", "msg": "", "rc": 0, "start": "2025-12-16 23:45:20.847003", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005990", "end": "2025-12-16 23:44:51.513486", "msg": "", "rc": 0, "start": "2025-12-16 23:44:51.507496", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005895", "end": "2025-12-16 20:45:21.156503", "msg": "", "rc": 0, "start": "2025-12-16 20:45:21.150608", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004122", "end": "2025-12-16 23:44:57.933452", "msg": "", "rc": 0, "start": "2025-12-16 23:44:57.929330", "stderr": "", "stderr_lines": [], "stdout": "0.58", "stdout_lines": ["0.58"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006384", "end": "2025-12-16 23:45:21.289349", "msg": "", "rc": 0, "start": "2025-12-16 23:45:21.282965", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024059", "end": "2025-12-16 23:45:21.248973", "msg": "", "rc": 0, "start": "2025-12-16 23:45:21.224914", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007225", "end": "2025-12-16 23:45:22.345981", "msg": "", "rc": 0, "start": "2025-12-16 23:45:22.338756", "stderr": "", "stderr_lines": [], "stdout": "1.26", "stdout_lines": ["1.26"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:45:12 up 21 days, 10:36, 1 user, load average: 0.09, 0.14, 0.13\nDisk Usage: 23%\nMemory Usage: 81.4%\nCPU Load: 0.09\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:45:12 up 2 days, 13:17, 1 user, load average: 0.36, 0.31, 0.28\nDisk Usage: 22%\nMemory Usage: 22.1%\nCPU Load: 0.39\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:45:12 up 21 days, 10:56, 1 user, load average: 1.07, 0.91, 0.86\nDisk Usage: 14%\nMemory Usage: 49.0%\nCPU Load: 0.99\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:45:12 up 21 days, 12:09, 1 user, load average: 0.51, 0.67, 0.69\nDisk Usage: 14%\nMemory Usage: 59.9%\nCPU Load: 0.43\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:45:12 up 21 days, 12:55, 1 user, load average: 0.01, 0.02, 0.00\nDisk Usage: 9%\nMemory Usage: 8.9%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:45:13 up 14 days, 13:11, 1 user, load average: 0.29, 0.16, 0.11\nDisk Usage: 21%\nMemory Usage: 19.6%\nCPU Load: 0.35\nCPU Temp: 34.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:45:12 up 193 days, 15:18, 1 user, load average: 0.21, 0.30, 0.25\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.25\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:45:12 up 193 days, 15:18, 1 user, load average: 0.27, 0.17, 0.13\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.31\nCPU Temp: 29.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:44:46 up 10 days, 11:34, 0 user, load average: 0.18, 0.13, 0.14\nDisk Usage: 48%\nMemory Usage: 70.8%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:44:40 up 17 days, 7:46, 0 user, load average: 0.02, 0.04, 0.00\nDisk Usage: 24%\nMemory Usage: 71.9%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:45:13 up 2 days, 13:16, 1 user, load average: 0.09, 0.08, 0.02\nDisk Usage: 1%\nMemory Usage: 34.6%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:44:43 up 20 days, 2:39, 0 user, load average: 0.52, 0.50, 0.47\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.44\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:44:50 up 16 days, 13:00, 0 user, load average: 0.59, 0.61, 0.53\nDisk Usage: 75%\nMemory Usage: 59.3%\nCPU Load: 0.58\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:45PM up 21 days, 10:35, 1 user, load averages: 0.18, 0.23, 0.23\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:45:13 up 2 days, 13:16, 1 user, load average: 0.00, 0.05, 0.01\nDisk Usage: 79%\nMemory Usage: 13.7%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:45:14 up 1 day, 1:32, 1 user, load average: 1.12, 1.08, 1.03\nDisk Usage: 1%\nMemory Usage: 20.8%\nCPU Load: 1.26\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T04:45:23.283415+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `d00115ca33b64c09bc73cceb82177bb2` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T04:50:00.001163+00:00 |
| **Fin** | 2025-12-17T04:50:22.177034+00:00 |
| **Durée** | 22.2s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003086", "end": "2025-12-16 23:50:11.692106", "msg": "", "rc": 0, "start": "2025-12-16 23:50:11.689020", "stderr": "", "stderr_lines": [], "stdout": " 23:50:11 up 21 days, 10:41, 1 user, load average: 0.07, 0.10, 0.10", "stdout_lines": [" 23:50:11 up 21 days, 10:41, 1 user, load average: 0.07, 0.10, 0.10"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003584", "end": "2025-12-16 23:50:11.711514", "msg": "", "rc": 0, "start": "2025-12-16 23:50:11.707930", "stderr": "", "stderr_lines": [], "stdout": " 23:50:11 up 21 days, 13:00, 1 user, load average: 0.29, 0.13, 0.04", "stdout_lines": [" 23:50:11 up 21 days, 13:00, 1 user, load average: 0.29, 0.13, 0.04"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004244", "end": "2025-12-16 23:50:11.728851", "msg": "", "rc": 0, "start": "2025-12-16 23:50:11.724607", "stderr": "", "stderr_lines": [], "stdout": " 23:50:11 up 21 days, 12:14, 1 user, load average: 0.47, 0.62, 0.68", "stdout_lines": [" 23:50:11 up 21 days, 12:14, 1 user, load average: 0.47, 0.62, 0.68"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002995", "end": "2025-12-16 23:50:11.739897", "msg": "", "rc": 0, "start": "2025-12-16 23:50:11.736902", "stderr": "", "stderr_lines": [], "stdout": " 23:50:11 up 2 days, 13:22, 1 user, load average: 0.24, 0.24, 0.26", "stdout_lines": [" 23:50:11 up 2 days, 13:22, 1 user, load average: 0.24, 0.24, 0.26"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003146", "end": "2025-12-16 23:49:46.346815", "msg": "", "rc": 0, "start": "2025-12-16 23:49:46.343669", "stderr": "", "stderr_lines": [], "stdout": " 23:49:46 up 10 days, 11:39, 0 user, load average: 0.21, 0.19, 0.16", "stdout_lines": [" 23:49:46 up 10 days, 11:39, 0 user, load average: 0.21, 0.19, 0.16"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008419", "end": "2025-12-16 23:50:12.380916", "msg": "", "rc": 0, "start": "2025-12-16 23:50:12.372497", "stderr": "", "stderr_lines": [], "stdout": " 23:50:12 up 193 days, 15:23, 1 user, load average: 0.30, 0.20, 0.14", "stdout_lines": [" 23:50:12 up 193 days, 15:23, 1 user, load average: 0.30, 0.20, 0.14"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009213", "end": "2025-12-16 23:50:12.421207", "msg": "", "rc": 0, "start": "2025-12-16 23:50:12.411994", "stderr": "", "stderr_lines": [], "stdout": " 23:50:12 up 193 days, 15:23, 1 user, load average: 0.22, 0.27, 0.25", "stdout_lines": [" 23:50:12 up 193 days, 15:23, 1 user, load average: 0.22, 0.27, 0.25"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004594", "end": "2025-12-16 23:50:12.721279", "msg": "", "rc": 0, "start": "2025-12-16 23:50:11.716685", "stderr": "", "stderr_lines": [], "stdout": " 23:50:11 up 21 days, 11:01, 1 user, load average: 0.72, 0.80, 0.82", "stdout_lines": [" 23:50:11 up 21 days, 11:01, 1 user, load average: 0.72, 0.80, 0.82"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003565", "end": "2025-12-16 23:49:40.527106", "msg": "", "rc": 0, "start": "2025-12-16 23:49:40.523541", "stderr": "", "stderr_lines": [], "stdout": " 23:49:40 up 17 days, 7:51, 0 user, load average: 0.09, 0.06, 0.01", "stdout_lines": [" 23:49:40 up 17 days, 7:51, 0 user, load average: 0.09, 0.06, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004664", "end": "2025-12-16 23:50:12.893706", "msg": "", "rc": 0, "start": "2025-12-16 23:50:12.889042", "stderr": "", "stderr_lines": [], "stdout": " 23:50:12 up 2 days, 13:21, 1 user, load average: 0.08, 0.04, 0.01", "stdout_lines": [" 23:50:12 up 2 days, 13:21, 1 user, load average: 0.08, 0.04, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003283", "end": "2025-12-16 23:49:43.435958", "msg": "", "rc": 0, "start": "2025-12-16 23:49:43.432675", "stderr": "", "stderr_lines": [], "stdout": " 23:49:43 up 20 days, 2:44, 0 user, load average: 0.32, 0.37, 0.42", "stdout_lines": [" 23:49:43 up 20 days, 2:44, 0 user, load average: 0.32, 0.37, 0.42"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004427", "end": "2025-12-16 20:50:13.136587", "msg": "", "rc": 0, "start": "2025-12-16 20:50:13.132160", "stderr": "", "stderr_lines": [], "stdout": " 8:50PM up 21 days, 10:40, 1 user, load averages: 0.34, 0.28, 0.25", "stdout_lines": [" 8:50PM up 21 days, 10:40, 1 user, load averages: 0.34, 0.28, 0.25"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002737", "end": "2025-12-16 23:49:49.933385", "msg": "", "rc": 0, "start": "2025-12-16 23:49:49.930648", "stderr": "", "stderr_lines": [], "stdout": " 23:49:49 up 16 days, 13:05, 0 user, load average: 0.20, 0.36, 0.45", "stdout_lines": [" 23:49:49 up 16 days, 13:05, 0 user, load average: 0.20, 0.36, 0.45"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019283", "end": "2025-12-16 23:50:13.078042", "msg": "", "rc": 0, "start": "2025-12-16 23:50:13.058759", "stderr": "", "stderr_lines": [], "stdout": " 23:50:13 up 14 days, 13:16, 1 user, load average: 0.25, 0.17, 0.12", "stdout_lines": [" 23:50:13 up 14 days, 13:16, 1 user, load average: 0.25, 0.17, 0.12"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008253", "end": "2025-12-16 23:50:14.414241", "msg": "", "rc": 0, "start": "2025-12-16 23:50:14.405988", "stderr": "", "stderr_lines": [], "stdout": " 23:50:14 up 1 day, 1:37, 1 user, load average: 1.34, 1.15, 1.07", "stdout_lines": [" 23:50:14 up 1 day, 1:37, 1 user, load average: 1.34, 1.15, 1.07"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003634", "end": "2025-12-16 23:50:13.323022", "msg": "", "rc": 0, "start": "2025-12-16 23:50:13.319388", "stderr": "", "stderr_lines": [], "stdout": " 23:50:13 up 2 days, 13:21, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 23:50:13 up 2 days, 13:21, 1 user, load average: 0.00, 0.01, 0.00"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004325", "end": "2025-12-16 23:50:13.736702", "msg": "", "rc": 0, "start": "2025-12-16 23:50:13.732377", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004138", "end": "2025-12-16 23:50:13.768744", "msg": "", "rc": 0, "start": "2025-12-16 23:50:13.764606", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004812", "end": "2025-12-16 23:50:13.778373", "msg": "", "rc": 0, "start": "2025-12-16 23:50:13.773561", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004839", "end": "2025-12-16 23:50:13.789149", "msg": "", "rc": 0, "start": "2025-12-16 23:50:13.784310", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005292", "end": "2025-12-16 23:50:13.801205", "msg": "", "rc": 0, "start": "2025-12-16 23:50:13.795913", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005124", "end": "2025-12-16 23:49:48.416944", "msg": "", "rc": 0, "start": "2025-12-16 23:49:48.411820", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005226", "end": "2025-12-16 23:49:42.154270", "msg": "", "rc": 0, "start": "2025-12-16 23:49:42.149044", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010457", "end": "2025-12-16 23:50:14.494610", "msg": "", "rc": 0, "start": "2025-12-16 23:50:14.484153", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011811", "end": "2025-12-16 23:50:14.540007", "msg": "", "rc": 0, "start": "2025-12-16 23:50:14.528196", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005696", "end": "2025-12-16 23:50:14.742723", "msg": "", "rc": 0, "start": "2025-12-16 23:50:14.737027", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005509", "end": "2025-12-16 23:49:45.329917", "msg": "", "rc": 0, "start": "2025-12-16 23:49:45.324408", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005046", "end": "2025-12-16 23:49:51.763615", "msg": "", "rc": 0, "start": "2025-12-16 23:49:51.758569", "stderr": "", "stderr_lines": [], "stdout": "75%", "stdout_lines": ["75%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005401", "end": "2025-12-16 20:50:14.997769", "msg": "", "rc": 0, "start": "2025-12-16 20:50:14.992368", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005247", "end": "2025-12-16 23:50:15.179594", "msg": "", "rc": 0, "start": "2025-12-16 23:50:15.174347", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.016992", "end": "2025-12-16 23:50:15.262025", "msg": "", "rc": 0, "start": "2025-12-16 23:50:15.245033", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025275", "end": "2025-12-16 23:50:15.130005", "msg": "", "rc": 0, "start": "2025-12-16 23:50:15.104730", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004137", "end": "2025-12-16 23:50:15.655674", "msg": "", "rc": 0, "start": "2025-12-16 23:50:15.651537", "stderr": "", "stderr_lines": [], "stdout": "22.1%", "stdout_lines": ["22.1%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004436", "end": "2025-12-16 23:50:15.658472", "msg": "", "rc": 0, "start": "2025-12-16 23:50:15.654036", "stderr": "", "stderr_lines": [], "stdout": "81.3%", "stdout_lines": ["81.3%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004898", "end": "2025-12-16 23:50:15.678496", "msg": "", "rc": 0, "start": "2025-12-16 23:50:15.673598", "stderr": "", "stderr_lines": [], "stdout": "49.0%", "stdout_lines": ["49.0%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004606", "end": "2025-12-16 23:50:15.708321", "msg": "", "rc": 0, "start": "2025-12-16 23:50:15.703715", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005395", "end": "2025-12-16 23:50:15.723237", "msg": "", "rc": 0, "start": "2025-12-16 23:50:15.717842", "stderr": "", "stderr_lines": [], "stdout": "59.9%", "stdout_lines": ["59.9%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003735", "end": "2025-12-16 23:49:50.336756", "msg": "", "rc": 0, "start": "2025-12-16 23:49:50.333021", "stderr": "", "stderr_lines": [], "stdout": "70.7%", "stdout_lines": ["70.7%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004393", "end": "2025-12-16 23:49:44.065718", "msg": "", "rc": 0, "start": "2025-12-16 23:49:44.061325", "stderr": "", "stderr_lines": [], "stdout": "71.4%", "stdout_lines": ["71.4%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010852", "end": "2025-12-16 23:50:16.363032", "msg": "", "rc": 0, "start": "2025-12-16 23:50:16.352180", "stderr": "", "stderr_lines": [], "stdout": "7.0%", "stdout_lines": ["7.0%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011925", "end": "2025-12-16 23:50:16.387489", "msg": "", "rc": 0, "start": "2025-12-16 23:50:16.375564", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.9%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005806", "end": "2025-12-16 23:50:16.678611", "msg": "", "rc": 0, "start": "2025-12-16 23:50:16.672805", "stderr": "", "stderr_lines": [], "stdout": "34.6%", "stdout_lines": ["34.6%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004316", "end": "2025-12-16 23:49:47.255804", "msg": "", "rc": 0, "start": "2025-12-16 23:49:47.251488", "stderr": "", "stderr_lines": [], "stdout": "27.2%", "stdout_lines": ["27.2%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003519", "end": "2025-12-16 23:49:53.641632", "msg": "", "rc": 0, "start": "2025-12-16 23:49:53.638113", "stderr": "", "stderr_lines": [], "stdout": "59.1%", "stdout_lines": ["59.1%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005140", "end": "2025-12-16 20:50:16.864209", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 20:50:16.859069", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005334", "end": "2025-12-16 23:50:17.101734", "msg": "", "rc": 0, "start": "2025-12-16 23:50:17.096400", "stderr": "", "stderr_lines": [], "stdout": "13.6%", "stdout_lines": ["13.6%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009073", "end": "2025-12-16 23:50:17.258769", "msg": "", "rc": 0, "start": "2025-12-16 23:50:17.249696", "stderr": "", "stderr_lines": [], "stdout": "21.0%", "stdout_lines": ["21.0%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025393", "end": "2025-12-16 23:50:17.051808", "msg": "", "rc": 0, "start": "2025-12-16 23:50:17.026415", "stderr": "", "stderr_lines": [], "stdout": "20.9%", "stdout_lines": ["20.9%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005762", "end": "2025-12-16 23:50:17.580313", "msg": "", "rc": 0, "start": "2025-12-16 23:50:17.574551", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004878", "end": "2025-12-16 23:50:17.593296", "msg": "", "rc": 0, "start": "2025-12-16 23:50:17.588418", "stderr": "", "stderr_lines": [], "stdout": "45.0°C", "stdout_lines": ["45.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005506", "end": "2025-12-16 23:50:17.600261", "msg": "", "rc": 0, "start": "2025-12-16 23:50:17.594755", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003167", "end": "2025-12-16 23:50:17.632500", "msg": "", "rc": 0, "start": "2025-12-16 23:50:17.629333", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.007280", "end": "2025-12-16 23:50:17.648506", "msg": "", "rc": 0, "start": "2025-12-16 23:50:17.641226", "stderr": "", "stderr_lines": [], "stdout": "51.5°C", "stdout_lines": ["51.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002381", "end": "2025-12-16 23:49:52.240428", "msg": "", "rc": 0, "start": "2025-12-16 23:49:52.238047", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002882", "end": "2025-12-16 23:49:45.986587", "msg": "", "rc": 0, "start": "2025-12-16 23:49:45.983705", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011872", "end": "2025-12-16 23:50:18.296524", "msg": "", "rc": 0, "start": "2025-12-16 23:50:18.284652", "stderr": "", "stderr_lines": [], "stdout": "30.7°C", "stdout_lines": ["30.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013290", "end": "2025-12-16 23:50:18.330556", "msg": "", "rc": 0, "start": "2025-12-16 23:50:18.317266", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003320", "end": "2025-12-16 23:50:18.558434", "msg": "", "rc": 0, "start": "2025-12-16 23:50:18.555114", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003015", "end": "2025-12-16 23:49:49.165978", "msg": "", "rc": 0, "start": "2025-12-16 23:49:49.162963", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002763", "end": "2025-12-16 23:49:55.564289", "msg": "", "rc": 0, "start": "2025-12-16 23:49:55.561526", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003923", "end": "2025-12-16 20:50:18.801845", "msg": "", "rc": 0, "start": "2025-12-16 20:50:18.797922", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002933", "end": "2025-12-16 23:50:18.983714", "msg": "", "rc": 0, "start": "2025-12-16 23:50:18.980781", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004686", "end": "2025-12-16 23:50:19.243544", "msg": "", "rc": 0, "start": "2025-12-16 23:50:19.238858", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028775", "end": "2025-12-16 23:50:18.987576", "msg": "", "rc": 0, "start": "2025-12-16 23:50:18.958801", "stderr": "", "stderr_lines": [], "stdout": "33.9°C", "stdout_lines": ["33.9°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004297", "end": "2025-12-16 23:50:19.523961", "msg": "", "rc": 0, "start": "2025-12-16 23:50:19.519664", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003993", "end": "2025-12-16 23:50:19.538287", "msg": "", "rc": 0, "start": "2025-12-16 23:50:19.534294", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005320", "end": "2025-12-16 23:50:19.579804", "msg": "", "rc": 0, "start": "2025-12-16 23:50:19.574484", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004803", "end": "2025-12-16 23:50:19.576789", "msg": "", "rc": 0, "start": "2025-12-16 23:50:19.571986", "stderr": "", "stderr_lines": [], "stdout": "0.82", "stdout_lines": ["0.82"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005758", "end": "2025-12-16 23:50:19.588000", "msg": "", "rc": 0, "start": "2025-12-16 23:50:19.582242", "stderr": "", "stderr_lines": [], "stdout": "0.56", "stdout_lines": ["0.56"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004492", "end": "2025-12-16 23:49:54.207088", "msg": "", "rc": 0, "start": "2025-12-16 23:49:54.202596", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005049", "end": "2025-12-16 23:49:47.952355", "msg": "", "rc": 0, "start": "2025-12-16 23:49:47.947306", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010351", "end": "2025-12-16 23:50:20.339215", "msg": "", "rc": 0, "start": "2025-12-16 23:50:20.328864", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011059", "end": "2025-12-16 23:50:20.360423", "msg": "", "rc": 0, "start": "2025-12-16 23:50:20.349364", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005632", "end": "2025-12-16 23:50:20.521075", "msg": "", "rc": 0, "start": "2025-12-16 23:50:20.515443", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004966", "end": "2025-12-16 23:49:51.134832", "msg": "", "rc": 0, "start": "2025-12-16 23:49:51.129866", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006014", "end": "2025-12-16 20:50:20.821177", "msg": "", "rc": 0, "start": "2025-12-16 20:50:20.815163", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004275", "end": "2025-12-16 23:49:57.616400", "msg": "", "rc": 0, "start": "2025-12-16 23:49:57.612125", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005345", "end": "2025-12-16 23:50:20.950546", "msg": "", "rc": 0, "start": "2025-12-16 23:50:20.945201", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024158", "end": "2025-12-16 23:50:20.908058", "msg": "", "rc": 0, "start": "2025-12-16 23:50:20.883900", "stderr": "", "stderr_lines": [], "stdout": "0.30", "stdout_lines": ["0.30"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008006", "end": "2025-12-16 23:50:21.296688", "msg": "", "rc": 0, "start": "2025-12-16 23:50:21.288682", "stderr": "", "stderr_lines": [], "stdout": "1.37", "stdout_lines": ["1.37"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:50:11 up 21 days, 10:41, 1 user, load average: 0.07, 0.10, 0.10\nDisk Usage: 23%\nMemory Usage: 81.3%\nCPU Load: 0.07\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:50:11 up 2 days, 13:22, 1 user, load average: 0.24, 0.24, 0.26\nDisk Usage: 22%\nMemory Usage: 22.1%\nCPU Load: 0.20\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:50:11 up 21 days, 11:01, 1 user, load average: 0.72, 0.80, 0.82\nDisk Usage: 14%\nMemory Usage: 49.0%\nCPU Load: 0.82\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:50:11 up 21 days, 12:14, 1 user, load average: 0.47, 0.62, 0.68\nDisk Usage: 14%\nMemory Usage: 59.9%\nCPU Load: 0.56\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:50:11 up 21 days, 13:00, 1 user, load average: 0.29, 0.13, 0.04\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:50:13 up 14 days, 13:16, 1 user, load average: 0.25, 0.17, 0.12\nDisk Usage: 21%\nMemory Usage: 20.9%\nCPU Load: 0.30\nCPU Temp: 33.9°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:50:12 up 193 days, 15:23, 1 user, load average: 0.22, 0.27, 0.25\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.27\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:50:12 up 193 days, 15:23, 1 user, load average: 0.30, 0.20, 0.14\nDisk Usage: 3%\nMemory Usage: 7.0%\nCPU Load: 0.25\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:49:46 up 10 days, 11:39, 0 user, load average: 0.21, 0.19, 0.16\nDisk Usage: 48%\nMemory Usage: 70.7%\nCPU Load: 0.19\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:49:40 up 17 days, 7:51, 0 user, load average: 0.09, 0.06, 0.01\nDisk Usage: 24%\nMemory Usage: 71.4%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:50:12 up 2 days, 13:21, 1 user, load average: 0.08, 0.04, 0.01\nDisk Usage: 1%\nMemory Usage: 34.6%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:49:43 up 20 days, 2:44, 0 user, load average: 0.32, 0.37, 0.42\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.27\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:49:49 up 16 days, 13:05, 0 user, load average: 0.20, 0.36, 0.45\nDisk Usage: 75%\nMemory Usage: 59.1%\nCPU Load: 0.25\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:50PM up 21 days, 10:40, 1 user, load averages: 0.34, 0.28, 0.25\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:50:13 up 2 days, 13:21, 1 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 79%\nMemory Usage: 13.6%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:50:14 up 1 day, 1:37, 1 user, load average: 1.34, 1.15, 1.07\nDisk Usage: 1%\nMemory Usage: 21.0%\nCPU Load: 1.37\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T04:50:22.220122+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `04db49d47f5747bc9930ee35af8f3206` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T04:55:00.001260+00:00 |
| **Fin** | 2025-12-17T04:55:22.138108+00:00 |
| **Durée** | 22.1s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003058", "end": "2025-12-16 23:55:11.238542", "msg": "", "rc": 0, "start": "2025-12-16 23:55:11.235484", "stderr": "", "stderr_lines": [], "stdout": " 23:55:11 up 21 days, 10:46, 1 user, load average: 0.10, 0.08, 0.09", "stdout_lines": [" 23:55:11 up 21 days, 10:46, 1 user, load average: 0.10, 0.08, 0.09"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003506", "end": "2025-12-16 23:55:11.250647", "msg": "", "rc": 0, "start": "2025-12-16 23:55:11.247141", "stderr": "", "stderr_lines": [], "stdout": " 23:55:11 up 21 days, 11:06, 1 user, load average: 0.74, 0.79, 0.82", "stdout_lines": [" 23:55:11 up 21 days, 11:06, 1 user, load average: 0.74, 0.79, 0.82"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003924", "end": "2025-12-16 23:55:11.253828", "msg": "", "rc": 0, "start": "2025-12-16 23:55:11.249904", "stderr": "", "stderr_lines": [], "stdout": " 23:55:11 up 21 days, 13:05, 1 user, load average: 0.05, 0.05, 0.02", "stdout_lines": [" 23:55:11 up 21 days, 13:05, 1 user, load average: 0.05, 0.05, 0.02"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002819", "end": "2025-12-16 23:55:11.275962", "msg": "", "rc": 0, "start": "2025-12-16 23:55:11.273143", "stderr": "", "stderr_lines": [], "stdout": " 23:55:11 up 2 days, 13:27, 1 user, load average: 0.47, 0.33, 0.28", "stdout_lines": [" 23:55:11 up 2 days, 13:27, 1 user, load average: 0.47, 0.33, 0.28"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002992", "end": "2025-12-16 23:54:45.894179", "msg": "", "rc": 0, "start": "2025-12-16 23:54:45.891187", "stderr": "", "stderr_lines": [], "stdout": " 23:54:45 up 10 days, 11:44, 0 user, load average: 1.47, 0.48, 0.25", "stdout_lines": [" 23:54:45 up 10 days, 11:44, 0 user, load average: 1.47, 0.48, 0.25"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008505", "end": "2025-12-16 23:55:11.920248", "msg": "", "rc": 0, "start": "2025-12-16 23:55:11.911743", "stderr": "", "stderr_lines": [], "stdout": " 23:55:11 up 193 days, 15:28, 1 user, load average: 0.21, 0.16, 0.13", "stdout_lines": [" 23:55:11 up 193 days, 15:28, 1 user, load average: 0.21, 0.16, 0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009157", "end": "2025-12-16 23:55:11.969813", "msg": "", "rc": 0, "start": "2025-12-16 23:55:11.960656", "stderr": "", "stderr_lines": [], "stdout": " 23:55:11 up 193 days, 15:28, 1 user, load average: 0.38, 0.27, 0.25", "stdout_lines": [" 23:55:11 up 193 days, 15:28, 1 user, load average: 0.38, 0.27, 0.25"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004254", "end": "2025-12-16 23:55:12.286357", "msg": "", "rc": 0, "start": "2025-12-16 23:55:11.282103", "stderr": "", "stderr_lines": [], "stdout": " 23:55:11 up 21 days, 12:19, 1 user, load average: 0.61, 0.69, 0.70", "stdout_lines": [" 23:55:11 up 21 days, 12:19, 1 user, load average: 0.61, 0.69, 0.70"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003404", "end": "2025-12-16 23:54:40.080615", "msg": "", "rc": 0, "start": "2025-12-16 23:54:40.077211", "stderr": "", "stderr_lines": [], "stdout": " 23:54:40 up 17 days, 7:56, 0 user, load average: 0.04, 0.03, 0.00", "stdout_lines": [" 23:54:40 up 17 days, 7:56, 0 user, load average: 0.04, 0.03, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004828", "end": "2025-12-16 23:55:12.428362", "msg": "", "rc": 0, "start": "2025-12-16 23:55:12.423534", "stderr": "", "stderr_lines": [], "stdout": " 23:55:12 up 2 days, 13:26, 1 user, load average: 0.10, 0.08, 0.02", "stdout_lines": [" 23:55:12 up 2 days, 13:26, 1 user, load average: 0.10, 0.08, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003582", "end": "2025-12-16 23:54:42.990426", "msg": "", "rc": 0, "start": "2025-12-16 23:54:42.986844", "stderr": "", "stderr_lines": [], "stdout": " 23:54:42 up 20 days, 2:49, 0 user, load average: 0.58, 0.42, 0.43", "stdout_lines": [" 23:54:42 up 20 days, 2:49, 0 user, load average: 0.58, 0.42, 0.43"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004113", "end": "2025-12-16 20:55:12.717227", "msg": "", "rc": 0, "start": "2025-12-16 20:55:12.713114", "stderr": "", "stderr_lines": [], "stdout": " 8:55PM up 21 days, 10:45, 1 user, load averages: 0.33, 0.26, 0.25", "stdout_lines": [" 8:55PM up 21 days, 10:45, 1 user, load averages: 0.33, 0.26, 0.25"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002846", "end": "2025-12-16 23:54:49.522070", "msg": "", "rc": 0, "start": "2025-12-16 23:54:49.519224", "stderr": "", "stderr_lines": [], "stdout": " 23:54:49 up 16 days, 13:10, 0 user, load average: 0.10, 0.26, 0.39", "stdout_lines": [" 23:54:49 up 16 days, 13:10, 0 user, load average: 0.10, 0.26, 0.39"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019530", "end": "2025-12-16 23:55:12.628233", "msg": "", "rc": 0, "start": "2025-12-16 23:55:12.608703", "stderr": "", "stderr_lines": [], "stdout": " 23:55:12 up 14 days, 13:21, 1 user, load average: 0.34, 0.18, 0.12", "stdout_lines": [" 23:55:12 up 14 days, 13:21, 1 user, load average: 0.34, 0.18, 0.12"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003705", "end": "2025-12-16 23:55:12.859545", "msg": "", "rc": 0, "start": "2025-12-16 23:55:12.855840", "stderr": "", "stderr_lines": [], "stdout": " 23:55:12 up 2 days, 13:26, 1 user, load average: 0.02, 0.05, 0.01", "stdout_lines": [" 23:55:12 up 2 days, 13:26, 1 user, load average: 0.02, 0.05, 0.01"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008587", "end": "2025-12-16 23:55:13.272698", "msg": "", "rc": 0, "start": "2025-12-16 23:55:13.264111", "stderr": "", "stderr_lines": [], "stdout": " 23:55:13 up 1 day, 1:43, 1 user, load average: 1.60, 1.24, 1.12", "stdout_lines": [" 23:55:13 up 1 day, 1:43, 1 user, load average: 1.60, 1.24, 1.12"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004348", "end": "2025-12-16 23:55:13.315388", "msg": "", "rc": 0, "start": "2025-12-16 23:55:13.311040", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004200", "end": "2025-12-16 23:55:13.326403", "msg": "", "rc": 0, "start": "2025-12-16 23:55:13.322203", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004869", "end": "2025-12-16 23:55:13.335077", "msg": "", "rc": 0, "start": "2025-12-16 23:55:13.330208", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004926", "end": "2025-12-16 23:55:13.361346", "msg": "", "rc": 0, "start": "2025-12-16 23:55:13.356420", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005670", "end": "2025-12-16 23:55:13.370653", "msg": "", "rc": 0, "start": "2025-12-16 23:55:13.364983", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004858", "end": "2025-12-16 23:54:47.967884", "msg": "", "rc": 0, "start": "2025-12-16 23:54:47.963026", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005345", "end": "2025-12-16 23:54:41.713372", "msg": "", "rc": 0, "start": "2025-12-16 23:54:41.708027", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010299", "end": "2025-12-16 23:55:14.055048", "msg": "", "rc": 0, "start": "2025-12-16 23:55:14.044749", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011456", "end": "2025-12-16 23:55:14.079537", "msg": "", "rc": 0, "start": "2025-12-16 23:55:14.068081", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005787", "end": "2025-12-16 23:55:14.307238", "msg": "", "rc": 0, "start": "2025-12-16 23:55:14.301451", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005156", "end": "2025-12-16 23:54:44.897148", "msg": "", "rc": 0, "start": "2025-12-16 23:54:44.891992", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005572", "end": "2025-12-16 20:55:14.533593", "msg": "", "rc": 0, "start": "2025-12-16 20:55:14.528021", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004895", "end": "2025-12-16 23:54:51.322390", "msg": "", "rc": 0, "start": "2025-12-16 23:54:51.317495", "stderr": "", "stderr_lines": [], "stdout": "75%", "stdout_lines": ["75%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005259", "end": "2025-12-16 23:55:14.730829", "msg": "", "rc": 0, "start": "2025-12-16 23:55:14.725570", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020199", "end": "2025-12-16 23:55:15.235189", "msg": "", "rc": 0, "start": "2025-12-16 23:55:15.214990", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025278", "end": "2025-12-16 23:55:14.718049", "msg": "", "rc": 0, "start": "2025-12-16 23:55:14.692771", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004364", "end": "2025-12-16 23:55:15.257256", "msg": "", "rc": 0, "start": "2025-12-16 23:55:15.252892", "stderr": "", "stderr_lines": [], "stdout": "81.2%", "stdout_lines": ["81.2%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004670", "end": "2025-12-16 23:55:15.278747", "msg": "", "rc": 0, "start": "2025-12-16 23:55:15.274077", "stderr": "", "stderr_lines": [], "stdout": "49.4%", "stdout_lines": ["49.4%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004304", "end": "2025-12-16 23:55:15.303351", "msg": "", "rc": 0, "start": "2025-12-16 23:55:15.299047", "stderr": "", "stderr_lines": [], "stdout": "22.1%", "stdout_lines": ["22.1%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005196", "end": "2025-12-16 23:55:15.302168", "msg": "", "rc": 0, "start": "2025-12-16 23:55:15.296972", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005305", "end": "2025-12-16 23:55:15.324751", "msg": "", "rc": 0, "start": "2025-12-16 23:55:15.319446", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004719", "end": "2025-12-16 23:54:49.914908", "msg": "", "rc": 0, "start": "2025-12-16 23:54:49.910189", "stderr": "", "stderr_lines": [], "stdout": "70.6%", "stdout_lines": ["70.6%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004410", "end": "2025-12-16 23:54:43.656697", "msg": "", "rc": 0, "start": "2025-12-16 23:54:43.652287", "stderr": "", "stderr_lines": [], "stdout": "71.4%", "stdout_lines": ["71.4%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011128", "end": "2025-12-16 23:55:15.967667", "msg": "", "rc": 0, "start": "2025-12-16 23:55:15.956539", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012006", "end": "2025-12-16 23:55:15.976924", "msg": "", "rc": 0, "start": "2025-12-16 23:55:15.964918", "stderr": "", "stderr_lines": [], "stdout": "12.7%", "stdout_lines": ["12.7%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005801", "end": "2025-12-16 23:55:16.247487", "msg": "", "rc": 0, "start": "2025-12-16 23:55:16.241686", "stderr": "", "stderr_lines": [], "stdout": "34.6%", "stdout_lines": ["34.6%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003913", "end": "2025-12-16 23:54:46.834134", "msg": "", "rc": 0, "start": "2025-12-16 23:54:46.830221", "stderr": "", "stderr_lines": [], "stdout": "27.2%", "stdout_lines": ["27.2%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005189", "end": "2025-12-16 20:55:16.432946", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 20:55:16.427757", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004001", "end": "2025-12-16 23:54:53.228780", "msg": "", "rc": 0, "start": "2025-12-16 23:54:53.224779", "stderr": "", "stderr_lines": [], "stdout": "58.8%", "stdout_lines": ["58.8%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005389", "end": "2025-12-16 23:55:16.663892", "msg": "", "rc": 0, "start": "2025-12-16 23:55:16.658503", "stderr": "", "stderr_lines": [], "stdout": "13.8%", "stdout_lines": ["13.8%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008976", "end": "2025-12-16 23:55:17.229456", "msg": "", "rc": 0, "start": "2025-12-16 23:55:17.220480", "stderr": "", "stderr_lines": [], "stdout": "20.9%", "stdout_lines": ["20.9%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026128", "end": "2025-12-16 23:55:16.643984", "msg": "", "rc": 0, "start": "2025-12-16 23:55:16.617856", "stderr": "", "stderr_lines": [], "stdout": "20.5%", "stdout_lines": ["20.5%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004911", "end": "2025-12-16 23:55:17.169995", "msg": "", "rc": 0, "start": "2025-12-16 23:55:17.165084", "stderr": "", "stderr_lines": [], "stdout": "46.0°C", "stdout_lines": ["46.0°C"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005097", "end": "2025-12-16 23:55:17.168862", "msg": "", "rc": 0, "start": "2025-12-16 23:55:17.163765", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005763", "end": "2025-12-16 23:55:17.199736", "msg": "", "rc": 0, "start": "2025-12-16 23:55:17.193973", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003260", "end": "2025-12-16 23:55:17.217004", "msg": "", "rc": 0, "start": "2025-12-16 23:55:17.213744", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006575", "end": "2025-12-16 23:55:17.223533", "msg": "", "rc": 0, "start": "2025-12-16 23:55:17.216958", "stderr": "", "stderr_lines": [], "stdout": "51.5°C", "stdout_lines": ["51.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002818", "end": "2025-12-16 23:54:51.839497", "msg": "", "rc": 0, "start": "2025-12-16 23:54:51.836679", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003295", "end": "2025-12-16 23:54:45.569895", "msg": "", "rc": 0, "start": "2025-12-16 23:54:45.566600", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011857", "end": "2025-12-16 23:55:17.869900", "msg": "", "rc": 0, "start": "2025-12-16 23:55:17.858043", "stderr": "", "stderr_lines": [], "stdout": "30.7°C", "stdout_lines": ["30.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012931", "end": "2025-12-16 23:55:17.906287", "msg": "", "rc": 0, "start": "2025-12-16 23:55:17.893356", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003203", "end": "2025-12-16 23:55:18.157605", "msg": "", "rc": 0, "start": "2025-12-16 23:55:18.154402", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002975", "end": "2025-12-16 23:54:48.742076", "msg": "", "rc": 0, "start": "2025-12-16 23:54:48.739101", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002762", "end": "2025-12-16 23:54:55.134847", "msg": "", "rc": 0, "start": "2025-12-16 23:54:55.132085", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003924", "end": "2025-12-16 20:55:18.367158", "msg": "", "rc": 0, "start": "2025-12-16 20:55:18.363234", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002892", "end": "2025-12-16 23:55:18.571148", "msg": "", "rc": 0, "start": "2025-12-16 23:55:18.568256", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003831", "end": "2025-12-16 23:55:19.251850", "msg": "", "rc": 0, "start": "2025-12-16 23:55:19.248019", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028354", "end": "2025-12-16 23:55:18.567400", "msg": "", "rc": 0, "start": "2025-12-16 23:55:18.539046", "stderr": "", "stderr_lines": [], "stdout": "33.7°C", "stdout_lines": ["33.7°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004322", "end": "2025-12-16 23:55:19.081380", "msg": "", "rc": 0, "start": "2025-12-16 23:55:19.077058", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003979", "end": "2025-12-16 23:55:19.099089", "msg": "", "rc": 0, "start": "2025-12-16 23:55:19.095110", "stderr": "", "stderr_lines": [], "stdout": "0.51", "stdout_lines": ["0.51"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004915", "end": "2025-12-16 23:55:19.111741", "msg": "", "rc": 0, "start": "2025-12-16 23:55:19.106826", "stderr": "", "stderr_lines": [], "stdout": "0.84", "stdout_lines": ["0.84"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005446", "end": "2025-12-16 23:55:19.135541", "msg": "", "rc": 0, "start": "2025-12-16 23:55:19.130095", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005508", "end": "2025-12-16 23:55:19.138163", "msg": "", "rc": 0, "start": "2025-12-16 23:55:19.132655", "stderr": "", "stderr_lines": [], "stdout": "0.59", "stdout_lines": ["0.59"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004126", "end": "2025-12-16 23:54:53.724132", "msg": "", "rc": 0, "start": "2025-12-16 23:54:53.720006", "stderr": "", "stderr_lines": [], "stdout": "1.35", "stdout_lines": ["1.35"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004950", "end": "2025-12-16 23:54:47.461054", "msg": "", "rc": 0, "start": "2025-12-16 23:54:47.456104", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010265", "end": "2025-12-16 23:55:19.868787", "msg": "", "rc": 0, "start": "2025-12-16 23:55:19.858522", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011239", "end": "2025-12-16 23:55:19.892432", "msg": "", "rc": 0, "start": "2025-12-16 23:55:19.881193", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006184", "end": "2025-12-16 23:55:20.048808", "msg": "", "rc": 0, "start": "2025-12-16 23:55:20.042624", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004964", "end": "2025-12-16 23:54:50.622739", "msg": "", "rc": 0, "start": "2025-12-16 23:54:50.617775", "stderr": "", "stderr_lines": [], "stdout": "0.49", "stdout_lines": ["0.49"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006410", "end": "2025-12-16 20:55:20.362132", "msg": "", "rc": 0, "start": "2025-12-16 20:55:20.355722", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004227", "end": "2025-12-16 23:54:57.134205", "msg": "", "rc": 0, "start": "2025-12-16 23:54:57.129978", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005401", "end": "2025-12-16 23:55:20.483542", "msg": "", "rc": 0, "start": "2025-12-16 23:55:20.478141", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007633", "end": "2025-12-16 23:55:21.177158", "msg": "", "rc": 0, "start": "2025-12-16 23:55:21.169525", "stderr": "", "stderr_lines": [], "stdout": "1.75", "stdout_lines": ["1.75"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024450", "end": "2025-12-16 23:55:20.473726", "msg": "", "rc": 0, "start": "2025-12-16 23:55:20.449276", "stderr": "", "stderr_lines": [], "stdout": "0.37", "stdout_lines": ["0.37"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:55:11 up 21 days, 10:46, 1 user, load average: 0.10, 0.08, 0.09\nDisk Usage: 23%\nMemory Usage: 81.2%\nCPU Load: 0.08\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:55:11 up 2 days, 13:27, 1 user, load average: 0.47, 0.33, 0.28\nDisk Usage: 22%\nMemory Usage: 22.1%\nCPU Load: 0.51\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:55:11 up 21 days, 11:06, 1 user, load average: 0.74, 0.79, 0.82\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.84\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:55:11 up 21 days, 12:19, 1 user, load average: 0.61, 0.69, 0.70\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.59\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:55:11 up 21 days, 13:05, 1 user, load average: 0.05, 0.05, 0.02\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:55:12 up 14 days, 13:21, 1 user, load average: 0.34, 0.18, 0.12\nDisk Usage: 21%\nMemory Usage: 20.5%\nCPU Load: 0.37\nCPU Temp: 33.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:55:11 up 193 days, 15:28, 1 user, load average: 0.38, 0.27, 0.25\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.33\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:55:11 up 193 days, 15:28, 1 user, load average: 0.21, 0.16, 0.13\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.25\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:54:45 up 10 days, 11:44, 0 user, load average: 1.47, 0.48, 0.25\nDisk Usage: 48%\nMemory Usage: 70.6%\nCPU Load: 1.35\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:54:40 up 17 days, 7:56, 0 user, load average: 0.04, 0.03, 0.00\nDisk Usage: 24%\nMemory Usage: 71.4%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:55:12 up 2 days, 13:26, 1 user, load average: 0.10, 0.08, 0.02\nDisk Usage: 1%\nMemory Usage: 34.6%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:54:42 up 20 days, 2:49, 0 user, load average: 0.58, 0.42, 0.43\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.49\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:54:49 up 16 days, 13:10, 0 user, load average: 0.10, 0.26, 0.39\nDisk Usage: 75%\nMemory Usage: 58.8%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:55PM up 21 days, 10:45, 1 user, load averages: 0.33, 0.26, 0.25\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:55:12 up 2 days, 13:26, 1 user, load average: 0.02, 0.05, 0.01\nDisk Usage: 79%\nMemory Usage: 13.8%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:55:13 up 1 day, 1:43, 1 user, load average: 1.60, 1.24, 1.12\nDisk Usage: 1%\nMemory Usage: 20.9%\nCPU Load: 1.75\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T04:55:22.180265+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `dc3018366550412a86c439656998c446` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T05:00:00.002787+00:00 |
| **Fin** | 2025-12-17T05:00:23.700900+00:00 |
| **Durée** | 23.7s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003102", "end": "2025-12-17 00:00:13.091492", "msg": "", "rc": 0, "start": "2025-12-17 00:00:13.088390", "stderr": "", "stderr_lines": [], "stdout": " 00:00:13 up 21 days, 10:51, 1 user, load average: 0.03, 0.07, 0.08", "stdout_lines": [" 00:00:13 up 21 days, 10:51, 1 user, load average: 0.03, 0.07, 0.08"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003413", "end": "2025-12-17 00:00:13.102695", "msg": "", "rc": 0, "start": "2025-12-17 00:00:13.099282", "stderr": "", "stderr_lines": [], "stdout": " 00:00:13 up 21 days, 11:11, 1 user, load average: 0.92, 0.79, 0.80", "stdout_lines": [" 00:00:13 up 21 days, 11:11, 1 user, load average: 0.92, 0.79, 0.80"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003785", "end": "2025-12-17 00:00:13.106878", "msg": "", "rc": 0, "start": "2025-12-17 00:00:13.103093", "stderr": "", "stderr_lines": [], "stdout": " 00:00:13 up 21 days, 13:10, 1 user, load average: 0.03, 0.03, 0.00", "stdout_lines": [" 00:00:13 up 21 days, 13:10, 1 user, load average: 0.03, 0.03, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003754", "end": "2025-12-17 00:00:13.126357", "msg": "", "rc": 0, "start": "2025-12-17 00:00:13.122603", "stderr": "", "stderr_lines": [], "stdout": " 00:00:13 up 21 days, 12:24, 1 user, load average: 1.05, 0.79, 0.74", "stdout_lines": [" 00:00:13 up 21 days, 12:24, 1 user, load average: 1.05, 0.79, 0.74"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002942", "end": "2025-12-17 00:00:13.136142", "msg": "", "rc": 0, "start": "2025-12-17 00:00:13.133200", "stderr": "", "stderr_lines": [], "stdout": " 00:00:13 up 2 days, 13:32, 1 user, load average: 0.46, 0.44, 0.34", "stdout_lines": [" 00:00:13 up 2 days, 13:32, 1 user, load average: 0.46, 0.44, 0.34"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003916", "end": "2025-12-16 23:59:47.750748", "msg": "", "rc": 0, "start": "2025-12-16 23:59:47.746832", "stderr": "", "stderr_lines": [], "stdout": " 23:59:47 up 10 days, 11:49, 0 user, load average: 0.02, 0.18, 0.18", "stdout_lines": [" 23:59:47 up 10 days, 11:49, 0 user, load average: 0.02, 0.18, 0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003424", "end": "2025-12-16 23:59:41.468838", "msg": "", "rc": 0, "start": "2025-12-16 23:59:41.465414", "stderr": "", "stderr_lines": [], "stdout": " 23:59:41 up 17 days, 8:01, 0 user, load average: 0.02, 0.07, 0.02", "stdout_lines": [" 23:59:41 up 17 days, 8:01, 0 user, load average: 0.02, 0.07, 0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008347", "end": "2025-12-17 00:00:13.781708", "msg": "", "rc": 0, "start": "2025-12-17 00:00:13.773361", "stderr": "", "stderr_lines": [], "stdout": " 00:00:13 up 193 days, 15:33, 1 user, load average: 0.18, 0.15, 0.12", "stdout_lines": [" 00:00:13 up 193 days, 15:33, 1 user, load average: 0.18, 0.15, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009248", "end": "2025-12-17 00:00:13.823185", "msg": "", "rc": 0, "start": "2025-12-17 00:00:13.813937", "stderr": "", "stderr_lines": [], "stdout": " 00:00:13 up 193 days, 15:33, 1 user, load average: 0.47, 0.33, 0.28", "stdout_lines": [" 00:00:13 up 193 days, 15:33, 1 user, load average: 0.47, 0.33, 0.28"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004783", "end": "2025-12-17 00:00:14.082385", "msg": "", "rc": 0, "start": "2025-12-17 00:00:14.077602", "stderr": "", "stderr_lines": [], "stdout": " 00:00:14 up 2 days, 13:31, 1 user, load average: 0.09, 0.07, 0.02", "stdout_lines": [" 00:00:14 up 2 days, 13:31, 1 user, load average: 0.09, 0.07, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003292", "end": "2025-12-16 23:59:44.641380", "msg": "", "rc": 0, "start": "2025-12-16 23:59:44.638088", "stderr": "", "stderr_lines": [], "stdout": " 23:59:44 up 20 days, 2:54, 0 user, load average: 0.37, 0.40, 0.43", "stdout_lines": [" 23:59:44 up 20 days, 2:54, 0 user, load average: 0.37, 0.40, 0.43"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004444", "end": "2025-12-16 21:00:14.283054", "msg": "", "rc": 0, "start": "2025-12-16 21:00:14.278610", "stderr": "", "stderr_lines": [], "stdout": " 9:00PM up 21 days, 10:50, 1 user, load averages: 0.29, 0.25, 0.24", "stdout_lines": [" 9:00PM up 21 days, 10:50, 1 user, load averages: 0.29, 0.25, 0.24"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003046", "end": "2025-12-16 23:59:51.048438", "msg": "", "rc": 0, "start": "2025-12-16 23:59:51.045392", "stderr": "", "stderr_lines": [], "stdout": " 23:59:51 up 16 days, 13:15, 0 user, load average: 0.30, 0.28, 0.36", "stdout_lines": [" 23:59:51 up 16 days, 13:15, 0 user, load average: 0.30, 0.28, 0.36"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007313", "end": "2025-12-17 00:00:15.362405", "msg": "", "rc": 0, "start": "2025-12-17 00:00:15.355092", "stderr": "", "stderr_lines": [], "stdout": " 00:00:15 up 1 day, 1:48, 1 user, load average: 1.35, 1.25, 1.15", "stdout_lines": [" 00:00:15 up 1 day, 1:48, 1 user, load average: 1.35, 1.25, 1.15"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003852", "end": "2025-12-17 00:00:14.515098", "msg": "", "rc": 0, "start": "2025-12-17 00:00:14.511246", "stderr": "", "stderr_lines": [], "stdout": " 00:00:14 up 2 days, 13:31, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 00:00:14 up 2 days, 13:31, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020965", "end": "2025-12-17 00:00:14.660412", "msg": "", "rc": 0, "start": "2025-12-17 00:00:14.639447", "stderr": "", "stderr_lines": [], "stdout": " 00:00:14 up 14 days, 13:26, 1 user, load average: 0.50, 0.20, 0.12", "stdout_lines": [" 00:00:14 up 14 days, 13:26, 1 user, load average: 0.50, 0.20, 0.12"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004313", "end": "2025-12-17 00:00:15.212549", "msg": "", "rc": 0, "start": "2025-12-17 00:00:15.208236", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004963", "end": "2025-12-17 00:00:15.239224", "msg": "", "rc": 0, "start": "2025-12-17 00:00:15.234261", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004285", "end": "2025-12-17 00:00:15.240286", "msg": "", "rc": 0, "start": "2025-12-17 00:00:15.236001", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004329", "end": "2025-12-17 00:00:15.266429", "msg": "", "rc": 0, "start": "2025-12-17 00:00:15.262100", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006489", "end": "2025-12-17 00:00:15.289410", "msg": "", "rc": 0, "start": "2025-12-17 00:00:15.282921", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004873", "end": "2025-12-16 23:59:49.907152", "msg": "", "rc": 0, "start": "2025-12-16 23:59:49.902279", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005623", "end": "2025-12-16 23:59:43.639999", "msg": "", "rc": 0, "start": "2025-12-16 23:59:43.634376", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010761", "end": "2025-12-17 00:00:16.019804", "msg": "", "rc": 0, "start": "2025-12-17 00:00:16.009043", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011448", "end": "2025-12-17 00:00:16.064272", "msg": "", "rc": 0, "start": "2025-12-17 00:00:16.052824", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005845", "end": "2025-12-17 00:00:16.224231", "msg": "", "rc": 0, "start": "2025-12-17 00:00:16.218386", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005225", "end": "2025-12-16 23:59:46.817456", "msg": "", "rc": 0, "start": "2025-12-16 23:59:46.812231", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004951", "end": "2025-12-16 23:59:53.269874", "msg": "", "rc": 0, "start": "2025-12-16 23:59:53.264923", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005435", "end": "2025-12-16 21:00:16.521961", "msg": "", "rc": 0, "start": "2025-12-16 21:00:16.516526", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005395", "end": "2025-12-17 00:00:16.656468", "msg": "", "rc": 0, "start": "2025-12-17 00:00:16.651073", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020110", "end": "2025-12-17 00:00:17.677286", "msg": "", "rc": 0, "start": "2025-12-17 00:00:17.657176", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.028499", "end": "2025-12-17 00:00:16.811373", "msg": "", "rc": 0, "start": "2025-12-17 00:00:16.782874", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004344", "end": "2025-12-17 00:00:17.368553", "msg": "", "rc": 0, "start": "2025-12-17 00:00:17.364209", "stderr": "", "stderr_lines": [], "stdout": "81.0%", "stdout_lines": ["81.0%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004206", "end": "2025-12-17 00:00:17.395155", "msg": "", "rc": 0, "start": "2025-12-17 00:00:17.390949", "stderr": "", "stderr_lines": [], "stdout": "22.2%", "stdout_lines": ["22.2%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005092", "end": "2025-12-17 00:00:17.404040", "msg": "", "rc": 0, "start": "2025-12-17 00:00:17.398948", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004900", "end": "2025-12-17 00:00:17.410613", "msg": "", "rc": 0, "start": "2025-12-17 00:00:17.405713", "stderr": "", "stderr_lines": [], "stdout": "49.2%", "stdout_lines": ["49.2%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005540", "end": "2025-12-17 00:00:17.439333", "msg": "", "rc": 0, "start": "2025-12-17 00:00:17.433793", "stderr": "", "stderr_lines": [], "stdout": "60.3%", "stdout_lines": ["60.3%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003831", "end": "2025-12-16 23:59:52.038545", "msg": "", "rc": 0, "start": "2025-12-16 23:59:52.034714", "stderr": "", "stderr_lines": [], "stdout": "70.6%", "stdout_lines": ["70.6%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004482", "end": "2025-12-16 23:59:45.764409", "msg": "", "rc": 0, "start": "2025-12-16 23:59:45.759927", "stderr": "", "stderr_lines": [], "stdout": "71.4%", "stdout_lines": ["71.4%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011022", "end": "2025-12-17 00:00:18.067902", "msg": "", "rc": 0, "start": "2025-12-17 00:00:18.056880", "stderr": "", "stderr_lines": [], "stdout": "6.8%", "stdout_lines": ["6.8%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012028", "end": "2025-12-17 00:00:18.094415", "msg": "", "rc": 0, "start": "2025-12-17 00:00:18.082387", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.9%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005754", "end": "2025-12-17 00:00:18.369574", "msg": "", "rc": 0, "start": "2025-12-17 00:00:18.363820", "stderr": "", "stderr_lines": [], "stdout": "35.3%", "stdout_lines": ["35.3%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004299", "end": "2025-12-16 23:59:48.937242", "msg": "", "rc": 0, "start": "2025-12-16 23:59:48.932943", "stderr": "", "stderr_lines": [], "stdout": "27.2%", "stdout_lines": ["27.2%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003495", "end": "2025-12-16 23:59:55.310969", "msg": "", "rc": 0, "start": "2025-12-16 23:59:55.307474", "stderr": "", "stderr_lines": [], "stdout": "59.0%", "stdout_lines": ["59.0%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005190", "end": "2025-12-16 21:00:18.562394", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 21:00:18.557204", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005692", "end": "2025-12-17 00:00:18.832346", "msg": "", "rc": 0, "start": "2025-12-17 00:00:18.826654", "stderr": "", "stderr_lines": [], "stdout": "13.8%", "stdout_lines": ["13.8%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009709", "end": "2025-12-17 00:00:19.905187", "msg": "", "rc": 0, "start": "2025-12-17 00:00:19.895478", "stderr": "", "stderr_lines": [], "stdout": "20.8%", "stdout_lines": ["20.8%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026313", "end": "2025-12-17 00:00:18.767092", "msg": "", "rc": 0, "start": "2025-12-17 00:00:18.740779", "stderr": "", "stderr_lines": [], "stdout": "21.5%", "stdout_lines": ["21.5%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005107", "end": "2025-12-17 00:00:19.298993", "msg": "", "rc": 0, "start": "2025-12-17 00:00:19.293886", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005018", "end": "2025-12-17 00:00:19.302892", "msg": "", "rc": 0, "start": "2025-12-17 00:00:19.297874", "stderr": "", "stderr_lines": [], "stdout": "46.0°C", "stdout_lines": ["46.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005613", "end": "2025-12-17 00:00:19.328411", "msg": "", "rc": 0, "start": "2025-12-17 00:00:19.322798", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003226", "end": "2025-12-17 00:00:19.347636", "msg": "", "rc": 0, "start": "2025-12-17 00:00:19.344410", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006804", "end": "2025-12-17 00:00:19.362326", "msg": "", "rc": 0, "start": "2025-12-17 00:00:19.355522", "stderr": "", "stderr_lines": [], "stdout": "51.0°C", "stdout_lines": ["51.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002668", "end": "2025-12-16 23:59:53.945749", "msg": "", "rc": 0, "start": "2025-12-16 23:59:53.943081", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003005", "end": "2025-12-16 23:59:47.711293", "msg": "", "rc": 0, "start": "2025-12-16 23:59:47.708288", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011953", "end": "2025-12-17 00:00:19.998179", "msg": "", "rc": 0, "start": "2025-12-17 00:00:19.986226", "stderr": "", "stderr_lines": [], "stdout": "30.2°C", "stdout_lines": ["30.2°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012991", "end": "2025-12-17 00:00:20.038773", "msg": "", "rc": 0, "start": "2025-12-17 00:00:20.025782", "stderr": "", "stderr_lines": [], "stdout": "34.6°C", "stdout_lines": ["34.6°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003368", "end": "2025-12-17 00:00:20.279193", "msg": "", "rc": 0, "start": "2025-12-17 00:00:20.275825", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002960", "end": "2025-12-16 23:59:50.900820", "msg": "", "rc": 0, "start": "2025-12-16 23:59:50.897860", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002745", "end": "2025-12-16 23:59:57.260871", "msg": "", "rc": 0, "start": "2025-12-16 23:59:57.258126", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003884", "end": "2025-12-16 21:00:20.508956", "msg": "", "rc": 0, "start": "2025-12-16 21:00:20.505072", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002985", "end": "2025-12-17 00:00:20.715170", "msg": "", "rc": 0, "start": "2025-12-17 00:00:20.712185", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004206", "end": "2025-12-17 00:00:21.899893", "msg": "", "rc": 0, "start": "2025-12-17 00:00:21.895687", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028550", "end": "2025-12-17 00:00:20.708494", "msg": "", "rc": 0, "start": "2025-12-17 00:00:20.679944", "stderr": "", "stderr_lines": [], "stdout": "34.6°C", "stdout_lines": ["34.6°C"]}
TASK [Get CPU load] ************************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004031", "end": "2025-12-17 00:00:21.247982", "msg": "", "rc": 0, "start": "2025-12-17 00:00:21.243951", "stderr": "", "stderr_lines": [], "stdout": "0.61", "stdout_lines": ["0.61"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004169", "end": "2025-12-17 00:00:21.244315", "msg": "", "rc": 0, "start": "2025-12-17 00:00:21.240146", "stderr": "", "stderr_lines": [], "stdout": "0.03", "stdout_lines": ["0.03"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004615", "end": "2025-12-17 00:00:21.274227", "msg": "", "rc": 0, "start": "2025-12-17 00:00:21.269612", "stderr": "", "stderr_lines": [], "stdout": "0.94", "stdout_lines": ["0.94"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005205", "end": "2025-12-17 00:00:21.299114", "msg": "", "rc": 0, "start": "2025-12-17 00:00:21.293909", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005679", "end": "2025-12-17 00:00:21.307716", "msg": "", "rc": 0, "start": "2025-12-17 00:00:21.302037", "stderr": "", "stderr_lines": [], "stdout": "0.89", "stdout_lines": ["0.89"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004887", "end": "2025-12-16 23:59:55.903936", "msg": "", "rc": 0, "start": "2025-12-16 23:59:55.899049", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005622", "end": "2025-12-16 23:59:49.651101", "msg": "", "rc": 0, "start": "2025-12-16 23:59:49.645479", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011021", "end": "2025-12-17 00:00:22.009235", "msg": "", "rc": 0, "start": "2025-12-17 00:00:21.998214", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010999", "end": "2025-12-17 00:00:22.049311", "msg": "", "rc": 0, "start": "2025-12-17 00:00:22.038312", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005779", "end": "2025-12-17 00:00:22.249631", "msg": "", "rc": 0, "start": "2025-12-17 00:00:22.243852", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004700", "end": "2025-12-16 23:59:52.830858", "msg": "", "rc": 0, "start": "2025-12-16 23:59:52.826158", "stderr": "", "stderr_lines": [], "stdout": "0.48", "stdout_lines": ["0.48"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004957", "end": "2025-12-16 23:59:59.285100", "msg": "", "rc": 0, "start": "2025-12-16 23:59:59.280143", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006058", "end": "2025-12-16 21:00:22.525788", "msg": "", "rc": 0, "start": "2025-12-16 21:00:22.519730", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005451", "end": "2025-12-17 00:00:22.681538", "msg": "", "rc": 0, "start": "2025-12-17 00:00:22.676087", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007997", "end": "2025-12-17 00:00:22.783251", "msg": "", "rc": 0, "start": "2025-12-17 00:00:22.775254", "stderr": "", "stderr_lines": [], "stdout": "1.66", "stdout_lines": ["1.66"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024796", "end": "2025-12-17 00:00:22.631473", "msg": "", "rc": 0, "start": "2025-12-17 00:00:22.606677", "stderr": "", "stderr_lines": [], "stdout": "0.54", "stdout_lines": ["0.54"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:13 up 2 days, 13:32, 1 user, load average: 0.46, 0.44, 0.34\nDisk Usage: 22%\nMemory Usage: 22.2%\nCPU Load: 0.61\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:13 up 21 days, 10:51, 1 user, load average: 0.03, 0.07, 0.08\nDisk Usage: 23%\nMemory Usage: 81.0%\nCPU Load: 0.03\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:13 up 21 days, 11:11, 1 user, load average: 0.92, 0.79, 0.80\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.94\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:13 up 21 days, 12:24, 1 user, load average: 1.05, 0.79, 0.74\nDisk Usage: 14%\nMemory Usage: 60.3%\nCPU Load: 0.89\nCPU Temp: 51.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:13 up 21 days, 13:10, 1 user, load average: 0.03, 0.03, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:14 up 14 days, 13:26, 1 user, load average: 0.50, 0.20, 0.12\nDisk Usage: 21%\nMemory Usage: 21.5%\nCPU Load: 0.54\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:13 up 193 days, 15:33, 1 user, load average: 0.47, 0.33, 0.28\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.44\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:13 up 193 days, 15:33, 1 user, load average: 0.18, 0.15, 0.12\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.15\nCPU Temp: 30.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:59:47 up 10 days, 11:49, 0 user, load average: 0.02, 0.18, 0.18\nDisk Usage: 48%\nMemory Usage: 70.6%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:59:41 up 17 days, 8:01, 0 user, load average: 0.02, 0.07, 0.02\nDisk Usage: 24%\nMemory Usage: 71.4%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:14 up 2 days, 13:31, 1 user, load average: 0.09, 0.07, 0.02\nDisk Usage: 1%\nMemory Usage: 35.3%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:59:44 up 20 days, 2:54, 0 user, load average: 0.37, 0.40, 0.43\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.48\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:59:51 up 16 days, 13:15, 0 user, load average: 0.30, 0.28, 0.36\nDisk Usage: 76%\nMemory Usage: 59.0%\nCPU Load: 0.26\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:00PM up 21 days, 10:50, 1 user, load averages: 0.29, 0.25, 0.24\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:14 up 2 days, 13:31, 1 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 79%\nMemory Usage: 13.8%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:15 up 1 day, 1:48, 1 user, load average: 1.35, 1.25, 1.15\nDisk Usage: 1%\nMemory Usage: 20.8%\nCPU Load: 1.66\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T05:00:23.751852+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `ac0031e5846e45fdb84dbd35a97a6b16` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T05:05:00.001334+00:00 |
| **Fin** | 2025-12-17T05:05:21.974173+00:00 |
| **Durée** | 22.0s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003074", "end": "2025-12-17 00:05:11.251844", "msg": "", "rc": 0, "start": "2025-12-17 00:05:11.248770", "stderr": "", "stderr_lines": [], "stdout": " 00:05:11 up 21 days, 10:56, 1 user, load average: 0.00, 0.04, 0.07", "stdout_lines": [" 00:05:11 up 21 days, 10:56, 1 user, load average: 0.00, 0.04, 0.07"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003751", "end": "2025-12-17 00:05:11.261935", "msg": "", "rc": 0, "start": "2025-12-17 00:05:11.258184", "stderr": "", "stderr_lines": [], "stdout": " 00:05:11 up 21 days, 11:16, 1 user, load average: 0.96, 0.92, 0.86", "stdout_lines": [" 00:05:11 up 21 days, 11:16, 1 user, load average: 0.96, 0.92, 0.86"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003625", "end": "2025-12-17 00:05:11.267474", "msg": "", "rc": 0, "start": "2025-12-17 00:05:11.263849", "stderr": "", "stderr_lines": [], "stdout": " 00:05:11 up 21 days, 13:15, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 00:05:11 up 21 days, 13:15, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002991", "end": "2025-12-17 00:05:11.297466", "msg": "", "rc": 0, "start": "2025-12-17 00:05:11.294475", "stderr": "", "stderr_lines": [], "stdout": " 00:05:11 up 2 days, 13:37, 1 user, load average: 0.48, 0.46, 0.37", "stdout_lines": [" 00:05:11 up 2 days, 13:37, 1 user, load average: 0.48, 0.46, 0.37"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002888", "end": "2025-12-17 00:04:45.921512", "msg": "", "rc": 0, "start": "2025-12-17 00:04:45.918624", "stderr": "", "stderr_lines": [], "stdout": " 00:04:45 up 10 days, 11:54, 0 user, load average: 0.00, 0.07, 0.12", "stdout_lines": [" 00:04:45 up 10 days, 11:54, 0 user, load average: 0.00, 0.07, 0.12"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008607", "end": "2025-12-17 00:05:11.929103", "msg": "", "rc": 0, "start": "2025-12-17 00:05:11.920496", "stderr": "", "stderr_lines": [], "stdout": " 00:05:11 up 193 days, 15:38, 1 user, load average: 0.27, 0.16, 0.12", "stdout_lines": [" 00:05:11 up 193 days, 15:38, 1 user, load average: 0.27, 0.16, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009320", "end": "2025-12-17 00:05:11.972298", "msg": "", "rc": 0, "start": "2025-12-17 00:05:11.962978", "stderr": "", "stderr_lines": [], "stdout": " 00:05:11 up 193 days, 15:38, 1 user, load average: 0.34, 0.28, 0.27", "stdout_lines": [" 00:05:11 up 193 days, 15:38, 1 user, load average: 0.34, 0.28, 0.27"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.005227", "end": "2025-12-17 00:05:12.299024", "msg": "", "rc": 0, "start": "2025-12-17 00:05:11.293797", "stderr": "", "stderr_lines": [], "stdout": " 00:05:11 up 21 days, 12:29, 1 user, load average: 0.72, 0.72, 0.72", "stdout_lines": [" 00:05:11 up 21 days, 12:29, 1 user, load average: 0.72, 0.72, 0.72"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006887", "end": "2025-12-17 00:04:40.128960", "msg": "", "rc": 0, "start": "2025-12-17 00:04:40.122073", "stderr": "", "stderr_lines": [], "stdout": " 00:04:40 up 17 days, 8:06, 0 user, load average: 0.06, 0.04, 0.00", "stdout_lines": [" 00:04:40 up 17 days, 8:06, 0 user, load average: 0.06, 0.04, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004821", "end": "2025-12-17 00:05:12.436859", "msg": "", "rc": 0, "start": "2025-12-17 00:05:12.432038", "stderr": "", "stderr_lines": [], "stdout": " 00:05:12 up 2 days, 13:36, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 00:05:12 up 2 days, 13:36, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003621", "end": "2025-12-17 00:04:43.026577", "msg": "", "rc": 0, "start": "2025-12-17 00:04:43.022956", "stderr": "", "stderr_lines": [], "stdout": " 00:04:43 up 20 days, 2:59, 0 user, load average: 0.33, 0.39, 0.42", "stdout_lines": [" 00:04:43 up 20 days, 2:59, 0 user, load average: 0.33, 0.39, 0.42"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019839", "end": "2025-12-17 00:05:12.640589", "msg": "", "rc": 0, "start": "2025-12-17 00:05:12.620750", "stderr": "", "stderr_lines": [], "stdout": " 00:05:12 up 14 days, 13:31, 1 user, load average: 0.18, 0.13, 0.10", "stdout_lines": [" 00:05:12 up 14 days, 13:31, 1 user, load average: 0.18, 0.13, 0.10"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007582", "end": "2025-12-17 00:04:49.531811", "msg": "", "rc": 0, "start": "2025-12-17 00:04:49.524229", "stderr": "", "stderr_lines": [], "stdout": " 00:04:49 up 16 days, 13:20, 0 user, load average: 0.56, 0.56, 0.47", "stdout_lines": [" 00:04:49 up 16 days, 13:20, 0 user, load average: 0.56, 0.56, 0.47"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004456", "end": "2025-12-16 21:05:12.766206", "msg": "", "rc": 0, "start": "2025-12-16 21:05:12.761750", "stderr": "", "stderr_lines": [], "stdout": " 9:05PM up 21 days, 10:55, 1 user, load averages: 0.13, 0.15, 0.19", "stdout_lines": [" 9:05PM up 21 days, 10:55, 1 user, load averages: 0.13, 0.15, 0.19"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003694", "end": "2025-12-17 00:05:12.852256", "msg": "", "rc": 0, "start": "2025-12-17 00:05:12.848562", "stderr": "", "stderr_lines": [], "stdout": " 00:05:12 up 2 days, 13:36, 1 user, load average: 0.05, 0.02, 0.00", "stdout_lines": [" 00:05:12 up 2 days, 13:36, 1 user, load average: 0.05, 0.02, 0.00"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008377", "end": "2025-12-17 00:05:13.063157", "msg": "", "rc": 0, "start": "2025-12-17 00:05:13.054780", "stderr": "", "stderr_lines": [], "stdout": " 00:05:13 up 1 day, 1:53, 1 user, load average: 1.07, 1.17, 1.15", "stdout_lines": [" 00:05:13 up 1 day, 1:53, 1 user, load average: 1.07, 1.17, 1.15"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004461", "end": "2025-12-17 00:05:13.355369", "msg": "", "rc": 0, "start": "2025-12-17 00:05:13.350908", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004810", "end": "2025-12-17 00:05:13.371953", "msg": "", "rc": 0, "start": "2025-12-17 00:05:13.367143", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004107", "end": "2025-12-17 00:05:13.373565", "msg": "", "rc": 0, "start": "2025-12-17 00:05:13.369458", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005101", "end": "2025-12-17 00:05:13.398748", "msg": "", "rc": 0, "start": "2025-12-17 00:05:13.393647", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006075", "end": "2025-12-17 00:05:13.438734", "msg": "", "rc": 0, "start": "2025-12-17 00:05:13.432659", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005059", "end": "2025-12-17 00:04:48.003851", "msg": "", "rc": 0, "start": "2025-12-17 00:04:47.998792", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005614", "end": "2025-12-17 00:04:41.799248", "msg": "", "rc": 0, "start": "2025-12-17 00:04:41.793634", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010629", "end": "2025-12-17 00:05:14.082755", "msg": "", "rc": 0, "start": "2025-12-17 00:05:14.072126", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011684", "end": "2025-12-17 00:05:14.131943", "msg": "", "rc": 0, "start": "2025-12-17 00:05:14.120259", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005733", "end": "2025-12-17 00:05:14.341453", "msg": "", "rc": 0, "start": "2025-12-17 00:05:14.335720", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005620", "end": "2025-12-17 00:04:44.996826", "msg": "", "rc": 0, "start": "2025-12-17 00:04:44.991206", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.009000", "end": "2025-12-17 00:04:51.338307", "msg": "", "rc": 0, "start": "2025-12-17 00:04:51.329307", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005746", "end": "2025-12-16 21:05:14.585489", "msg": "", "rc": 0, "start": "2025-12-16 21:05:14.579743", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005309", "end": "2025-12-17 00:05:14.762658", "msg": "", "rc": 0, "start": "2025-12-17 00:05:14.757349", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.018924", "end": "2025-12-17 00:05:15.063625", "msg": "", "rc": 0, "start": "2025-12-17 00:05:15.044701", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025891", "end": "2025-12-17 00:05:14.755369", "msg": "", "rc": 0, "start": "2025-12-17 00:05:14.729478", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004691", "end": "2025-12-17 00:05:15.284707", "msg": "", "rc": 0, "start": "2025-12-17 00:05:15.280016", "stderr": "", "stderr_lines": [], "stdout": "81.7%", "stdout_lines": ["81.7%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004415", "end": "2025-12-17 00:05:15.307287", "msg": "", "rc": 0, "start": "2025-12-17 00:05:15.302872", "stderr": "", "stderr_lines": [], "stdout": "22.2%", "stdout_lines": ["22.2%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004748", "end": "2025-12-17 00:05:15.319886", "msg": "", "rc": 0, "start": "2025-12-17 00:05:15.315138", "stderr": "", "stderr_lines": [], "stdout": "49.3%", "stdout_lines": ["49.3%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004852", "end": "2025-12-17 00:05:15.331997", "msg": "", "rc": 0, "start": "2025-12-17 00:05:15.327145", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005411", "end": "2025-12-17 00:05:15.354504", "msg": "", "rc": 0, "start": "2025-12-17 00:05:15.349093", "stderr": "", "stderr_lines": [], "stdout": "60.0%", "stdout_lines": ["60.0%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003986", "end": "2025-12-17 00:04:49.972215", "msg": "", "rc": 0, "start": "2025-12-17 00:04:49.968229", "stderr": "", "stderr_lines": [], "stdout": "70.7%", "stdout_lines": ["70.7%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004498", "end": "2025-12-17 00:04:43.687870", "msg": "", "rc": 0, "start": "2025-12-17 00:04:43.683372", "stderr": "", "stderr_lines": [], "stdout": "71.4%", "stdout_lines": ["71.4%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011533", "end": "2025-12-17 00:05:15.990235", "msg": "", "rc": 0, "start": "2025-12-17 00:05:15.978702", "stderr": "", "stderr_lines": [], "stdout": "6.8%", "stdout_lines": ["6.8%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012022", "end": "2025-12-17 00:05:16.039846", "msg": "", "rc": 0, "start": "2025-12-17 00:05:16.027824", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.8%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005888", "end": "2025-12-17 00:05:16.321826", "msg": "", "rc": 0, "start": "2025-12-17 00:05:16.315938", "stderr": "", "stderr_lines": [], "stdout": "35.3%", "stdout_lines": ["35.3%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004008", "end": "2025-12-17 00:04:46.862614", "msg": "", "rc": 0, "start": "2025-12-17 00:04:46.858606", "stderr": "", "stderr_lines": [], "stdout": "27.1%", "stdout_lines": ["27.1%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005818", "end": "2025-12-17 00:04:53.240112", "msg": "", "rc": 0, "start": "2025-12-17 00:04:53.234294", "stderr": "", "stderr_lines": [], "stdout": "50.5%", "stdout_lines": ["50.5%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005296", "end": "2025-12-16 21:05:16.502444", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 21:05:16.497148", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009182", "end": "2025-12-17 00:05:16.999029", "msg": "", "rc": 0, "start": "2025-12-17 00:05:16.989847", "stderr": "", "stderr_lines": [], "stdout": "20.9%", "stdout_lines": ["20.9%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005446", "end": "2025-12-17 00:05:16.746299", "msg": "", "rc": 0, "start": "2025-12-17 00:05:16.740853", "stderr": "", "stderr_lines": [], "stdout": "13.6%", "stdout_lines": ["13.6%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026078", "end": "2025-12-17 00:05:16.685458", "msg": "", "rc": 0, "start": "2025-12-17 00:05:16.659380", "stderr": "", "stderr_lines": [], "stdout": "19.1%", "stdout_lines": ["19.1%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005057", "end": "2025-12-17 00:05:17.219886", "msg": "", "rc": 0, "start": "2025-12-17 00:05:17.214829", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004856", "end": "2025-12-17 00:05:17.237259", "msg": "", "rc": 0, "start": "2025-12-17 00:05:17.232403", "stderr": "", "stderr_lines": [], "stdout": "45.0°C", "stdout_lines": ["45.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006119", "end": "2025-12-17 00:05:17.239425", "msg": "", "rc": 0, "start": "2025-12-17 00:05:17.233306", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003194", "end": "2025-12-17 00:05:17.273216", "msg": "", "rc": 0, "start": "2025-12-17 00:05:17.270022", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006581", "end": "2025-12-17 00:05:17.292556", "msg": "", "rc": 0, "start": "2025-12-17 00:05:17.285975", "stderr": "", "stderr_lines": [], "stdout": "51.5°C", "stdout_lines": ["51.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002529", "end": "2025-12-17 00:04:51.869695", "msg": "", "rc": 0, "start": "2025-12-17 00:04:51.867166", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003025", "end": "2025-12-17 00:04:45.628497", "msg": "", "rc": 0, "start": "2025-12-17 00:04:45.625472", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011764", "end": "2025-12-17 00:05:17.933839", "msg": "", "rc": 0, "start": "2025-12-17 00:05:17.922075", "stderr": "", "stderr_lines": [], "stdout": "30.7°C", "stdout_lines": ["30.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013058", "end": "2025-12-17 00:05:17.966657", "msg": "", "rc": 0, "start": "2025-12-17 00:05:17.953599", "stderr": "", "stderr_lines": [], "stdout": "34.1°C", "stdout_lines": ["34.1°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003143", "end": "2025-12-17 00:05:18.190620", "msg": "", "rc": 0, "start": "2025-12-17 00:05:18.187477", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002822", "end": "2025-12-17 00:04:48.799423", "msg": "", "rc": 0, "start": "2025-12-17 00:04:48.796601", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003919", "end": "2025-12-16 21:05:18.441336", "msg": "", "rc": 0, "start": "2025-12-16 21:05:18.437417", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002613", "end": "2025-12-17 00:04:55.211362", "msg": "", "rc": 0, "start": "2025-12-17 00:04:55.208749", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003007", "end": "2025-12-17 00:05:18.611650", "msg": "", "rc": 0, "start": "2025-12-17 00:05:18.608643", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003952", "end": "2025-12-17 00:05:19.055133", "msg": "", "rc": 0, "start": "2025-12-17 00:05:19.051181", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028849", "end": "2025-12-17 00:05:18.636849", "msg": "", "rc": 0, "start": "2025-12-17 00:05:18.608000", "stderr": "", "stderr_lines": [], "stdout": "33.8°C", "stdout_lines": ["33.8°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004191", "end": "2025-12-17 00:05:19.165108", "msg": "", "rc": 0, "start": "2025-12-17 00:05:19.160917", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003938", "end": "2025-12-17 00:05:19.185997", "msg": "", "rc": 0, "start": "2025-12-17 00:05:19.182059", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004718", "end": "2025-12-17 00:05:19.183581", "msg": "", "rc": 0, "start": "2025-12-17 00:05:19.178863", "stderr": "", "stderr_lines": [], "stdout": "1.04", "stdout_lines": ["1.04"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005346", "end": "2025-12-17 00:05:19.223995", "msg": "", "rc": 0, "start": "2025-12-17 00:05:19.218649", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005632", "end": "2025-12-17 00:05:19.247663", "msg": "", "rc": 0, "start": "2025-12-17 00:05:19.242031", "stderr": "", "stderr_lines": [], "stdout": "0.99", "stdout_lines": ["0.99"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004213", "end": "2025-12-17 00:04:53.819748", "msg": "", "rc": 0, "start": "2025-12-17 00:04:53.815535", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005153", "end": "2025-12-17 00:04:47.584179", "msg": "", "rc": 0, "start": "2025-12-17 00:04:47.579026", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011092", "end": "2025-12-17 00:05:19.901771", "msg": "", "rc": 0, "start": "2025-12-17 00:05:19.890679", "stderr": "", "stderr_lines": [], "stdout": "0.52", "stdout_lines": ["0.52"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010148", "end": "2025-12-17 00:05:19.940341", "msg": "", "rc": 0, "start": "2025-12-17 00:05:19.930193", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005665", "end": "2025-12-17 00:05:20.151385", "msg": "", "rc": 0, "start": "2025-12-17 00:05:20.145720", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004991", "end": "2025-12-17 00:04:50.753879", "msg": "", "rc": 0, "start": "2025-12-17 00:04:50.748888", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006099", "end": "2025-12-16 21:05:20.401738", "msg": "", "rc": 0, "start": "2025-12-16 21:05:20.395639", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004791", "end": "2025-12-17 00:04:57.185050", "msg": "", "rc": 0, "start": "2025-12-17 00:04:57.180259", "stderr": "", "stderr_lines": [], "stdout": "0.55", "stdout_lines": ["0.55"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005237", "end": "2025-12-17 00:05:20.571571", "msg": "", "rc": 0, "start": "2025-12-17 00:05:20.566334", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008847", "end": "2025-12-17 00:05:21.059195", "msg": "", "rc": 0, "start": "2025-12-17 00:05:21.050348", "stderr": "", "stderr_lines": [], "stdout": "1.14", "stdout_lines": ["1.14"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024518", "end": "2025-12-17 00:05:20.566130", "msg": "", "rc": 0, "start": "2025-12-17 00:05:20.541612", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:05:11 up 21 days, 10:56, 1 user, load average: 0.00, 0.04, 0.07\nDisk Usage: 23%\nMemory Usage: 81.7%\nCPU Load: 0.00\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:05:11 up 2 days, 13:37, 1 user, load average: 0.48, 0.46, 0.37\nDisk Usage: 22%\nMemory Usage: 22.2%\nCPU Load: 0.44\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:05:11 up 21 days, 11:16, 1 user, load average: 0.96, 0.92, 0.86\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 1.04\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:05:11 up 21 days, 12:29, 1 user, load average: 0.72, 0.72, 0.72\nDisk Usage: 14%\nMemory Usage: 60.0%\nCPU Load: 0.99\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:05:11 up 21 days, 13:15, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:05:12 up 14 days, 13:31, 1 user, load average: 0.18, 0.13, 0.10\nDisk Usage: 21%\nMemory Usage: 19.1%\nCPU Load: 0.22\nCPU Temp: 33.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:05:11 up 193 days, 15:38, 1 user, load average: 0.34, 0.28, 0.27\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.52\nCPU Temp: 34.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:05:11 up 193 days, 15:38, 1 user, load average: 0.27, 0.16, 0.12\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.31\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:04:45 up 10 days, 11:54, 0 user, load average: 0.00, 0.07, 0.12\nDisk Usage: 48%\nMemory Usage: 70.7%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:04:40 up 17 days, 8:06, 0 user, load average: 0.06, 0.04, 0.00\nDisk Usage: 24%\nMemory Usage: 71.4%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:05:12 up 2 days, 13:36, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 1%\nMemory Usage: 35.3%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:04:43 up 20 days, 2:59, 0 user, load average: 0.33, 0.39, 0.42\nDisk Usage: 28%\nMemory Usage: 27.1%\nCPU Load: 0.28\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:04:49 up 16 days, 13:20, 0 user, load average: 0.56, 0.56, 0.47\nDisk Usage: 76%\nMemory Usage: 50.5%\nCPU Load: 0.55\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:05PM up 21 days, 10:55, 1 user, load averages: 0.13, 0.15, 0.19\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:05:12 up 2 days, 13:36, 1 user, load average: 0.05, 0.02, 0.00\nDisk Usage: 79%\nMemory Usage: 13.6%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:05:13 up 1 day, 1:53, 1 user, load average: 1.07, 1.17, 1.15\nDisk Usage: 1%\nMemory Usage: 20.9%\nCPU Load: 1.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T05:05:22.017993+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `39376cc678b94c148a07fe7ce5e70c78` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T05:10:00.002763+00:00 |
| **Fin** | 2025-12-17T05:10:21.955022+00:00 |
| **Durée** | 22.0s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002960", "end": "2025-12-17 00:10:11.052849", "msg": "", "rc": 0, "start": "2025-12-17 00:10:11.049889", "stderr": "", "stderr_lines": [], "stdout": " 00:10:11 up 21 days, 11:01, 1 user, load average: 0.09, 0.06, 0.07", "stdout_lines": [" 00:10:11 up 21 days, 11:01, 1 user, load average: 0.09, 0.06, 0.07"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003488", "end": "2025-12-17 00:10:11.070535", "msg": "", "rc": 0, "start": "2025-12-17 00:10:11.067047", "stderr": "", "stderr_lines": [], "stdout": " 00:10:11 up 21 days, 13:20, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 00:10:11 up 21 days, 13:20, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003397", "end": "2025-12-17 00:10:11.076109", "msg": "", "rc": 0, "start": "2025-12-17 00:10:11.072712", "stderr": "", "stderr_lines": [], "stdout": " 00:10:11 up 21 days, 11:21, 1 user, load average: 0.80, 0.85, 0.85", "stdout_lines": [" 00:10:11 up 21 days, 11:21, 1 user, load average: 0.80, 0.85, 0.85"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003886", "end": "2025-12-17 00:10:11.090174", "msg": "", "rc": 0, "start": "2025-12-17 00:10:11.086288", "stderr": "", "stderr_lines": [], "stdout": " 00:10:11 up 21 days, 12:34, 1 user, load average: 0.56, 0.68, 0.71", "stdout_lines": [" 00:10:11 up 21 days, 12:34, 1 user, load average: 0.56, 0.68, 0.71"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002947", "end": "2025-12-17 00:10:11.099505", "msg": "", "rc": 0, "start": "2025-12-17 00:10:11.096558", "stderr": "", "stderr_lines": [], "stdout": " 00:10:11 up 2 days, 13:42, 1 user, load average: 0.25, 0.35, 0.35", "stdout_lines": [" 00:10:11 up 2 days, 13:42, 1 user, load average: 0.25, 0.35, 0.35"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002782", "end": "2025-12-17 00:09:45.710670", "msg": "", "rc": 0, "start": "2025-12-17 00:09:45.707888", "stderr": "", "stderr_lines": [], "stdout": " 00:09:45 up 10 days, 11:59, 0 user, load average: 0.13, 0.11, 0.12", "stdout_lines": [" 00:09:45 up 10 days, 11:59, 0 user, load average: 0.13, 0.11, 0.12"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003262", "end": "2025-12-17 00:09:39.473708", "msg": "", "rc": 0, "start": "2025-12-17 00:09:39.470446", "stderr": "", "stderr_lines": [], "stdout": " 00:09:39 up 17 days, 8:11, 0 user, load average: 0.02, 0.02, 0.00", "stdout_lines": [" 00:09:39 up 17 days, 8:11, 0 user, load average: 0.02, 0.02, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008427", "end": "2025-12-17 00:10:11.788385", "msg": "", "rc": 0, "start": "2025-12-17 00:10:11.779958", "stderr": "", "stderr_lines": [], "stdout": " 00:10:11 up 193 days, 15:43, 1 user, load average: 0.19, 0.17, 0.12", "stdout_lines": [" 00:10:11 up 193 days, 15:43, 1 user, load average: 0.19, 0.17, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009388", "end": "2025-12-17 00:10:11.810151", "msg": "", "rc": 0, "start": "2025-12-17 00:10:11.800763", "stderr": "", "stderr_lines": [], "stdout": " 00:10:11 up 193 days, 15:43, 1 user, load average: 0.31, 0.28, 0.27", "stdout_lines": [" 00:10:11 up 193 days, 15:43, 1 user, load average: 0.31, 0.28, 0.27"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004902", "end": "2025-12-17 00:10:12.056377", "msg": "", "rc": 0, "start": "2025-12-17 00:10:12.051475", "stderr": "", "stderr_lines": [], "stdout": " 00:10:12 up 2 days, 13:41, 1 user, load average: 0.03, 0.04, 0.00", "stdout_lines": [" 00:10:12 up 2 days, 13:41, 1 user, load average: 0.03, 0.04, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003298", "end": "2025-12-17 00:09:42.634514", "msg": "", "rc": 0, "start": "2025-12-17 00:09:42.631216", "stderr": "", "stderr_lines": [], "stdout": " 00:09:42 up 20 days, 3:04, 0 user, load average: 0.16, 0.30, 0.37", "stdout_lines": [" 00:09:42 up 20 days, 3:04, 0 user, load average: 0.16, 0.30, 0.37"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003123", "end": "2025-12-17 00:09:49.026046", "msg": "", "rc": 0, "start": "2025-12-17 00:09:49.022923", "stderr": "", "stderr_lines": [], "stdout": " 00:09:49 up 16 days, 13:25, 0 user, load average: 0.17, 0.34, 0.40", "stdout_lines": [" 00:09:49 up 16 days, 13:25, 0 user, load average: 0.17, 0.34, 0.40"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004370", "end": "2025-12-16 21:10:12.264886", "msg": "", "rc": 0, "start": "2025-12-16 21:10:12.260516", "stderr": "", "stderr_lines": [], "stdout": " 9:10PM up 21 days, 10:59, 1 user, load averages: 0.12, 0.14, 0.16", "stdout_lines": [" 9:10PM up 21 days, 10:59, 1 user, load averages: 0.12, 0.14, 0.16"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003734", "end": "2025-12-17 00:10:12.470904", "msg": "", "rc": 0, "start": "2025-12-17 00:10:12.467170", "stderr": "", "stderr_lines": [], "stdout": " 00:10:12 up 2 days, 13:41, 1 user, load average: 0.23, 0.16, 0.05", "stdout_lines": [" 00:10:12 up 2 days, 13:41, 1 user, load average: 0.23, 0.16, 0.05"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007909", "end": "2025-12-17 00:10:13.041538", "msg": "", "rc": 0, "start": "2025-12-17 00:10:13.033629", "stderr": "", "stderr_lines": [], "stdout": " 00:10:13 up 1 day, 1:58, 1 user, load average: 1.33, 1.20, 1.17", "stdout_lines": [" 00:10:13 up 1 day, 1:58, 1 user, load average: 1.33, 1.20, 1.17"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020648", "end": "2025-12-17 00:10:12.473453", "msg": "", "rc": 0, "start": "2025-12-17 00:10:12.452805", "stderr": "", "stderr_lines": [], "stdout": " 00:10:12 up 14 days, 13:36, 1 user, load average: 0.23, 0.16, 0.11", "stdout_lines": [" 00:10:12 up 14 days, 13:36, 1 user, load average: 0.23, 0.16, 0.11"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004346", "end": "2025-12-17 00:10:12.991015", "msg": "", "rc": 0, "start": "2025-12-17 00:10:12.986669", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004820", "end": "2025-12-17 00:10:13.019665", "msg": "", "rc": 0, "start": "2025-12-17 00:10:13.014845", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004046", "end": "2025-12-17 00:10:13.021052", "msg": "", "rc": 0, "start": "2025-12-17 00:10:13.017006", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004840", "end": "2025-12-17 00:10:13.046758", "msg": "", "rc": 0, "start": "2025-12-17 00:10:13.041918", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005576", "end": "2025-12-17 00:10:13.076449", "msg": "", "rc": 0, "start": "2025-12-17 00:10:13.070873", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005618", "end": "2025-12-17 00:09:47.641357", "msg": "", "rc": 0, "start": "2025-12-17 00:09:47.635739", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007752", "end": "2025-12-17 00:09:41.430064", "msg": "", "rc": 0, "start": "2025-12-17 00:09:41.422312", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010754", "end": "2025-12-17 00:10:13.729734", "msg": "", "rc": 0, "start": "2025-12-17 00:10:13.718980", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011716", "end": "2025-12-17 00:10:13.766260", "msg": "", "rc": 0, "start": "2025-12-17 00:10:13.754544", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005686", "end": "2025-12-17 00:10:13.978915", "msg": "", "rc": 0, "start": "2025-12-17 00:10:13.973229", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005512", "end": "2025-12-17 00:09:44.627544", "msg": "", "rc": 0, "start": "2025-12-17 00:09:44.622032", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005469", "end": "2025-12-16 21:10:14.230322", "msg": "", "rc": 0, "start": "2025-12-16 21:10:14.224853", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004788", "end": "2025-12-17 00:09:50.992808", "msg": "", "rc": 0, "start": "2025-12-17 00:09:50.988020", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005423", "end": "2025-12-17 00:10:14.401431", "msg": "", "rc": 0, "start": "2025-12-17 00:10:14.396008", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025608", "end": "2025-12-17 00:10:14.384221", "msg": "", "rc": 0, "start": "2025-12-17 00:10:14.358613", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.018053", "end": "2025-12-17 00:10:15.119587", "msg": "", "rc": 0, "start": "2025-12-17 00:10:15.101534", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004376", "end": "2025-12-17 00:10:14.911524", "msg": "", "rc": 0, "start": "2025-12-17 00:10:14.907148", "stderr": "", "stderr_lines": [], "stdout": "80.2%", "stdout_lines": ["80.2%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004129", "end": "2025-12-17 00:10:14.923575", "msg": "", "rc": 0, "start": "2025-12-17 00:10:14.919446", "stderr": "", "stderr_lines": [], "stdout": "22.3%", "stdout_lines": ["22.3%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004638", "end": "2025-12-17 00:10:14.935338", "msg": "", "rc": 0, "start": "2025-12-17 00:10:14.930700", "stderr": "", "stderr_lines": [], "stdout": "49.1%", "stdout_lines": ["49.1%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004929", "end": "2025-12-17 00:10:14.975010", "msg": "", "rc": 0, "start": "2025-12-17 00:10:14.970081", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005805", "end": "2025-12-17 00:10:14.996381", "msg": "", "rc": 0, "start": "2025-12-17 00:10:14.990576", "stderr": "", "stderr_lines": [], "stdout": "60.0%", "stdout_lines": ["60.0%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003874", "end": "2025-12-17 00:09:49.553832", "msg": "", "rc": 0, "start": "2025-12-17 00:09:49.549958", "stderr": "", "stderr_lines": [], "stdout": "70.6%", "stdout_lines": ["70.6%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008092", "end": "2025-12-17 00:09:43.350245", "msg": "", "rc": 0, "start": "2025-12-17 00:09:43.342153", "stderr": "", "stderr_lines": [], "stdout": "71.3%", "stdout_lines": ["71.3%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010918", "end": "2025-12-17 00:10:15.594719", "msg": "", "rc": 0, "start": "2025-12-17 00:10:15.583801", "stderr": "", "stderr_lines": [], "stdout": "6.9%", "stdout_lines": ["6.9%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011705", "end": "2025-12-17 00:10:15.657385", "msg": "", "rc": 0, "start": "2025-12-17 00:10:15.645680", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.9%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005721", "end": "2025-12-17 00:10:15.889779", "msg": "", "rc": 0, "start": "2025-12-17 00:10:15.884058", "stderr": "", "stderr_lines": [], "stdout": "35.8%", "stdout_lines": ["35.8%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004212", "end": "2025-12-17 00:09:52.854010", "msg": "", "rc": 0, "start": "2025-12-17 00:09:52.849798", "stderr": "", "stderr_lines": [], "stdout": "47.2%", "stdout_lines": ["47.2%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005683", "end": "2025-12-16 21:10:16.128533", "msg": "non-zero return code", "rc": 2, "start": "2025-12-16 21:10:16.122850", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004668", "end": "2025-12-17 00:09:46.562860", "msg": "", "rc": 0, "start": "2025-12-17 00:09:46.558192", "stderr": "", "stderr_lines": [], "stdout": "26.9%", "stdout_lines": ["26.9%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005344", "end": "2025-12-17 00:10:16.321095", "msg": "", "rc": 0, "start": "2025-12-17 00:10:16.315751", "stderr": "", "stderr_lines": [], "stdout": "13.7%", "stdout_lines": ["13.7%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008639", "end": "2025-12-17 00:10:17.092679", "msg": "", "rc": 0, "start": "2025-12-17 00:10:17.084040", "stderr": "", "stderr_lines": [], "stdout": "20.9%", "stdout_lines": ["20.9%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026175", "end": "2025-12-17 00:10:16.303072", "msg": "", "rc": 0, "start": "2025-12-17 00:10:16.276897", "stderr": "", "stderr_lines": [], "stdout": "19.2%", "stdout_lines": ["19.2%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005264", "end": "2025-12-17 00:10:16.833699", "msg": "", "rc": 0, "start": "2025-12-17 00:10:16.828435", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005048", "end": "2025-12-17 00:10:16.863186", "msg": "", "rc": 0, "start": "2025-12-17 00:10:16.858138", "stderr": "", "stderr_lines": [], "stdout": "46.0°C", "stdout_lines": ["46.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006272", "end": "2025-12-17 00:10:16.865333", "msg": "", "rc": 0, "start": "2025-12-17 00:10:16.859061", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003461", "end": "2025-12-17 00:10:16.891253", "msg": "", "rc": 0, "start": "2025-12-17 00:10:16.887792", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006096", "end": "2025-12-17 00:10:16.918558", "msg": "", "rc": 0, "start": "2025-12-17 00:10:16.912462", "stderr": "", "stderr_lines": [], "stdout": "51.5°C", "stdout_lines": ["51.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002565", "end": "2025-12-17 00:09:51.497492", "msg": "", "rc": 0, "start": "2025-12-17 00:09:51.494927", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003114", "end": "2025-12-17 00:09:45.236368", "msg": "", "rc": 0, "start": "2025-12-17 00:09:45.233254", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011786", "end": "2025-12-17 00:10:17.541535", "msg": "", "rc": 0, "start": "2025-12-17 00:10:17.529749", "stderr": "", "stderr_lines": [], "stdout": "30.7°C", "stdout_lines": ["30.7°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013138", "end": "2025-12-17 00:10:17.593405", "msg": "", "rc": 0, "start": "2025-12-17 00:10:17.580267", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003187", "end": "2025-12-17 00:10:17.828081", "msg": "", "rc": 0, "start": "2025-12-17 00:10:17.824894", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002921", "end": "2025-12-17 00:09:48.405960", "msg": "", "rc": 0, "start": "2025-12-17 00:09:48.403039", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002685", "end": "2025-12-17 00:09:54.779134", "msg": "", "rc": 0, "start": "2025-12-17 00:09:54.776449", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004064", "end": "2025-12-16 21:10:18.044841", "msg": "", "rc": 0, "start": "2025-12-16 21:10:18.040777", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002944", "end": "2025-12-17 00:10:18.255166", "msg": "", "rc": 0, "start": "2025-12-17 00:10:18.252222", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004025", "end": "2025-12-17 00:10:19.095581", "msg": "", "rc": 0, "start": "2025-12-17 00:10:19.091556", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028924", "end": "2025-12-17 00:10:18.233657", "msg": "", "rc": 0, "start": "2025-12-17 00:10:18.204733", "stderr": "", "stderr_lines": [], "stdout": "33.7°C", "stdout_lines": ["33.7°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004348", "end": "2025-12-17 00:10:18.749076", "msg": "", "rc": 0, "start": "2025-12-17 00:10:18.744728", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004058", "end": "2025-12-17 00:10:18.769645", "msg": "", "rc": 0, "start": "2025-12-17 00:10:18.765587", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004840", "end": "2025-12-17 00:10:18.781487", "msg": "", "rc": 0, "start": "2025-12-17 00:10:18.776647", "stderr": "", "stderr_lines": [], "stdout": "0.82", "stdout_lines": ["0.82"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005053", "end": "2025-12-17 00:10:18.817040", "msg": "", "rc": 0, "start": "2025-12-17 00:10:18.811987", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005784", "end": "2025-12-17 00:10:18.831606", "msg": "", "rc": 0, "start": "2025-12-17 00:10:18.825822", "stderr": "", "stderr_lines": [], "stdout": "0.68", "stdout_lines": ["0.68"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004527", "end": "2025-12-17 00:09:53.414478", "msg": "", "rc": 0, "start": "2025-12-17 00:09:53.409951", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005166", "end": "2025-12-17 00:09:47.152063", "msg": "", "rc": 0, "start": "2025-12-17 00:09:47.146897", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010200", "end": "2025-12-17 00:10:19.530310", "msg": "", "rc": 0, "start": "2025-12-17 00:10:19.520110", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011191", "end": "2025-12-17 00:10:19.580945", "msg": "", "rc": 0, "start": "2025-12-17 00:10:19.569754", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005621", "end": "2025-12-17 00:10:19.760460", "msg": "", "rc": 0, "start": "2025-12-17 00:10:19.754839", "stderr": "", "stderr_lines": [], "stdout": "0.03", "stdout_lines": ["0.03"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005242", "end": "2025-12-17 00:09:50.336279", "msg": "", "rc": 0, "start": "2025-12-17 00:09:50.331037", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005014", "end": "2025-12-17 00:09:56.786484", "msg": "", "rc": 0, "start": "2025-12-17 00:09:56.781470", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005940", "end": "2025-12-16 21:10:20.052456", "msg": "", "rc": 0, "start": "2025-12-16 21:10:20.046516", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005857", "end": "2025-12-17 00:10:20.201709", "msg": "", "rc": 0, "start": "2025-12-17 00:10:20.195852", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007798", "end": "2025-12-17 00:10:21.055785", "msg": "", "rc": 0, "start": "2025-12-17 00:10:21.047987", "stderr": "", "stderr_lines": [], "stdout": "1.30", "stdout_lines": ["1.30"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024827", "end": "2025-12-17 00:10:20.143234", "msg": "", "rc": 0, "start": "2025-12-17 00:10:20.118407", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:11 up 2 days, 13:42, 1 user, load average: 0.25, 0.35, 0.35\nDisk Usage: 22%\nMemory Usage: 22.3%\nCPU Load: 0.31\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:11 up 21 days, 11:01, 1 user, load average: 0.09, 0.06, 0.07\nDisk Usage: 23%\nMemory Usage: 80.2%\nCPU Load: 0.24\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:11 up 21 days, 11:21, 1 user, load average: 0.80, 0.85, 0.85\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 0.82\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:11 up 21 days, 12:34, 1 user, load average: 0.56, 0.68, 0.71\nDisk Usage: 14%\nMemory Usage: 60.0%\nCPU Load: 0.68\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:11 up 21 days, 13:20, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:12 up 14 days, 13:36, 1 user, load average: 0.23, 0.16, 0.11\nDisk Usage: 21%\nMemory Usage: 19.2%\nCPU Load: 0.35\nCPU Temp: 33.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:11 up 193 days, 15:43, 1 user, load average: 0.31, 0.28, 0.27\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.34\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:11 up 193 days, 15:43, 1 user, load average: 0.19, 0.17, 0.12\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.17\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:09:45 up 10 days, 11:59, 0 user, load average: 0.13, 0.11, 0.12\nDisk Usage: 48%\nMemory Usage: 70.6%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:09:39 up 17 days, 8:11, 0 user, load average: 0.02, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 71.3%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:12 up 2 days, 13:41, 1 user, load average: 0.03, 0.04, 0.00\nDisk Usage: 1%\nMemory Usage: 35.8%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:09:42 up 20 days, 3:04, 0 user, load average: 0.16, 0.30, 0.37\nDisk Usage: 28%\nMemory Usage: 26.9%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:09:49 up 16 days, 13:25, 0 user, load average: 0.17, 0.34, 0.40\nDisk Usage: 76%\nMemory Usage: 47.2%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:10PM up 21 days, 10:59, 1 user, load averages: 0.12, 0.14, 0.16\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:12 up 2 days, 13:41, 1 user, load average: 0.23, 0.16, 0.05\nDisk Usage: 79%\nMemory Usage: 13.7%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:10:13 up 1 day, 1:58, 1 user, load average: 1.33, 1.20, 1.17\nDisk Usage: 1%\nMemory Usage: 20.9%\nCPU Load: 1.30\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T05:10:21.993165+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `1ccc666a5edf4b759b0a68803a2b0c4d` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T13:43:24.249479+00:00 |
| **Fin** | 2025-12-17T13:44:54.173319+00:00 |
| **Durée** | 89.9s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [ali2v.xeon.home]
ok: [hp.nas.home]
ok: [hp3.i5.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [orangepi.pc.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
TASK [Get system uptime] *******************************************************
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003687", "end": "2025-12-17 08:44:28.528260", "msg": "", "rc": 0, "start": "2025-12-17 08:44:28.524573", "stderr": "", "stderr_lines": [], "stdout": " 08:44:28 up 21 days, 21:55, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 08:44:28 up 21 days, 21:55, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003656", "end": "2025-12-17 08:44:28.514850", "msg": "", "rc": 0, "start": "2025-12-17 08:44:28.511194", "stderr": "", "stderr_lines": [], "stdout": " 08:44:28 up 21 days, 19:55, 1 user, load average: 0.87, 0.82, 0.85", "stdout_lines": [" 08:44:28 up 21 days, 19:55, 1 user, load average: 0.87, 0.82, 0.85"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003469", "end": "2025-12-17 08:44:28.530347", "msg": "", "rc": 0, "start": "2025-12-17 08:44:28.526878", "stderr": "", "stderr_lines": [], "stdout": " 08:44:28 up 21 days, 19:35, 1 user, load average: 0.39, 0.38, 0.37", "stdout_lines": [" 08:44:28 up 21 days, 19:35, 1 user, load average: 0.39, 0.38, 0.37"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003145", "end": "2025-12-17 08:44:28.520509", "msg": "", "rc": 0, "start": "2025-12-17 08:44:28.517364", "stderr": "", "stderr_lines": [], "stdout": " 08:44:28 up 2 days, 22:16, 1 user, load average: 0.32, 0.17, 0.17", "stdout_lines": [" 08:44:28 up 2 days, 22:16, 1 user, load average: 0.32, 0.17, 0.17"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004102", "end": "2025-12-17 08:44:28.553017", "msg": "", "rc": 0, "start": "2025-12-17 08:44:28.548915", "stderr": "", "stderr_lines": [], "stdout": " 08:44:28 up 21 days, 21:09, 1 user, load average: 0.82, 0.68, 0.62", "stdout_lines": [" 08:44:28 up 21 days, 21:09, 1 user, load average: 0.82, 0.68, 0.62"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009367", "end": "2025-12-17 08:44:30.171143", "msg": "", "rc": 0, "start": "2025-12-17 08:44:30.161776", "stderr": "", "stderr_lines": [], "stdout": " 08:44:30 up 194 days, 17 min, 1 user, load average: 0.11, 0.15, 0.17", "stdout_lines": [" 08:44:30 up 194 days, 17 min, 1 user, load average: 0.11, 0.15, 0.17"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002997", "end": "2025-12-17 08:44:04.076835", "msg": "", "rc": 0, "start": "2025-12-17 08:44:04.073838", "stderr": "", "stderr_lines": [], "stdout": " 08:44:04 up 10 days, 20:33, 0 user, load average: 0.77, 0.39, 0.23", "stdout_lines": [" 08:44:04 up 10 days, 20:33, 0 user, load average: 0.77, 0.39, 0.23"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003585", "end": "2025-12-17 08:43:57.655007", "msg": "", "rc": 0, "start": "2025-12-17 08:43:57.651422", "stderr": "", "stderr_lines": [], "stdout": " 08:43:57 up 17 days, 16:46, 0 user, load average: 0.16, 0.08, 0.01", "stdout_lines": [" 08:43:57 up 17 days, 16:46, 0 user, load average: 0.16, 0.08, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008454", "end": "2025-12-17 08:44:30.438723", "msg": "", "rc": 0, "start": "2025-12-17 08:44:30.430269", "stderr": "", "stderr_lines": [], "stdout": " 08:44:30 up 194 days, 17 min, 1 user, load average: 0.05, 0.07, 0.08", "stdout_lines": [" 08:44:30 up 194 days, 17 min, 1 user, load average: 0.05, 0.07, 0.08"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019678", "end": "2025-12-17 08:44:30.684390", "msg": "", "rc": 0, "start": "2025-12-17 08:44:30.664712", "stderr": "", "stderr_lines": [], "stdout": " 08:44:30 up 14 days, 22:11, 1 user, load average: 0.16, 0.05, 0.01", "stdout_lines": [" 08:44:30 up 14 days, 22:11, 1 user, load average: 0.16, 0.05, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005028", "end": "2025-12-17 08:44:31.561896", "msg": "", "rc": 0, "start": "2025-12-17 08:44:31.556868", "stderr": "", "stderr_lines": [], "stdout": " 08:44:31 up 2 days, 22:16, 1 user, load average: 0.05, 0.05, 0.01", "stdout_lines": [" 08:44:31 up 2 days, 22:16, 1 user, load average: 0.05, 0.05, 0.01"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004447", "end": "2025-12-17 05:44:31.983386", "msg": "", "rc": 0, "start": "2025-12-17 05:44:31.978939", "stderr": "", "stderr_lines": [], "stdout": " 5:44AM up 21 days, 19:34, 1 user, load averages: 0.06, 0.21, 0.23", "stdout_lines": [" 5:44AM up 21 days, 19:34, 1 user, load averages: 0.06, 0.21, 0.23"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008526", "end": "2025-12-17 08:44:08.385297", "msg": "", "rc": 0, "start": "2025-12-17 08:44:08.376771", "stderr": "", "stderr_lines": [], "stdout": " 08:44:08 up 16 days, 21:59, 0 user, load average: 0.48, 0.39, 0.42", "stdout_lines": [" 08:44:08 up 16 days, 21:59, 0 user, load average: 0.48, 0.39, 0.42"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003094", "end": "2025-12-17 08:44:02.037570", "msg": "", "rc": 0, "start": "2025-12-17 08:44:02.034476", "stderr": "", "stderr_lines": [], "stdout": " 08:44:02 up 20 days, 11:38, 0 user, load average: 0.36, 0.35, 0.38", "stdout_lines": [" 08:44:02 up 20 days, 11:38, 0 user, load average: 0.36, 0.35, 0.38"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004344", "end": "2025-12-17 08:44:32.150310", "msg": "", "rc": 0, "start": "2025-12-17 08:44:32.145966", "stderr": "", "stderr_lines": [], "stdout": " 08:44:32 up 2 days, 22:16, 1 user, load average: 0.40, 0.33, 0.14", "stdout_lines": [" 08:44:32 up 2 days, 22:16, 1 user, load average: 0.40, 0.33, 0.14"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.058866", "end": "2025-12-17 08:44:34.589025", "msg": "", "rc": 0, "start": "2025-12-17 08:44:34.530159", "stderr": "", "stderr_lines": [], "stdout": " 08:44:34 up 1 day, 2:03, 1 user, load average: 3.13, 1.78, 1.37", "stdout_lines": [" 08:44:34 up 1 day, 2:03, 1 user, load average: 3.13, 1.78, 1.37"]}
TASK [Get disk usage] **********************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004336", "end": "2025-12-17 08:44:35.781651", "msg": "", "rc": 0, "start": "2025-12-17 08:44:35.777315", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004720", "end": "2025-12-17 08:44:35.843133", "msg": "", "rc": 0, "start": "2025-12-17 08:44:35.838413", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005497", "end": "2025-12-17 08:44:36.028353", "msg": "", "rc": 0, "start": "2025-12-17 08:44:36.022856", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004791", "end": "2025-12-17 08:44:36.113689", "msg": "", "rc": 0, "start": "2025-12-17 08:44:36.108898", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.120445", "end": "2025-12-17 08:44:36.460675", "msg": "", "rc": 0, "start": "2025-12-17 08:44:36.340230", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004872", "end": "2025-12-17 08:44:10.891652", "msg": "", "rc": 0, "start": "2025-12-17 08:44:10.886780", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011488", "end": "2025-12-17 08:44:37.085133", "msg": "", "rc": 0, "start": "2025-12-17 08:44:37.073645", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010599", "end": "2025-12-17 08:44:37.356350", "msg": "", "rc": 0, "start": "2025-12-17 08:44:37.345751", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.009594", "end": "2025-12-17 08:44:04.850640", "msg": "", "rc": 0, "start": "2025-12-17 08:44:04.841046", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005762", "end": "2025-12-17 08:44:37.881018", "msg": "", "rc": 0, "start": "2025-12-17 08:44:37.875256", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025599", "end": "2025-12-17 08:44:37.926117", "msg": "", "rc": 0, "start": "2025-12-17 08:44:37.900518", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005575", "end": "2025-12-17 08:44:08.101455", "msg": "", "rc": 0, "start": "2025-12-17 08:44:08.095880", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008671", "end": "2025-12-17 08:44:14.856936", "msg": "", "rc": 0, "start": "2025-12-17 08:44:14.848265", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005635", "end": "2025-12-17 05:44:38.546674", "msg": "", "rc": 0, "start": "2025-12-17 05:44:38.541039", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005600", "end": "2025-12-17 08:44:38.760665", "msg": "", "rc": 0, "start": "2025-12-17 08:44:38.755065", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008819", "end": "2025-12-17 08:44:39.430012", "msg": "", "rc": 0, "start": "2025-12-17 08:44:39.421193", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004125", "end": "2025-12-17 08:44:39.904122", "msg": "", "rc": 0, "start": "2025-12-17 08:44:39.899997", "stderr": "", "stderr_lines": [], "stdout": "22.3%", "stdout_lines": ["22.3%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004900", "end": "2025-12-17 08:44:40.095996", "msg": "", "rc": 0, "start": "2025-12-17 08:44:40.091096", "stderr": "", "stderr_lines": [], "stdout": "49.2%", "stdout_lines": ["49.2%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.007307", "end": "2025-12-17 08:44:40.150821", "msg": "", "rc": 0, "start": "2025-12-17 08:44:40.143514", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004991", "end": "2025-12-17 08:44:40.188587", "msg": "", "rc": 0, "start": "2025-12-17 08:44:40.183596", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.043952", "end": "2025-12-17 08:44:40.438363", "msg": "", "rc": 0, "start": "2025-12-17 08:44:40.394411", "stderr": "", "stderr_lines": [], "stdout": "78.4%", "stdout_lines": ["78.4%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003853", "end": "2025-12-17 08:44:14.820004", "msg": "", "rc": 0, "start": "2025-12-17 08:44:14.816151", "stderr": "", "stderr_lines": [], "stdout": "70.9%", "stdout_lines": ["70.9%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011986", "end": "2025-12-17 08:44:41.169793", "msg": "", "rc": 0, "start": "2025-12-17 08:44:41.157807", "stderr": "", "stderr_lines": [], "stdout": "12.7%", "stdout_lines": ["12.7%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011005", "end": "2025-12-17 08:44:41.226456", "msg": "", "rc": 0, "start": "2025-12-17 08:44:41.215451", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005259", "end": "2025-12-17 08:44:08.810135", "msg": "", "rc": 0, "start": "2025-12-17 08:44:08.804876", "stderr": "", "stderr_lines": [], "stdout": "67.7%", "stdout_lines": ["67.7%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026224", "end": "2025-12-17 08:44:41.629303", "msg": "", "rc": 0, "start": "2025-12-17 08:44:41.603079", "stderr": "", "stderr_lines": [], "stdout": "18.9%", "stdout_lines": ["18.9%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005852", "end": "2025-12-17 08:44:41.880222", "msg": "", "rc": 0, "start": "2025-12-17 08:44:41.874370", "stderr": "", "stderr_lines": [], "stdout": "35.3%", "stdout_lines": ["35.3%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009810", "end": "2025-12-17 08:44:18.469653", "msg": "", "rc": 0, "start": "2025-12-17 08:44:18.459843", "stderr": "", "stderr_lines": [], "stdout": "58.4%", "stdout_lines": ["58.4%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003998", "end": "2025-12-17 08:44:12.095568", "msg": "", "rc": 0, "start": "2025-12-17 08:44:12.091570", "stderr": "", "stderr_lines": [], "stdout": "27.3%", "stdout_lines": ["27.3%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005121", "end": "2025-12-17 05:44:42.464760", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 05:44:42.459639", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005436", "end": "2025-12-17 08:44:42.652778", "msg": "", "rc": 0, "start": "2025-12-17 08:44:42.647342", "stderr": "", "stderr_lines": [], "stdout": "13.9%", "stdout_lines": ["13.9%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.054234", "end": "2025-12-17 08:44:44.592568", "msg": "", "rc": 0, "start": "2025-12-17 08:44:44.538334", "stderr": "", "stderr_lines": [], "stdout": "20.7%", "stdout_lines": ["20.7%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004976", "end": "2025-12-17 08:44:45.362247", "msg": "", "rc": 0, "start": "2025-12-17 08:44:45.357271", "stderr": "", "stderr_lines": [], "stdout": "44.0°C", "stdout_lines": ["44.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005675", "end": "2025-12-17 08:44:45.410943", "msg": "", "rc": 0, "start": "2025-12-17 08:44:45.405268", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006451", "end": "2025-12-17 08:44:45.615884", "msg": "", "rc": 0, "start": "2025-12-17 08:44:45.609433", "stderr": "", "stderr_lines": [], "stdout": "52.5°C", "stdout_lines": ["52.5°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003030", "end": "2025-12-17 08:44:45.805546", "msg": "", "rc": 0, "start": "2025-12-17 08:44:45.802516", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.107112", "end": "2025-12-17 08:44:45.872677", "msg": "", "rc": 0, "start": "2025-12-17 08:44:45.765565", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003059", "end": "2025-12-17 08:44:20.680632", "msg": "", "rc": 0, "start": "2025-12-17 08:44:20.677573", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012937", "end": "2025-12-17 08:44:46.994989", "msg": "", "rc": 0, "start": "2025-12-17 08:44:46.982052", "stderr": "", "stderr_lines": [], "stdout": "35.5°C", "stdout_lines": ["35.5°C"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003165", "end": "2025-12-17 08:44:14.406693", "msg": "", "rc": 0, "start": "2025-12-17 08:44:14.403528", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011905", "end": "2025-12-17 08:44:47.190756", "msg": "", "rc": 0, "start": "2025-12-17 08:44:47.178851", "stderr": "", "stderr_lines": [], "stdout": "31.2°C", "stdout_lines": ["31.2°C"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.029012", "end": "2025-12-17 08:44:47.674031", "msg": "", "rc": 0, "start": "2025-12-17 08:44:47.645019", "stderr": "", "stderr_lines": [], "stdout": "34.1°C", "stdout_lines": ["34.1°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003288", "end": "2025-12-17 08:44:48.275329", "msg": "", "rc": 0, "start": "2025-12-17 08:44:48.272041", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003007", "end": "2025-12-17 08:44:18.419646", "msg": "", "rc": 0, "start": "2025-12-17 08:44:18.416639", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003965", "end": "2025-12-17 05:44:48.533544", "msg": "", "rc": 0, "start": "2025-12-17 05:44:48.529579", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002854", "end": "2025-12-17 08:44:24.948003", "msg": "", "rc": 0, "start": "2025-12-17 08:44:24.945149", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003016", "end": "2025-12-17 08:44:49.090326", "msg": "", "rc": 0, "start": "2025-12-17 08:44:49.087310", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006491", "end": "2025-12-17 08:44:51.054330", "msg": "", "rc": 0, "start": "2025-12-17 08:44:51.047839", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
TASK [Get CPU load] ************************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004046", "end": "2025-12-17 08:44:51.294105", "msg": "", "rc": 0, "start": "2025-12-17 08:44:51.290059", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004547", "end": "2025-12-17 08:44:51.297999", "msg": "", "rc": 0, "start": "2025-12-17 08:44:51.293452", "stderr": "", "stderr_lines": [], "stdout": "0.69", "stdout_lines": ["0.69"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005105", "end": "2025-12-17 08:44:51.330344", "msg": "", "rc": 0, "start": "2025-12-17 08:44:51.325239", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005783", "end": "2025-12-17 08:44:51.332235", "msg": "", "rc": 0, "start": "2025-12-17 08:44:51.326452", "stderr": "", "stderr_lines": [], "stdout": "0.73", "stdout_lines": ["0.73"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004331", "end": "2025-12-17 08:44:51.467170", "msg": "", "rc": 0, "start": "2025-12-17 08:44:51.462839", "stderr": "", "stderr_lines": [], "stdout": "0.51", "stdout_lines": ["0.51"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004507", "end": "2025-12-17 08:44:25.563629", "msg": "", "rc": 0, "start": "2025-12-17 08:44:25.559122", "stderr": "", "stderr_lines": [], "stdout": "0.78", "stdout_lines": ["0.78"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005848", "end": "2025-12-17 08:44:19.311097", "msg": "", "rc": 0, "start": "2025-12-17 08:44:19.305249", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010265", "end": "2025-12-17 08:44:52.053948", "msg": "", "rc": 0, "start": "2025-12-17 08:44:52.043683", "stderr": "", "stderr_lines": [], "stdout": "0.03", "stdout_lines": ["0.03"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011291", "end": "2025-12-17 08:44:52.079968", "msg": "", "rc": 0, "start": "2025-12-17 08:44:52.068677", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005589", "end": "2025-12-17 08:44:52.283102", "msg": "", "rc": 0, "start": "2025-12-17 08:44:52.277513", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004655", "end": "2025-12-17 08:44:28.934092", "msg": "", "rc": 0, "start": "2025-12-17 08:44:28.929437", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004827", "end": "2025-12-17 08:44:22.486656", "msg": "", "rc": 0, "start": "2025-12-17 08:44:22.481829", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006019", "end": "2025-12-17 05:44:52.552360", "msg": "", "rc": 0, "start": "2025-12-17 05:44:52.546341", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005279", "end": "2025-12-17 08:44:52.708732", "msg": "", "rc": 0, "start": "2025-12-17 08:44:52.703453", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024789", "end": "2025-12-17 08:44:52.777284", "msg": "", "rc": 0, "start": "2025-12-17 08:44:52.752495", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008323", "end": "2025-12-17 08:44:53.159945", "msg": "", "rc": 0, "start": "2025-12-17 08:44:53.151622", "stderr": "", "stderr_lines": [], "stdout": "3.23", "stdout_lines": ["3.23"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:28 up 2 days, 22:16, 1 user, load average: 0.32, 0.17, 0.17\nDisk Usage: 22%\nMemory Usage: 22.3%\nCPU Load: 0.27\nCPU Temp: 44.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:28 up 21 days, 19:35, 1 user, load average: 0.39, 0.38, 0.37\nDisk Usage: 23%\nMemory Usage: 78.4%\nCPU Load: 0.51\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:28 up 21 days, 19:55, 1 user, load average: 0.87, 0.82, 0.85\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.69\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:28 up 21 days, 21:55, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:28 up 21 days, 21:09, 1 user, load average: 0.82, 0.68, 0.62\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.73\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:30 up 14 days, 22:11, 1 user, load average: 0.16, 0.05, 0.01\nDisk Usage: 21%\nMemory Usage: 18.9%\nCPU Load: 0.18\nCPU Temp: 34.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:30 up 194 days, 17 min, 1 user, load average: 0.11, 0.15, 0.17\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.08\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:30 up 194 days, 17 min, 1 user, load average: 0.05, 0.07, 0.08\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.03\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:04 up 10 days, 20:33, 0 user, load average: 0.77, 0.39, 0.23\nDisk Usage: 48%\nMemory Usage: 70.9%\nCPU Load: 0.78\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:43:57 up 17 days, 16:46, 0 user, load average: 0.16, 0.08, 0.01\nDisk Usage: 24%\nMemory Usage: 67.7%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:31 up 2 days, 22:16, 1 user, load average: 0.05, 0.05, 0.01\nDisk Usage: 1%\nMemory Usage: 35.3%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:02 up 20 days, 11:38, 0 user, load average: 0.36, 0.35, 0.38\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.33\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:08 up 16 days, 21:59, 0 user, load average: 0.48, 0.39, 0.42\nDisk Usage: 76%\nMemory Usage: 58.4%\nCPU Load: 0.35\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 5:44AM up 21 days, 19:34, 1 user, load averages: 0.06, 0.21, 0.23\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:32 up 2 days, 22:16, 1 user, load average: 0.40, 0.33, 0.14\nDisk Usage: 79%\nMemory Usage: 13.9%\nCPU Load: 0.28\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:34 up 1 day, 2:03, 1 user, load average: 3.13, 1.78, 1.37\nDisk Usage: 1%\nMemory Usage: 20.7%\nCPU Load: 3.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T13:44:54.216751+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `d369841c066f45de8a13435313d57383` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T13:45:00.001243+00:00 |
| **Fin** | 2025-12-17T13:45:17.532252+00:00 |
| **Durée** | 17.5s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003071", "end": "2025-12-17 08:45:07.426135", "msg": "", "rc": 0, "start": "2025-12-17 08:45:07.423064", "stderr": "", "stderr_lines": [], "stdout": " 08:45:07 up 21 days, 19:36, 1 user, load average: 0.55, 0.42, 0.38", "stdout_lines": [" 08:45:07 up 21 days, 19:36, 1 user, load average: 0.55, 0.42, 0.38"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003217", "end": "2025-12-17 08:45:07.440187", "msg": "", "rc": 0, "start": "2025-12-17 08:45:07.436970", "stderr": "", "stderr_lines": [], "stdout": " 08:45:07 up 21 days, 19:56, 1 user, load average: 0.69, 0.78, 0.84", "stdout_lines": [" 08:45:07 up 21 days, 19:56, 1 user, load average: 0.69, 0.78, 0.84"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003461", "end": "2025-12-17 08:45:07.441610", "msg": "", "rc": 0, "start": "2025-12-17 08:45:07.438149", "stderr": "", "stderr_lines": [], "stdout": " 08:45:07 up 21 days, 21:55, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 08:45:07 up 21 days, 21:55, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003033", "end": "2025-12-17 08:45:07.458194", "msg": "", "rc": 0, "start": "2025-12-17 08:45:07.455161", "stderr": "", "stderr_lines": [], "stdout": " 08:45:07 up 2 days, 22:17, 1 user, load average: 0.36, 0.20, 0.18", "stdout_lines": [" 08:45:07 up 2 days, 22:17, 1 user, load average: 0.36, 0.20, 0.18"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003873", "end": "2025-12-17 08:45:07.463895", "msg": "", "rc": 0, "start": "2025-12-17 08:45:07.460022", "stderr": "", "stderr_lines": [], "stdout": " 08:45:07 up 21 days, 21:09, 1 user, load average: 0.78, 0.69, 0.63", "stdout_lines": [" 08:45:07 up 21 days, 21:09, 1 user, load average: 0.78, 0.69, 0.63"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002829", "end": "2025-12-17 08:44:41.696596", "msg": "", "rc": 0, "start": "2025-12-17 08:44:41.693767", "stderr": "", "stderr_lines": [], "stdout": " 08:44:41 up 10 days, 20:34, 0 user, load average: 0.76, 0.43, 0.25", "stdout_lines": [" 08:44:41 up 10 days, 20:34, 0 user, load average: 0.76, 0.43, 0.25"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003260", "end": "2025-12-17 08:44:35.317310", "msg": "", "rc": 0, "start": "2025-12-17 08:44:35.314050", "stderr": "", "stderr_lines": [], "stdout": " 08:44:35 up 17 days, 16:46, 0 user, load average: 0.18, 0.10, 0.02", "stdout_lines": [" 08:44:35 up 17 days, 16:46, 0 user, load average: 0.18, 0.10, 0.02"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009242", "end": "2025-12-17 08:45:08.138420", "msg": "", "rc": 0, "start": "2025-12-17 08:45:08.129178", "stderr": "", "stderr_lines": [], "stdout": " 08:45:08 up 194 days, 17 min, 1 user, load average: 0.21, 0.17, 0.17", "stdout_lines": [" 08:45:08 up 194 days, 17 min, 1 user, load average: 0.21, 0.17, 0.17"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009056", "end": "2025-12-17 08:45:08.170445", "msg": "", "rc": 0, "start": "2025-12-17 08:45:08.161389", "stderr": "", "stderr_lines": [], "stdout": " 08:45:08 up 194 days, 18 min, 1 user, load average: 0.02, 0.06, 0.08", "stdout_lines": [" 08:45:08 up 194 days, 18 min, 1 user, load average: 0.02, 0.06, 0.08"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004977", "end": "2025-12-17 08:45:08.408854", "msg": "", "rc": 0, "start": "2025-12-17 08:45:08.403877", "stderr": "", "stderr_lines": [], "stdout": " 08:45:08 up 2 days, 22:16, 1 user, load average: 0.18, 0.08, 0.01", "stdout_lines": [" 08:45:08 up 2 days, 22:16, 1 user, load average: 0.18, 0.08, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003751", "end": "2025-12-17 08:44:38.504890", "msg": "", "rc": 0, "start": "2025-12-17 08:44:38.501139", "stderr": "", "stderr_lines": [], "stdout": " 08:44:38 up 20 days, 11:38, 0 user, load average: 0.32, 0.34, 0.37", "stdout_lines": [" 08:44:38 up 20 days, 11:38, 0 user, load average: 0.32, 0.34, 0.37"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004191", "end": "2025-12-17 05:45:08.627723", "msg": "", "rc": 0, "start": "2025-12-17 05:45:08.623532", "stderr": "", "stderr_lines": [], "stdout": " 5:45AM up 21 days, 19:34, 1 user, load averages: 0.17, 0.22, 0.23", "stdout_lines": [" 5:45AM up 21 days, 19:34, 1 user, load averages: 0.17, 0.22, 0.23"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002884", "end": "2025-12-17 08:44:45.028694", "msg": "", "rc": 0, "start": "2025-12-17 08:44:45.025810", "stderr": "", "stderr_lines": [], "stdout": " 08:44:45 up 16 days, 22:00, 0 user, load average: 0.42, 0.38, 0.42", "stdout_lines": [" 08:44:45 up 16 days, 22:00, 0 user, load average: 0.42, 0.38, 0.42"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003579", "end": "2025-12-17 08:45:08.821220", "msg": "", "rc": 0, "start": "2025-12-17 08:45:08.817641", "stderr": "", "stderr_lines": [], "stdout": " 08:45:08 up 2 days, 22:16, 1 user, load average: 0.26, 0.30, 0.14", "stdout_lines": [" 08:45:08 up 2 days, 22:16, 1 user, load average: 0.26, 0.30, 0.14"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005102", "end": "2025-12-17 08:45:09.342404", "msg": "", "rc": 0, "start": "2025-12-17 08:45:09.337302", "stderr": "", "stderr_lines": [], "stdout": " 08:45:09 up 1 day, 2:03, 1 user, load average: 2.95, 1.90, 1.43", "stdout_lines": [" 08:45:09 up 1 day, 2:03, 1 user, load average: 2.95, 1.90, 1.43"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019822", "end": "2025-12-17 08:45:08.817162", "msg": "", "rc": 0, "start": "2025-12-17 08:45:08.797340", "stderr": "", "stderr_lines": [], "stdout": " 08:45:08 up 14 days, 22:11, 1 user, load average: 0.14, 0.06, 0.01", "stdout_lines": [" 08:45:08 up 14 days, 22:11, 1 user, load average: 0.14, 0.06, 0.01"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004280", "end": "2025-12-17 08:45:09.343208", "msg": "", "rc": 0, "start": "2025-12-17 08:45:09.338928", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004274", "end": "2025-12-17 08:45:09.369560", "msg": "", "rc": 0, "start": "2025-12-17 08:45:09.365286", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004592", "end": "2025-12-17 08:45:09.381770", "msg": "", "rc": 0, "start": "2025-12-17 08:45:09.377178", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004771", "end": "2025-12-17 08:45:09.405153", "msg": "", "rc": 0, "start": "2025-12-17 08:45:09.400382", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005450", "end": "2025-12-17 08:45:09.416102", "msg": "", "rc": 0, "start": "2025-12-17 08:45:09.410652", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004804", "end": "2025-12-17 08:44:43.614590", "msg": "", "rc": 0, "start": "2025-12-17 08:44:43.609786", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005467", "end": "2025-12-17 08:44:37.237629", "msg": "", "rc": 0, "start": "2025-12-17 08:44:37.232162", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010395", "end": "2025-12-17 08:45:10.033394", "msg": "", "rc": 0, "start": "2025-12-17 08:45:10.022999", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011463", "end": "2025-12-17 08:45:10.063139", "msg": "", "rc": 0, "start": "2025-12-17 08:45:10.051676", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005914", "end": "2025-12-17 08:45:10.320528", "msg": "", "rc": 0, "start": "2025-12-17 08:45:10.314614", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005470", "end": "2025-12-17 08:44:40.401655", "msg": "", "rc": 0, "start": "2025-12-17 08:44:40.396185", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005413", "end": "2025-12-17 05:45:10.512199", "msg": "", "rc": 0, "start": "2025-12-17 05:45:10.506786", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004801", "end": "2025-12-17 08:44:46.905478", "msg": "", "rc": 0, "start": "2025-12-17 08:44:46.900677", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005279", "end": "2025-12-17 08:45:10.745825", "msg": "", "rc": 0, "start": "2025-12-17 08:45:10.740546", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007427", "end": "2025-12-17 08:45:11.283813", "msg": "", "rc": 0, "start": "2025-12-17 08:45:11.276386", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025381", "end": "2025-12-17 08:45:10.722518", "msg": "", "rc": 0, "start": "2025-12-17 08:45:10.697137", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004374", "end": "2025-12-17 08:45:11.251113", "msg": "", "rc": 0, "start": "2025-12-17 08:45:11.246739", "stderr": "", "stderr_lines": [], "stdout": "78.5%", "stdout_lines": ["78.5%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004135", "end": "2025-12-17 08:45:11.261060", "msg": "", "rc": 0, "start": "2025-12-17 08:45:11.256925", "stderr": "", "stderr_lines": [], "stdout": "22.3%", "stdout_lines": ["22.3%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004630", "end": "2025-12-17 08:45:11.293876", "msg": "", "rc": 0, "start": "2025-12-17 08:45:11.289246", "stderr": "", "stderr_lines": [], "stdout": "49.2%", "stdout_lines": ["49.2%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004866", "end": "2025-12-17 08:45:11.312010", "msg": "", "rc": 0, "start": "2025-12-17 08:45:11.307144", "stderr": "", "stderr_lines": [], "stdout": "9.1%", "stdout_lines": ["9.1%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006067", "end": "2025-12-17 08:45:11.344203", "msg": "", "rc": 0, "start": "2025-12-17 08:45:11.338136", "stderr": "", "stderr_lines": [], "stdout": "59.5%", "stdout_lines": ["59.5%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003672", "end": "2025-12-17 08:44:45.589014", "msg": "", "rc": 0, "start": "2025-12-17 08:44:45.585342", "stderr": "", "stderr_lines": [], "stdout": "71.0%", "stdout_lines": ["71.0%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005299", "end": "2025-12-17 08:44:39.235560", "msg": "", "rc": 0, "start": "2025-12-17 08:44:39.230261", "stderr": "", "stderr_lines": [], "stdout": "67.6%", "stdout_lines": ["67.6%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010985", "end": "2025-12-17 08:45:11.975286", "msg": "", "rc": 0, "start": "2025-12-17 08:45:11.964301", "stderr": "", "stderr_lines": [], "stdout": "7.0%", "stdout_lines": ["7.0%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012037", "end": "2025-12-17 08:45:11.981703", "msg": "", "rc": 0, "start": "2025-12-17 08:45:11.969666", "stderr": "", "stderr_lines": [], "stdout": "13.6%", "stdout_lines": ["13.6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005829", "end": "2025-12-17 08:45:12.301371", "msg": "", "rc": 0, "start": "2025-12-17 08:45:12.295542", "stderr": "", "stderr_lines": [], "stdout": "35.2%", "stdout_lines": ["35.2%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005078", "end": "2025-12-17 05:45:12.426660", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 05:45:12.421582", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004256", "end": "2025-12-17 08:44:48.866351", "msg": "", "rc": 0, "start": "2025-12-17 08:44:48.862095", "stderr": "", "stderr_lines": [], "stdout": "58.6%", "stdout_lines": ["58.6%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004525", "end": "2025-12-17 08:44:42.433809", "msg": "", "rc": 0, "start": "2025-12-17 08:44:42.429284", "stderr": "", "stderr_lines": [], "stdout": "26.3%", "stdout_lines": ["26.3%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005447", "end": "2025-12-17 08:45:12.722611", "msg": "", "rc": 0, "start": "2025-12-17 08:45:12.717164", "stderr": "", "stderr_lines": [], "stdout": "13.9%", "stdout_lines": ["13.9%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006711", "end": "2025-12-17 08:45:13.301374", "msg": "", "rc": 0, "start": "2025-12-17 08:45:13.294663", "stderr": "", "stderr_lines": [], "stdout": "21.0%", "stdout_lines": ["21.0%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026034", "end": "2025-12-17 08:45:12.651792", "msg": "", "rc": 0, "start": "2025-12-17 08:45:12.625758", "stderr": "", "stderr_lines": [], "stdout": "19.7%", "stdout_lines": ["19.7%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004995", "end": "2025-12-17 08:45:13.176139", "msg": "", "rc": 0, "start": "2025-12-17 08:45:13.171144", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005514", "end": "2025-12-17 08:45:13.194638", "msg": "", "rc": 0, "start": "2025-12-17 08:45:13.189124", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004907", "end": "2025-12-17 08:45:13.200617", "msg": "", "rc": 0, "start": "2025-12-17 08:45:13.195710", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003408", "end": "2025-12-17 08:45:13.220675", "msg": "", "rc": 0, "start": "2025-12-17 08:45:13.217267", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006998", "end": "2025-12-17 08:45:13.248349", "msg": "", "rc": 0, "start": "2025-12-17 08:45:13.241351", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002441", "end": "2025-12-17 08:44:47.425003", "msg": "", "rc": 0, "start": "2025-12-17 08:44:47.422562", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003451", "end": "2025-12-17 08:44:41.088406", "msg": "", "rc": 0, "start": "2025-12-17 08:44:41.084955", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011910", "end": "2025-12-17 08:45:13.960010", "msg": "", "rc": 0, "start": "2025-12-17 08:45:13.948100", "stderr": "", "stderr_lines": [], "stdout": "32.1°C", "stdout_lines": ["32.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013003", "end": "2025-12-17 08:45:13.997061", "msg": "", "rc": 0, "start": "2025-12-17 08:45:13.984058", "stderr": "", "stderr_lines": [], "stdout": "35.5°C", "stdout_lines": ["35.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003321", "end": "2025-12-17 08:45:14.142799", "msg": "", "rc": 0, "start": "2025-12-17 08:45:14.139478", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003511", "end": "2025-12-17 08:44:44.278092", "msg": "", "rc": 0, "start": "2025-12-17 08:44:44.274581", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004034", "end": "2025-12-17 05:45:14.446546", "msg": "", "rc": 0, "start": "2025-12-17 05:45:14.442512", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002618", "end": "2025-12-17 08:44:50.842081", "msg": "", "rc": 0, "start": "2025-12-17 08:44:50.839463", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003194", "end": "2025-12-17 08:45:14.568525", "msg": "", "rc": 0, "start": "2025-12-17 08:45:14.565331", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003740", "end": "2025-12-17 08:45:15.130257", "msg": "", "rc": 0, "start": "2025-12-17 08:45:15.126517", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028661", "end": "2025-12-17 08:45:14.568476", "msg": "", "rc": 0, "start": "2025-12-17 08:45:14.539815", "stderr": "", "stderr_lines": [], "stdout": "35.2°C", "stdout_lines": ["35.2°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004203", "end": "2025-12-17 08:45:15.082388", "msg": "", "rc": 0, "start": "2025-12-17 08:45:15.078185", "stderr": "", "stderr_lines": [], "stdout": "0.46", "stdout_lines": ["0.46"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004077", "end": "2025-12-17 08:45:15.101072", "msg": "", "rc": 0, "start": "2025-12-17 08:45:15.096995", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004606", "end": "2025-12-17 08:45:15.123499", "msg": "", "rc": 0, "start": "2025-12-17 08:45:15.118893", "stderr": "", "stderr_lines": [], "stdout": "0.87", "stdout_lines": ["0.87"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005545", "end": "2025-12-17 08:45:15.152233", "msg": "", "rc": 0, "start": "2025-12-17 08:45:15.146688", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005624", "end": "2025-12-17 08:45:15.183597", "msg": "", "rc": 0, "start": "2025-12-17 08:45:15.177973", "stderr": "", "stderr_lines": [], "stdout": "0.80", "stdout_lines": ["0.80"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004292", "end": "2025-12-17 08:44:49.362556", "msg": "", "rc": 0, "start": "2025-12-17 08:44:49.358264", "stderr": "", "stderr_lines": [], "stdout": "0.94", "stdout_lines": ["0.94"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005273", "end": "2025-12-17 08:44:43.016935", "msg": "", "rc": 0, "start": "2025-12-17 08:44:43.011662", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010306", "end": "2025-12-17 08:45:15.800470", "msg": "", "rc": 0, "start": "2025-12-17 08:45:15.790164", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011066", "end": "2025-12-17 08:45:15.818807", "msg": "", "rc": 0, "start": "2025-12-17 08:45:15.807741", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005779", "end": "2025-12-17 08:45:16.078136", "msg": "", "rc": 0, "start": "2025-12-17 08:45:16.072357", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004953", "end": "2025-12-17 08:44:46.192382", "msg": "", "rc": 0, "start": "2025-12-17 08:44:46.187429", "stderr": "", "stderr_lines": [], "stdout": "0.38", "stdout_lines": ["0.38"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005985", "end": "2025-12-17 05:45:16.291166", "msg": "", "rc": 0, "start": "2025-12-17 05:45:16.285181", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004322", "end": "2025-12-17 08:44:52.710848", "msg": "", "rc": 0, "start": "2025-12-17 08:44:52.706526", "stderr": "", "stderr_lines": [], "stdout": "0.36", "stdout_lines": ["0.36"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005385", "end": "2025-12-17 08:45:16.501353", "msg": "", "rc": 0, "start": "2025-12-17 08:45:16.495968", "stderr": "", "stderr_lines": [], "stdout": "0.32", "stdout_lines": ["0.32"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024884", "end": "2025-12-17 08:45:16.483501", "msg": "", "rc": 0, "start": "2025-12-17 08:45:16.458617", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008146", "end": "2025-12-17 08:45:16.669043", "msg": "", "rc": 0, "start": "2025-12-17 08:45:16.660897", "stderr": "", "stderr_lines": [], "stdout": "2.87", "stdout_lines": ["2.87"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:45:07 up 2 days, 22:17, 1 user, load average: 0.36, 0.20, 0.18\nDisk Usage: 22%\nMemory Usage: 22.3%\nCPU Load: 0.41\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:45:07 up 21 days, 19:36, 1 user, load average: 0.55, 0.42, 0.38\nDisk Usage: 23%\nMemory Usage: 78.5%\nCPU Load: 0.46\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:45:07 up 21 days, 19:56, 1 user, load average: 0.69, 0.78, 0.84\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.87\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:45:07 up 21 days, 21:09, 1 user, load average: 0.78, 0.69, 0.63\nDisk Usage: 14%\nMemory Usage: 59.5%\nCPU Load: 0.80\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:45:07 up 21 days, 21:55, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:45:08 up 14 days, 22:11, 1 user, load average: 0.14, 0.06, 0.01\nDisk Usage: 21%\nMemory Usage: 19.7%\nCPU Load: 0.19\nCPU Temp: 35.2°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:45:08 up 194 days, 17 min, 1 user, load average: 0.21, 0.17, 0.17\nDisk Usage: 6%\nMemory Usage: 13.6%\nCPU Load: 0.34\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:45:08 up 194 days, 18 min, 1 user, load average: 0.02, 0.06, 0.08\nDisk Usage: 3%\nMemory Usage: 7.0%\nCPU Load: 0.10\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:41 up 10 days, 20:34, 0 user, load average: 0.76, 0.43, 0.25\nDisk Usage: 48%\nMemory Usage: 71.0%\nCPU Load: 0.94\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:35 up 17 days, 16:46, 0 user, load average: 0.18, 0.10, 0.02\nDisk Usage: 24%\nMemory Usage: 67.6%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:45:08 up 2 days, 22:16, 1 user, load average: 0.18, 0.08, 0.01\nDisk Usage: 1%\nMemory Usage: 35.2%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:38 up 20 days, 11:38, 0 user, load average: 0.32, 0.34, 0.37\nDisk Usage: 28%\nMemory Usage: 26.3%\nCPU Load: 0.38\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:44:45 up 16 days, 22:00, 0 user, load average: 0.42, 0.38, 0.42\nDisk Usage: 76%\nMemory Usage: 58.6%\nCPU Load: 0.36\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 5:45AM up 21 days, 19:34, 1 user, load averages: 0.17, 0.22, 0.23\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:45:08 up 2 days, 22:16, 1 user, load average: 0.26, 0.30, 0.14\nDisk Usage: 79%\nMemory Usage: 13.9%\nCPU Load: 0.32\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:45:09 up 1 day, 2:03, 1 user, load average: 2.95, 1.90, 1.43\nDisk Usage: 1%\nMemory Usage: 21.0%\nCPU Load: 2.87\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T13:45:17.577978+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `0434f1a6cf684a2f959d42755eb31d26` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T18:10:00.001013+00:00 |
| **Fin** | 2025-12-17T18:10:23.468863+00:00 |
| **Durée** | 23.5s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp2.i7.home]
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003379", "end": "2025-12-17 13:10:12.784424", "msg": "", "rc": 0, "start": "2025-12-17 13:10:12.781045", "stderr": "", "stderr_lines": [], "stdout": " 13:10:12 up 22 days, 1 min, 1 user, load average: 0.20, 0.10, 0.09", "stdout_lines": [" 13:10:12 up 22 days, 1 min, 1 user, load average: 0.20, 0.10, 0.09"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003529", "end": "2025-12-17 13:10:12.794973", "msg": "", "rc": 0, "start": "2025-12-17 13:10:12.791444", "stderr": "", "stderr_lines": [], "stdout": " 13:10:12 up 22 days, 2:20, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 13:10:12 up 22 days, 2:20, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003335", "end": "2025-12-17 13:10:12.807261", "msg": "", "rc": 0, "start": "2025-12-17 13:10:12.803926", "stderr": "", "stderr_lines": [], "stdout": " 13:10:12 up 22 days, 21 min, 1 user, load average: 0.52, 0.58, 0.71", "stdout_lines": [" 13:10:12 up 22 days, 21 min, 1 user, load average: 0.52, 0.58, 0.71"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002834", "end": "2025-12-17 13:10:12.818608", "msg": "", "rc": 0, "start": "2025-12-17 13:10:12.815774", "stderr": "", "stderr_lines": [], "stdout": " 13:10:12 up 3 days, 2:42, 1 user, load average: 0.38, 0.23, 0.19", "stdout_lines": [" 13:10:12 up 3 days, 2:42, 1 user, load average: 0.38, 0.23, 0.19"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003996", "end": "2025-12-17 13:10:12.813953", "msg": "", "rc": 0, "start": "2025-12-17 13:10:12.809957", "stderr": "", "stderr_lines": [], "stdout": " 13:10:12 up 22 days, 1:34, 1 user, load average: 0.48, 0.55, 0.62", "stdout_lines": [" 13:10:12 up 22 days, 1:34, 1 user, load average: 0.48, 0.55, 0.62"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002853", "end": "2025-12-17 13:09:46.848449", "msg": "", "rc": 0, "start": "2025-12-17 13:09:46.845596", "stderr": "", "stderr_lines": [], "stdout": " 13:09:46 up 11 days, 59 min, 0 user, load average: 0.15, 0.22, 0.18", "stdout_lines": [" 13:09:46 up 11 days, 59 min, 0 user, load average: 0.15, 0.22, 0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003623", "end": "2025-12-17 13:09:40.407483", "msg": "", "rc": 0, "start": "2025-12-17 13:09:40.403860", "stderr": "", "stderr_lines": [], "stdout": " 13:09:40 up 17 days, 21:11, 0 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 13:09:40 up 17 days, 21:11, 0 user, load average: 0.00, 0.02, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008369", "end": "2025-12-17 13:10:13.470160", "msg": "", "rc": 0, "start": "2025-12-17 13:10:13.461791", "stderr": "", "stderr_lines": [], "stdout": " 13:10:13 up 194 days, 4:43, 1 user, load average: 0.16, 0.10, 0.09", "stdout_lines": [" 13:10:13 up 194 days, 4:43, 1 user, load average: 0.16, 0.10, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009267", "end": "2025-12-17 13:10:13.503337", "msg": "", "rc": 0, "start": "2025-12-17 13:10:13.494070", "stderr": "", "stderr_lines": [], "stdout": " 13:10:13 up 194 days, 4:43, 1 user, load average: 0.52, 0.23, 0.19", "stdout_lines": [" 13:10:13 up 194 days, 4:43, 1 user, load average: 0.52, 0.23, 0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004773", "end": "2025-12-17 13:10:13.748590", "msg": "", "rc": 0, "start": "2025-12-17 13:10:13.743817", "stderr": "", "stderr_lines": [], "stdout": " 13:10:13 up 3 days, 2:41, 1 user, load average: 0.07, 0.03, 0.01", "stdout_lines": [" 13:10:13 up 3 days, 2:41, 1 user, load average: 0.07, 0.03, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003268", "end": "2025-12-17 13:09:43.594115", "msg": "", "rc": 0, "start": "2025-12-17 13:09:43.590847", "stderr": "", "stderr_lines": [], "stdout": " 13:09:43 up 20 days, 16:04, 0 user, load average: 0.33, 0.37, 0.41", "stdout_lines": [" 13:09:43 up 20 days, 16:04, 0 user, load average: 0.33, 0.37, 0.41"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004267", "end": "2025-12-17 10:10:13.979480", "msg": "", "rc": 0, "start": "2025-12-17 10:10:13.975213", "stderr": "", "stderr_lines": [], "stdout": "10:10AM up 22 days, 1 sec, 1 user, load averages: 0.35, 0.27, 0.20", "stdout_lines": ["10:10AM up 22 days, 1 sec, 1 user, load averages: 0.35, 0.27, 0.20"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.010459", "end": "2025-12-17 13:09:50.182381", "msg": "", "rc": 0, "start": "2025-12-17 13:09:50.171922", "stderr": "", "stderr_lines": [], "stdout": " 13:09:50 up 17 days, 2:25, 0 user, load average: 0.51, 0.31, 0.30", "stdout_lines": [" 13:09:50 up 17 days, 2:25, 0 user, load average: 0.51, 0.31, 0.30"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003685", "end": "2025-12-17 13:10:14.170769", "msg": "", "rc": 0, "start": "2025-12-17 13:10:14.167084", "stderr": "", "stderr_lines": [], "stdout": " 13:10:14 up 3 days, 2:41, 1 user, load average: 0.07, 0.03, 0.00", "stdout_lines": [" 13:10:14 up 3 days, 2:41, 1 user, load average: 0.07, 0.03, 0.00"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008041", "end": "2025-12-17 13:10:15.010218", "msg": "", "rc": 0, "start": "2025-12-17 13:10:15.002177", "stderr": "", "stderr_lines": [], "stdout": " 13:10:15 up 8 min, 1 user, load average: 1.31, 0.50, 0.19", "stdout_lines": [" 13:10:15 up 8 min, 1 user, load average: 1.31, 0.50, 0.19"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019876", "end": "2025-12-17 13:10:14.166192", "msg": "", "rc": 0, "start": "2025-12-17 13:10:14.146316", "stderr": "", "stderr_lines": [], "stdout": " 13:10:14 up 15 days, 2:36, 1 user, load average: 0.23, 0.05, 0.02", "stdout_lines": [" 13:10:14 up 15 days, 2:36, 1 user, load average: 0.23, 0.05, 0.02"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004329", "end": "2025-12-17 13:10:14.693748", "msg": "", "rc": 0, "start": "2025-12-17 13:10:14.689419", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004062", "end": "2025-12-17 13:10:14.708513", "msg": "", "rc": 0, "start": "2025-12-17 13:10:14.704451", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004559", "end": "2025-12-17 13:10:14.713002", "msg": "", "rc": 0, "start": "2025-12-17 13:10:14.708443", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004821", "end": "2025-12-17 13:10:14.747987", "msg": "", "rc": 0, "start": "2025-12-17 13:10:14.743166", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005673", "end": "2025-12-17 13:10:14.756978", "msg": "", "rc": 0, "start": "2025-12-17 13:10:14.751305", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005115", "end": "2025-12-17 13:09:48.761035", "msg": "", "rc": 0, "start": "2025-12-17 13:09:48.755920", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005643", "end": "2025-12-17 13:09:42.338165", "msg": "", "rc": 0, "start": "2025-12-17 13:09:42.332522", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010619", "end": "2025-12-17 13:10:15.421177", "msg": "", "rc": 0, "start": "2025-12-17 13:10:15.410558", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011494", "end": "2025-12-17 13:10:15.461541", "msg": "", "rc": 0, "start": "2025-12-17 13:10:15.450047", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005958", "end": "2025-12-17 13:10:15.745340", "msg": "", "rc": 0, "start": "2025-12-17 13:10:15.739382", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005476", "end": "2025-12-17 10:10:15.930333", "msg": "", "rc": 0, "start": "2025-12-17 10:10:15.924857", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006494", "end": "2025-12-17 13:09:45.595190", "msg": "", "rc": 0, "start": "2025-12-17 13:09:45.588696", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.009290", "end": "2025-12-17 13:09:52.118698", "msg": "", "rc": 0, "start": "2025-12-17 13:09:52.109408", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005457", "end": "2025-12-17 13:10:16.167698", "msg": "", "rc": 0, "start": "2025-12-17 13:10:16.162241", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025618", "end": "2025-12-17 13:10:16.084709", "msg": "", "rc": 0, "start": "2025-12-17 13:10:16.059091", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008958", "end": "2025-12-17 13:10:16.222669", "msg": "", "rc": 0, "start": "2025-12-17 13:10:16.213711", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004460", "end": "2025-12-17 13:10:16.600567", "msg": "", "rc": 0, "start": "2025-12-17 13:10:16.596107", "stderr": "", "stderr_lines": [], "stdout": "77.4%", "stdout_lines": ["77.4%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004165", "end": "2025-12-17 13:10:16.612897", "msg": "", "rc": 0, "start": "2025-12-17 13:10:16.608732", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004966", "end": "2025-12-17 13:10:16.649112", "msg": "", "rc": 0, "start": "2025-12-17 13:10:16.644146", "stderr": "", "stderr_lines": [], "stdout": "49.4%", "stdout_lines": ["49.4%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004942", "end": "2025-12-17 13:10:16.664496", "msg": "", "rc": 0, "start": "2025-12-17 13:10:16.659554", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005580", "end": "2025-12-17 13:10:16.663346", "msg": "", "rc": 0, "start": "2025-12-17 13:10:16.657766", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004030", "end": "2025-12-17 13:09:50.692384", "msg": "", "rc": 0, "start": "2025-12-17 13:09:50.688354", "stderr": "", "stderr_lines": [], "stdout": "71.0%", "stdout_lines": ["71.0%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004263", "end": "2025-12-17 13:09:44.246552", "msg": "", "rc": 0, "start": "2025-12-17 13:09:44.242289", "stderr": "", "stderr_lines": [], "stdout": "68.4%", "stdout_lines": ["68.4%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010950", "end": "2025-12-17 13:10:17.303650", "msg": "", "rc": 0, "start": "2025-12-17 13:10:17.292700", "stderr": "", "stderr_lines": [], "stdout": "6.8%", "stdout_lines": ["6.8%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012184", "end": "2025-12-17 13:10:17.330572", "msg": "", "rc": 0, "start": "2025-12-17 13:10:17.318388", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.9%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005921", "end": "2025-12-17 13:10:17.599223", "msg": "", "rc": 0, "start": "2025-12-17 13:10:17.593302", "stderr": "", "stderr_lines": [], "stdout": "35.6%", "stdout_lines": ["35.6%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004113", "end": "2025-12-17 13:09:47.424562", "msg": "", "rc": 0, "start": "2025-12-17 13:09:47.420449", "stderr": "", "stderr_lines": [], "stdout": "27.2%", "stdout_lines": ["27.2%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005424", "end": "2025-12-17 10:10:17.891849", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 10:10:17.886425", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009360", "end": "2025-12-17 13:09:54.101180", "msg": "", "rc": 0, "start": "2025-12-17 13:09:54.091820", "stderr": "", "stderr_lines": [], "stdout": "50.0%", "stdout_lines": ["50.0%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009104", "end": "2025-12-17 13:10:18.086170", "msg": "", "rc": 0, "start": "2025-12-17 13:10:18.077066", "stderr": "", "stderr_lines": [], "stdout": "11.9%", "stdout_lines": ["11.9%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026133", "end": "2025-12-17 13:10:17.998051", "msg": "", "rc": 0, "start": "2025-12-17 13:10:17.971918", "stderr": "", "stderr_lines": [], "stdout": "19.5%", "stdout_lines": ["19.5%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005583", "end": "2025-12-17 13:10:18.132788", "msg": "", "rc": 0, "start": "2025-12-17 13:10:18.127205", "stderr": "", "stderr_lines": [], "stdout": "13.7%", "stdout_lines": ["13.7%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005338", "end": "2025-12-17 13:10:18.770274", "msg": "", "rc": 0, "start": "2025-12-17 13:10:18.764936", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004862", "end": "2025-12-17 13:10:18.776834", "msg": "", "rc": 0, "start": "2025-12-17 13:10:18.771972", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005578", "end": "2025-12-17 13:10:18.809497", "msg": "", "rc": 0, "start": "2025-12-17 13:10:18.803919", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003392", "end": "2025-12-17 13:10:18.869948", "msg": "", "rc": 0, "start": "2025-12-17 13:10:18.866556", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006587", "end": "2025-12-17 13:10:18.874533", "msg": "", "rc": 0, "start": "2025-12-17 13:10:18.867946", "stderr": "", "stderr_lines": [], "stdout": "52.5°C", "stdout_lines": ["52.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002692", "end": "2025-12-17 13:09:52.873385", "msg": "", "rc": 0, "start": "2025-12-17 13:09:52.870693", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002821", "end": "2025-12-17 13:09:46.440946", "msg": "", "rc": 0, "start": "2025-12-17 13:09:46.438125", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011761", "end": "2025-12-17 13:10:19.461247", "msg": "", "rc": 0, "start": "2025-12-17 13:10:19.449486", "stderr": "", "stderr_lines": [], "stdout": "32.1°C", "stdout_lines": ["32.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012986", "end": "2025-12-17 13:10:19.490527", "msg": "", "rc": 0, "start": "2025-12-17 13:10:19.477541", "stderr": "", "stderr_lines": [], "stdout": "35.5°C", "stdout_lines": ["35.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003127", "end": "2025-12-17 13:10:19.890195", "msg": "", "rc": 0, "start": "2025-12-17 13:10:19.887068", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003856", "end": "2025-12-17 10:10:20.024077", "msg": "", "rc": 0, "start": "2025-12-17 10:10:20.020221", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002627", "end": "2025-12-17 13:09:56.244907", "msg": "", "rc": 0, "start": "2025-12-17 13:09:56.242280", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003255", "end": "2025-12-17 13:09:49.762167", "msg": "", "rc": 0, "start": "2025-12-17 13:09:49.758912", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028673", "end": "2025-12-17 13:10:20.157968", "msg": "", "rc": 0, "start": "2025-12-17 13:10:20.129295", "stderr": "", "stderr_lines": [], "stdout": "35.8°C", "stdout_lines": ["35.8°C"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002922", "end": "2025-12-17 13:10:20.319409", "msg": "", "rc": 0, "start": "2025-12-17 13:10:20.316487", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004178", "end": "2025-12-17 13:10:20.466227", "msg": "", "rc": 0, "start": "2025-12-17 13:10:20.462049", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
TASK [Get CPU load] ************************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004009", "end": "2025-12-17 13:10:20.775049", "msg": "", "rc": 0, "start": "2025-12-17 13:10:20.771040", "stderr": "", "stderr_lines": [], "stdout": "0.40", "stdout_lines": ["0.40"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004358", "end": "2025-12-17 13:10:20.797698", "msg": "", "rc": 0, "start": "2025-12-17 13:10:20.793340", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005028", "end": "2025-12-17 13:10:20.834972", "msg": "", "rc": 0, "start": "2025-12-17 13:10:20.829944", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005013", "end": "2025-12-17 13:10:20.872337", "msg": "", "rc": 0, "start": "2025-12-17 13:10:20.867324", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005547", "end": "2025-12-17 13:10:20.875008", "msg": "", "rc": 0, "start": "2025-12-17 13:10:20.869461", "stderr": "", "stderr_lines": [], "stdout": "0.48", "stdout_lines": ["0.48"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004627", "end": "2025-12-17 13:09:54.906848", "msg": "", "rc": 0, "start": "2025-12-17 13:09:54.902221", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005247", "end": "2025-12-17 13:09:48.445967", "msg": "", "rc": 0, "start": "2025-12-17 13:09:48.440720", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010206", "end": "2025-12-17 13:10:21.593111", "msg": "", "rc": 0, "start": "2025-12-17 13:10:21.582905", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011037", "end": "2025-12-17 13:10:21.591935", "msg": "", "rc": 0, "start": "2025-12-17 13:10:21.580898", "stderr": "", "stderr_lines": [], "stdout": "0.52", "stdout_lines": ["0.52"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005527", "end": "2025-12-17 13:10:21.810058", "msg": "", "rc": 0, "start": "2025-12-17 13:10:21.804531", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005314", "end": "2025-12-17 13:09:51.613525", "msg": "", "rc": 0, "start": "2025-12-17 13:09:51.608211", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005989", "end": "2025-12-17 10:10:22.052854", "msg": "", "rc": 0, "start": "2025-12-17 10:10:22.046865", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004575", "end": "2025-12-17 13:09:58.271847", "msg": "", "rc": 0, "start": "2025-12-17 13:09:58.267272", "stderr": "", "stderr_lines": [], "stdout": "0.51", "stdout_lines": ["0.51"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005266", "end": "2025-12-17 13:10:22.226143", "msg": "", "rc": 0, "start": "2025-12-17 13:10:22.220877", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024329", "end": "2025-12-17 13:10:22.157702", "msg": "", "rc": 0, "start": "2025-12-17 13:10:22.133373", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005732", "end": "2025-12-17 13:10:22.618200", "msg": "", "rc": 0, "start": "2025-12-17 13:10:22.612468", "stderr": "", "stderr_lines": [], "stdout": "1.57", "stdout_lines": ["1.57"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:10:12 up 22 days, 1 min, 1 user, load average: 0.20, 0.10, 0.09\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.18\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:10:12 up 3 days, 2:42, 1 user, load average: 0.38, 0.23, 0.19\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.40\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:10:12 up 22 days, 21 min, 1 user, load average: 0.52, 0.58, 0.71\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.44\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:10:12 up 22 days, 1:34, 1 user, load average: 0.48, 0.55, 0.62\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.48\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:10:12 up 22 days, 2:20, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:10:14 up 15 days, 2:36, 1 user, load average: 0.23, 0.05, 0.02\nDisk Usage: 21%\nMemory Usage: 19.5%\nCPU Load: 0.35\nCPU Temp: 35.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:10:13 up 194 days, 4:43, 1 user, load average: 0.52, 0.23, 0.19\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.52\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:10:13 up 194 days, 4:43, 1 user, load average: 0.16, 0.10, 0.09\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.23\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:09:46 up 11 days, 59 min, 0 user, load average: 0.15, 0.22, 0.18\nDisk Usage: 48%\nMemory Usage: 71.0%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:09:40 up 17 days, 21:11, 0 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 68.4%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:10:13 up 3 days, 2:41, 1 user, load average: 0.07, 0.03, 0.01\nDisk Usage: 1%\nMemory Usage: 35.6%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:09:43 up 20 days, 16:04, 0 user, load average: 0.33, 0.37, 0.41\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.31\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:09:50 up 17 days, 2:25, 0 user, load average: 0.51, 0.31, 0.30\nDisk Usage: 76%\nMemory Usage: 50.0%\nCPU Load: 0.51\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:10AM up 22 days, 1 sec, 1 user, load averages: 0.35, 0.27, 0.20\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:10:14 up 3 days, 2:41, 1 user, load average: 0.07, 0.03, 0.00\nDisk Usage: 79%\nMemory Usage: 13.7%\nCPU Load: 0.21\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:10:15 up 8 min, 1 user, load average: 1.31, 0.50, 0.19\nDisk Usage: 1%\nMemory Usage: 11.9%\nCPU Load: 1.57\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T18:10:23.596273+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `3e1fb4fc6951409dad74647694705cf7` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T18:15:00.002531+00:00 |
| **Fin** | 2025-12-17T18:15:23.287547+00:00 |
| **Durée** | 23.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003459", "end": "2025-12-17 13:15:12.677279", "msg": "", "rc": 0, "start": "2025-12-17 13:15:12.673820", "stderr": "", "stderr_lines": [], "stdout": " 13:15:12 up 22 days, 6 min, 1 user, load average: 0.19, 0.14, 0.10", "stdout_lines": [" 13:15:12 up 22 days, 6 min, 1 user, load average: 0.19, 0.14, 0.10"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003629", "end": "2025-12-17 13:15:12.689330", "msg": "", "rc": 0, "start": "2025-12-17 13:15:12.685701", "stderr": "", "stderr_lines": [], "stdout": " 13:15:12 up 22 days, 2:25, 1 user, load average: 0.02, 0.01, 0.00", "stdout_lines": [" 13:15:12 up 22 days, 2:25, 1 user, load average: 0.02, 0.01, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002834", "end": "2025-12-17 13:15:12.724077", "msg": "", "rc": 0, "start": "2025-12-17 13:15:12.721243", "stderr": "", "stderr_lines": [], "stdout": " 13:15:12 up 3 days, 2:47, 1 user, load average: 0.17, 0.26, 0.21", "stdout_lines": [" 13:15:12 up 3 days, 2:47, 1 user, load average: 0.17, 0.26, 0.21"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004019", "end": "2025-12-17 13:15:12.721409", "msg": "", "rc": 0, "start": "2025-12-17 13:15:12.717390", "stderr": "", "stderr_lines": [], "stdout": " 13:15:12 up 22 days, 1:39, 1 user, load average: 0.47, 0.54, 0.61", "stdout_lines": [" 13:15:12 up 22 days, 1:39, 1 user, load average: 0.47, 0.54, 0.61"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003176", "end": "2025-12-17 13:15:12.751649", "msg": "", "rc": 0, "start": "2025-12-17 13:15:12.748473", "stderr": "", "stderr_lines": [], "stdout": " 13:15:12 up 22 days, 26 min, 1 user, load average: 1.13, 0.84, 0.78", "stdout_lines": [" 13:15:12 up 22 days, 26 min, 1 user, load average: 1.13, 0.84, 0.78"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002778", "end": "2025-12-17 13:14:46.763656", "msg": "", "rc": 0, "start": "2025-12-17 13:14:46.760878", "stderr": "", "stderr_lines": [], "stdout": " 13:14:46 up 11 days, 1:04, 0 user, load average: 0.18, 0.21, 0.18", "stdout_lines": [" 13:14:46 up 11 days, 1:04, 0 user, load average: 0.18, 0.21, 0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003944", "end": "2025-12-17 13:14:40.346784", "msg": "", "rc": 0, "start": "2025-12-17 13:14:40.342840", "stderr": "", "stderr_lines": [], "stdout": " 13:14:40 up 17 days, 21:16, 0 user, load average: 0.10, 0.04, 0.00", "stdout_lines": [" 13:14:40 up 17 days, 21:16, 0 user, load average: 0.10, 0.04, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008520", "end": "2025-12-17 13:15:13.371643", "msg": "", "rc": 0, "start": "2025-12-17 13:15:13.363123", "stderr": "", "stderr_lines": [], "stdout": " 13:15:13 up 194 days, 4:48, 1 user, load average: 0.13, 0.10, 0.09", "stdout_lines": [" 13:15:13 up 194 days, 4:48, 1 user, load average: 0.13, 0.10, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.010032", "end": "2025-12-17 13:15:13.411219", "msg": "", "rc": 0, "start": "2025-12-17 13:15:13.401187", "stderr": "", "stderr_lines": [], "stdout": " 13:15:13 up 194 days, 4:48, 1 user, load average: 0.29, 0.21, 0.18", "stdout_lines": [" 13:15:13 up 194 days, 4:48, 1 user, load average: 0.29, 0.21, 0.18"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004690", "end": "2025-12-17 13:15:13.650854", "msg": "", "rc": 0, "start": "2025-12-17 13:15:13.646164", "stderr": "", "stderr_lines": [], "stdout": " 13:15:13 up 3 days, 2:46, 1 user, load average: 0.09, 0.04, 0.01", "stdout_lines": [" 13:15:13 up 3 days, 2:46, 1 user, load average: 0.09, 0.04, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003564", "end": "2025-12-17 13:14:43.538405", "msg": "", "rc": 0, "start": "2025-12-17 13:14:43.534841", "stderr": "", "stderr_lines": [], "stdout": " 13:14:43 up 20 days, 16:09, 0 user, load average: 0.84, 0.79, 0.57", "stdout_lines": [" 13:14:43 up 20 days, 16:09, 0 user, load average: 0.84, 0.79, 0.57"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004153", "end": "2025-12-17 10:15:13.886595", "msg": "", "rc": 0, "start": "2025-12-17 10:15:13.882442", "stderr": "", "stderr_lines": [], "stdout": "10:15AM up 22 days, 5 mins, 1 user, load averages: 0.39, 0.30, 0.22", "stdout_lines": ["10:15AM up 22 days, 5 mins, 1 user, load averages: 0.39, 0.30, 0.22"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003622", "end": "2025-12-17 13:14:50.070488", "msg": "", "rc": 0, "start": "2025-12-17 13:14:50.066866", "stderr": "", "stderr_lines": [], "stdout": " 13:14:50 up 17 days, 2:30, 0 user, load average: 0.45, 0.39, 0.34", "stdout_lines": [" 13:14:50 up 17 days, 2:30, 0 user, load average: 0.45, 0.39, 0.34"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003784", "end": "2025-12-17 13:15:14.099142", "msg": "", "rc": 0, "start": "2025-12-17 13:15:14.095358", "stderr": "", "stderr_lines": [], "stdout": " 13:15:14 up 3 days, 2:46, 1 user, load average: 0.20, 0.27, 0.12", "stdout_lines": [" 13:15:14 up 3 days, 2:46, 1 user, load average: 0.20, 0.27, 0.12"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008241", "end": "2025-12-17 13:15:14.616765", "msg": "", "rc": 0, "start": "2025-12-17 13:15:14.608524", "stderr": "", "stderr_lines": [], "stdout": " 13:15:14 up 13 min, 1 user, load average: 1.34, 0.98, 0.49", "stdout_lines": [" 13:15:14 up 13 min, 1 user, load average: 1.34, 0.98, 0.49"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019535", "end": "2025-12-17 13:15:14.056499", "msg": "", "rc": 0, "start": "2025-12-17 13:15:14.036964", "stderr": "", "stderr_lines": [], "stdout": " 13:15:14 up 15 days, 2:41, 1 user, load average: 0.21, 0.13, 0.05", "stdout_lines": [" 13:15:14 up 15 days, 2:41, 1 user, load average: 0.21, 0.13, 0.05"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004128", "end": "2025-12-17 13:15:14.586903", "msg": "", "rc": 0, "start": "2025-12-17 13:15:14.582775", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004065", "end": "2025-12-17 13:15:14.593774", "msg": "", "rc": 0, "start": "2025-12-17 13:15:14.589709", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004699", "end": "2025-12-17 13:15:14.613776", "msg": "", "rc": 0, "start": "2025-12-17 13:15:14.609077", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004889", "end": "2025-12-17 13:15:14.629864", "msg": "", "rc": 0, "start": "2025-12-17 13:15:14.624975", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005429", "end": "2025-12-17 13:15:14.635652", "msg": "", "rc": 0, "start": "2025-12-17 13:15:14.630223", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005910", "end": "2025-12-17 13:14:48.672328", "msg": "", "rc": 0, "start": "2025-12-17 13:14:48.666418", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005741", "end": "2025-12-17 13:14:42.213264", "msg": "", "rc": 0, "start": "2025-12-17 13:14:42.207523", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010811", "end": "2025-12-17 13:15:15.322119", "msg": "", "rc": 0, "start": "2025-12-17 13:15:15.311308", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011685", "end": "2025-12-17 13:15:15.363632", "msg": "", "rc": 0, "start": "2025-12-17 13:15:15.351947", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005846", "end": "2025-12-17 13:15:15.571808", "msg": "", "rc": 0, "start": "2025-12-17 13:15:15.565962", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005219", "end": "2025-12-17 13:14:45.384794", "msg": "", "rc": 0, "start": "2025-12-17 13:14:45.379575", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006003", "end": "2025-12-17 10:15:15.831398", "msg": "", "rc": 0, "start": "2025-12-17 10:15:15.825395", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005121", "end": "2025-12-17 13:14:52.034891", "msg": "", "rc": 0, "start": "2025-12-17 13:14:52.029770", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005376", "end": "2025-12-17 13:15:15.997849", "msg": "", "rc": 0, "start": "2025-12-17 13:15:15.992473", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.018561", "end": "2025-12-17 13:15:16.612414", "msg": "", "rc": 0, "start": "2025-12-17 13:15:16.593853", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025545", "end": "2025-12-17 13:15:15.973720", "msg": "", "rc": 0, "start": "2025-12-17 13:15:15.948175", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004299", "end": "2025-12-17 13:15:16.486768", "msg": "", "rc": 0, "start": "2025-12-17 13:15:16.482469", "stderr": "", "stderr_lines": [], "stdout": "77.5%", "stdout_lines": ["77.5%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004162", "end": "2025-12-17 13:15:16.500207", "msg": "", "rc": 0, "start": "2025-12-17 13:15:16.496045", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004711", "end": "2025-12-17 13:15:16.523517", "msg": "", "rc": 0, "start": "2025-12-17 13:15:16.518806", "stderr": "", "stderr_lines": [], "stdout": "49.2%", "stdout_lines": ["49.2%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005448", "end": "2025-12-17 13:15:16.551268", "msg": "", "rc": 0, "start": "2025-12-17 13:15:16.545820", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005098", "end": "2025-12-17 13:15:16.553377", "msg": "", "rc": 0, "start": "2025-12-17 13:15:16.548279", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003985", "end": "2025-12-17 13:14:50.578134", "msg": "", "rc": 0, "start": "2025-12-17 13:14:50.574149", "stderr": "", "stderr_lines": [], "stdout": "71.3%", "stdout_lines": ["71.3%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004422", "end": "2025-12-17 13:14:44.133078", "msg": "", "rc": 0, "start": "2025-12-17 13:14:44.128656", "stderr": "", "stderr_lines": [], "stdout": "68.4%", "stdout_lines": ["68.4%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010956", "end": "2025-12-17 13:15:17.183489", "msg": "", "rc": 0, "start": "2025-12-17 13:15:17.172533", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012025", "end": "2025-12-17 13:15:17.202838", "msg": "", "rc": 0, "start": "2025-12-17 13:15:17.190813", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.8%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005939", "end": "2025-12-17 13:15:17.485827", "msg": "", "rc": 0, "start": "2025-12-17 13:15:17.479888", "stderr": "", "stderr_lines": [], "stdout": "35.5%", "stdout_lines": ["35.5%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003913", "end": "2025-12-17 13:14:47.328673", "msg": "", "rc": 0, "start": "2025-12-17 13:14:47.324760", "stderr": "", "stderr_lines": [], "stdout": "27.6%", "stdout_lines": ["27.6%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005493", "end": "2025-12-17 10:15:17.682232", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 10:15:17.676739", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004600", "end": "2025-12-17 13:14:53.885803", "msg": "", "rc": 0, "start": "2025-12-17 13:14:53.881203", "stderr": "", "stderr_lines": [], "stdout": "52.0%", "stdout_lines": ["52.0%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005401", "end": "2025-12-17 13:15:17.929028", "msg": "", "rc": 0, "start": "2025-12-17 13:15:17.923627", "stderr": "", "stderr_lines": [], "stdout": "13.9%", "stdout_lines": ["13.9%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008864", "end": "2025-12-17 13:15:18.512176", "msg": "", "rc": 0, "start": "2025-12-17 13:15:18.503312", "stderr": "", "stderr_lines": [], "stdout": "11.8%", "stdout_lines": ["11.8%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025875", "end": "2025-12-17 13:15:17.868734", "msg": "", "rc": 0, "start": "2025-12-17 13:15:17.842859", "stderr": "", "stderr_lines": [], "stdout": "18.9%", "stdout_lines": ["18.9%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005306", "end": "2025-12-17 13:15:18.382652", "msg": "", "rc": 0, "start": "2025-12-17 13:15:18.377346", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004985", "end": "2025-12-17 13:15:18.384965", "msg": "", "rc": 0, "start": "2025-12-17 13:15:18.379980", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006424", "end": "2025-12-17 13:15:18.398457", "msg": "", "rc": 0, "start": "2025-12-17 13:15:18.392033", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003363", "end": "2025-12-17 13:15:18.439883", "msg": "", "rc": 0, "start": "2025-12-17 13:15:18.436520", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006116", "end": "2025-12-17 13:15:18.449291", "msg": "", "rc": 0, "start": "2025-12-17 13:15:18.443175", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002802", "end": "2025-12-17 13:14:52.445332", "msg": "", "rc": 0, "start": "2025-12-17 13:14:52.442530", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003061", "end": "2025-12-17 13:14:46.011388", "msg": "", "rc": 0, "start": "2025-12-17 13:14:46.008327", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011864", "end": "2025-12-17 13:15:19.060097", "msg": "", "rc": 0, "start": "2025-12-17 13:15:19.048233", "stderr": "", "stderr_lines": [], "stdout": "31.2°C", "stdout_lines": ["31.2°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013829", "end": "2025-12-17 13:15:19.099149", "msg": "", "rc": 0, "start": "2025-12-17 13:15:19.085320", "stderr": "", "stderr_lines": [], "stdout": "36.0°C", "stdout_lines": ["36.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003096", "end": "2025-12-17 13:15:19.345650", "msg": "", "rc": 0, "start": "2025-12-17 13:15:19.342554", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002792", "end": "2025-12-17 13:14:49.209246", "msg": "", "rc": 0, "start": "2025-12-17 13:14:49.206454", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002873", "end": "2025-12-17 13:14:55.750422", "msg": "", "rc": 0, "start": "2025-12-17 13:14:55.747549", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003894", "end": "2025-12-17 10:15:19.583367", "msg": "", "rc": 0, "start": "2025-12-17 10:15:19.579473", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002887", "end": "2025-12-17 13:15:19.771864", "msg": "", "rc": 0, "start": "2025-12-17 13:15:19.768977", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004577", "end": "2025-12-17 13:15:20.426636", "msg": "", "rc": 0, "start": "2025-12-17 13:15:20.422059", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.029178", "end": "2025-12-17 13:15:19.774704", "msg": "", "rc": 0, "start": "2025-12-17 13:15:19.745526", "stderr": "", "stderr_lines": [], "stdout": "35.6°C", "stdout_lines": ["35.6°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004182", "end": "2025-12-17 13:15:20.291606", "msg": "", "rc": 0, "start": "2025-12-17 13:15:20.287424", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004060", "end": "2025-12-17 13:15:20.317595", "msg": "", "rc": 0, "start": "2025-12-17 13:15:20.313535", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004783", "end": "2025-12-17 13:15:20.340830", "msg": "", "rc": 0, "start": "2025-12-17 13:15:20.336047", "stderr": "", "stderr_lines": [], "stdout": "1.11", "stdout_lines": ["1.11"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004854", "end": "2025-12-17 13:15:20.354923", "msg": "", "rc": 0, "start": "2025-12-17 13:15:20.350069", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005388", "end": "2025-12-17 13:15:20.354081", "msg": "", "rc": 0, "start": "2025-12-17 13:15:20.348693", "stderr": "", "stderr_lines": [], "stdout": "0.63", "stdout_lines": ["0.63"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004522", "end": "2025-12-17 13:14:54.391237", "msg": "", "rc": 0, "start": "2025-12-17 13:14:54.386715", "stderr": "", "stderr_lines": [], "stdout": "0.49", "stdout_lines": ["0.49"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005278", "end": "2025-12-17 13:14:47.934271", "msg": "", "rc": 0, "start": "2025-12-17 13:14:47.928993", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010255", "end": "2025-12-17 13:15:21.104459", "msg": "", "rc": 0, "start": "2025-12-17 13:15:21.094204", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011118", "end": "2025-12-17 13:15:21.104086", "msg": "", "rc": 0, "start": "2025-12-17 13:15:21.092968", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005564", "end": "2025-12-17 13:15:21.287797", "msg": "", "rc": 0, "start": "2025-12-17 13:15:21.282233", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004815", "end": "2025-12-17 13:14:51.104606", "msg": "", "rc": 0, "start": "2025-12-17 13:14:51.099791", "stderr": "", "stderr_lines": [], "stdout": "0.77", "stdout_lines": ["0.77"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006019", "end": "2025-12-17 10:15:21.575622", "msg": "", "rc": 0, "start": "2025-12-17 10:15:21.569603", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004551", "end": "2025-12-17 13:14:57.789171", "msg": "", "rc": 0, "start": "2025-12-17 13:14:57.784620", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005233", "end": "2025-12-17 13:15:21.720362", "msg": "", "rc": 0, "start": "2025-12-17 13:15:21.715129", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007241", "end": "2025-12-17 13:15:22.376838", "msg": "", "rc": 0, "start": "2025-12-17 13:15:22.369597", "stderr": "", "stderr_lines": [], "stdout": "1.36", "stdout_lines": ["1.36"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024693", "end": "2025-12-17 13:15:21.676572", "msg": "", "rc": 0, "start": "2025-12-17 13:15:21.651879", "stderr": "", "stderr_lines": [], "stdout": "0.36", "stdout_lines": ["0.36"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:15:12 up 22 days, 6 min, 1 user, load average: 0.19, 0.14, 0.10\nDisk Usage: 23%\nMemory Usage: 77.5%\nCPU Load: 0.18\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:15:12 up 3 days, 2:47, 1 user, load average: 0.17, 0.26, 0.21\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.23\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:15:12 up 22 days, 26 min, 1 user, load average: 1.13, 0.84, 0.78\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 1.11\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:15:12 up 22 days, 1:39, 1 user, load average: 0.47, 0.54, 0.61\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.63\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:15:12 up 22 days, 2:25, 1 user, load average: 0.02, 0.01, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:15:14 up 15 days, 2:41, 1 user, load average: 0.21, 0.13, 0.05\nDisk Usage: 21%\nMemory Usage: 18.9%\nCPU Load: 0.36\nCPU Temp: 35.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:15:13 up 194 days, 4:48, 1 user, load average: 0.29, 0.21, 0.18\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.35\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:15:13 up 194 days, 4:48, 1 user, load average: 0.13, 0.10, 0.09\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.20\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:14:46 up 11 days, 1:04, 0 user, load average: 0.18, 0.21, 0.18\nDisk Usage: 48%\nMemory Usage: 71.3%\nCPU Load: 0.49\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:14:40 up 17 days, 21:16, 0 user, load average: 0.10, 0.04, 0.00\nDisk Usage: 24%\nMemory Usage: 68.4%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:15:13 up 3 days, 2:46, 1 user, load average: 0.09, 0.04, 0.01\nDisk Usage: 1%\nMemory Usage: 35.5%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:14:43 up 20 days, 16:09, 0 user, load average: 0.84, 0.79, 0.57\nDisk Usage: 28%\nMemory Usage: 27.6%\nCPU Load: 0.77\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:14:50 up 17 days, 2:30, 0 user, load average: 0.45, 0.39, 0.34\nDisk Usage: 76%\nMemory Usage: 52.0%\nCPU Load: 0.41\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:15AM up 22 days, 5 mins, 1 user, load averages: 0.39, 0.30, 0.22\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:15:14 up 3 days, 2:46, 1 user, load average: 0.20, 0.27, 0.12\nDisk Usage: 79%\nMemory Usage: 13.9%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:15:14 up 13 min, 1 user, load average: 1.34, 0.98, 0.49\nDisk Usage: 1%\nMemory Usage: 11.8%\nCPU Load: 1.36\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T18:15:23.334604+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `13ef71516ce14522bd779f4851a1f00f` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T18:30:00.003612+00:00 |
| **Fin** | 2025-12-17T18:30:28.415687+00:00 |
| **Durée** | 28.4s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003321", "end": "2025-12-17 13:30:13.589752", "msg": "", "rc": 0, "start": "2025-12-17 13:30:13.586431", "stderr": "", "stderr_lines": [], "stdout": " 13:30:13 up 22 days, 21 min, 1 user, load average: 0.31, 0.12, 0.10", "stdout_lines": [" 13:30:13 up 22 days, 21 min, 1 user, load average: 0.31, 0.12, 0.10"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003937", "end": "2025-12-17 13:30:13.613383", "msg": "", "rc": 0, "start": "2025-12-17 13:30:13.609446", "stderr": "", "stderr_lines": [], "stdout": " 13:30:13 up 22 days, 2:40, 1 user, load average: 0.24, 0.07, 0.02", "stdout_lines": [" 13:30:13 up 22 days, 2:40, 1 user, load average: 0.24, 0.07, 0.02"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002850", "end": "2025-12-17 13:30:13.633237", "msg": "", "rc": 0, "start": "2025-12-17 13:30:13.630387", "stderr": "", "stderr_lines": [], "stdout": " 13:30:13 up 3 days, 3:02, 1 user, load average: 0.19, 0.22, 0.18", "stdout_lines": [" 13:30:13 up 3 days, 3:02, 1 user, load average: 0.19, 0.22, 0.18"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003861", "end": "2025-12-17 13:30:13.619888", "msg": "", "rc": 0, "start": "2025-12-17 13:30:13.616027", "stderr": "", "stderr_lines": [], "stdout": " 13:30:13 up 22 days, 41 min, 1 user, load average: 0.91, 0.82, 0.76", "stdout_lines": [" 13:30:13 up 22 days, 41 min, 1 user, load average: 0.91, 0.82, 0.76"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004133", "end": "2025-12-17 13:30:13.625725", "msg": "", "rc": 0, "start": "2025-12-17 13:30:13.621592", "stderr": "", "stderr_lines": [], "stdout": " 13:30:13 up 22 days, 1:54, 1 user, load average: 0.67, 0.61, 0.60", "stdout_lines": [" 13:30:13 up 22 days, 1:54, 1 user, load average: 0.67, 0.61, 0.60"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003326", "end": "2025-12-17 13:29:47.860503", "msg": "", "rc": 0, "start": "2025-12-17 13:29:47.857177", "stderr": "", "stderr_lines": [], "stdout": " 13:29:47 up 11 days, 1:19, 0 user, load average: 0.09, 0.11, 0.14", "stdout_lines": [" 13:29:47 up 11 days, 1:19, 0 user, load average: 0.09, 0.11, 0.14"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003565", "end": "2025-12-17 13:29:41.429429", "msg": "", "rc": 0, "start": "2025-12-17 13:29:41.425864", "stderr": "", "stderr_lines": [], "stdout": " 13:29:41 up 17 days, 21:31, 0 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 13:29:41 up 17 days, 21:31, 0 user, load average: 0.00, 0.02, 0.00"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009264", "end": "2025-12-17 13:30:14.465610", "msg": "", "rc": 0, "start": "2025-12-17 13:30:14.456346", "stderr": "", "stderr_lines": [], "stdout": " 13:30:14 up 194 days, 5:03, 1 user, load average: 0.21, 0.20, 0.18", "stdout_lines": [" 13:30:14 up 194 days, 5:03, 1 user, load average: 0.21, 0.20, 0.18"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008517", "end": "2025-12-17 13:30:14.492089", "msg": "", "rc": 0, "start": "2025-12-17 13:30:14.483572", "stderr": "", "stderr_lines": [], "stdout": " 13:30:14 up 194 days, 5:03, 1 user, load average: 0.04, 0.08, 0.08", "stdout_lines": [" 13:30:14 up 194 days, 5:03, 1 user, load average: 0.04, 0.08, 0.08"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004647", "end": "2025-12-17 13:30:14.825595", "msg": "", "rc": 0, "start": "2025-12-17 13:30:14.820948", "stderr": "", "stderr_lines": [], "stdout": " 13:30:14 up 3 days, 3:01, 1 user, load average: 0.08, 0.02, 0.01", "stdout_lines": [" 13:30:14 up 3 days, 3:01, 1 user, load average: 0.08, 0.02, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003190", "end": "2025-12-17 13:29:44.696231", "msg": "", "rc": 0, "start": "2025-12-17 13:29:44.693041", "stderr": "", "stderr_lines": [], "stdout": " 13:29:44 up 20 days, 16:24, 0 user, load average: 0.32, 0.39, 0.46", "stdout_lines": [" 13:29:44 up 20 days, 16:24, 0 user, load average: 0.32, 0.39, 0.46"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004171", "end": "2025-12-17 10:30:15.053347", "msg": "", "rc": 0, "start": "2025-12-17 10:30:15.049176", "stderr": "", "stderr_lines": [], "stdout": "10:30AM up 22 days, 20 mins, 1 user, load averages: 0.29, 0.24, 0.23", "stdout_lines": ["10:30AM up 22 days, 20 mins, 1 user, load averages: 0.29, 0.24, 0.23"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002911", "end": "2025-12-17 13:29:51.228930", "msg": "", "rc": 0, "start": "2025-12-17 13:29:51.226019", "stderr": "", "stderr_lines": [], "stdout": " 13:29:51 up 17 days, 2:45, 0 user, load average: 0.25, 0.33, 0.33", "stdout_lines": [" 13:29:51 up 17 days, 2:45, 0 user, load average: 0.25, 0.33, 0.33"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019369", "end": "2025-12-17 13:30:15.127381", "msg": "", "rc": 0, "start": "2025-12-17 13:30:15.108012", "stderr": "", "stderr_lines": [], "stdout": " 13:30:15 up 15 days, 2:56, 1 user, load average: 0.18, 0.06, 0.02", "stdout_lines": [" 13:30:15 up 15 days, 2:56, 1 user, load average: 0.18, 0.06, 0.02"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003791", "end": "2025-12-17 13:30:15.360875", "msg": "", "rc": 0, "start": "2025-12-17 13:30:15.357084", "stderr": "", "stderr_lines": [], "stdout": " 13:30:15 up 3 days, 3:01, 1 user, load average: 0.09, 0.06, 0.07", "stdout_lines": [" 13:30:15 up 3 days, 3:01, 1 user, load average: 0.09, 0.06, 0.07"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.031507", "end": "2025-12-17 13:30:16.783277", "msg": "", "rc": 0, "start": "2025-12-17 13:30:15.751770", "stderr": "", "stderr_lines": [], "stdout": " 13:30:15 up 28 min, 1 user, load average: 1.65, 0.88, 0.62", "stdout_lines": [" 13:30:15 up 28 min, 1 user, load average: 1.65, 0.88, 0.62"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004369", "end": "2025-12-17 13:30:17.069288", "msg": "", "rc": 0, "start": "2025-12-17 13:30:17.064919", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004227", "end": "2025-12-17 13:30:17.116500", "msg": "", "rc": 0, "start": "2025-12-17 13:30:17.112273", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004695", "end": "2025-12-17 13:30:17.122242", "msg": "", "rc": 0, "start": "2025-12-17 13:30:17.117547", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004357", "end": "2025-12-17 13:30:17.151324", "msg": "", "rc": 0, "start": "2025-12-17 13:30:17.146967", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006878", "end": "2025-12-17 13:30:17.182627", "msg": "", "rc": 0, "start": "2025-12-17 13:30:17.175749", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005018", "end": "2025-12-17 13:29:51.291521", "msg": "", "rc": 0, "start": "2025-12-17 13:29:51.286503", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005817", "end": "2025-12-17 13:29:44.898526", "msg": "", "rc": 0, "start": "2025-12-17 13:29:44.892709", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010499", "end": "2025-12-17 13:30:18.021732", "msg": "", "rc": 0, "start": "2025-12-17 13:30:18.011233", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011503", "end": "2025-12-17 13:30:18.065669", "msg": "", "rc": 0, "start": "2025-12-17 13:30:18.054166", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005933", "end": "2025-12-17 13:30:18.292727", "msg": "", "rc": 0, "start": "2025-12-17 13:30:18.286794", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005618", "end": "2025-12-17 13:29:48.129391", "msg": "", "rc": 0, "start": "2025-12-17 13:29:48.123773", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004737", "end": "2025-12-17 13:29:54.787889", "msg": "", "rc": 0, "start": "2025-12-17 13:29:54.783152", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005266", "end": "2025-12-17 10:30:18.657963", "msg": "", "rc": 0, "start": "2025-12-17 10:30:18.652697", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005287", "end": "2025-12-17 13:30:18.809393", "msg": "", "rc": 0, "start": "2025-12-17 13:30:18.804106", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025260", "end": "2025-12-17 13:30:18.707275", "msg": "", "rc": 0, "start": "2025-12-17 13:30:18.682015", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025387", "end": "2025-12-17 13:30:19.242905", "msg": "", "rc": 0, "start": "2025-12-17 13:30:19.217518", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004340", "end": "2025-12-17 13:30:19.496990", "msg": "", "rc": 0, "start": "2025-12-17 13:30:19.492650", "stderr": "", "stderr_lines": [], "stdout": "77.6%", "stdout_lines": ["77.6%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004916", "end": "2025-12-17 13:30:19.533870", "msg": "", "rc": 0, "start": "2025-12-17 13:30:19.528954", "stderr": "", "stderr_lines": [], "stdout": "49.1%", "stdout_lines": ["49.1%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004125", "end": "2025-12-17 13:30:19.532168", "msg": "", "rc": 0, "start": "2025-12-17 13:30:19.528043", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004686", "end": "2025-12-17 13:30:19.559838", "msg": "", "rc": 0, "start": "2025-12-17 13:30:19.555152", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005674", "end": "2025-12-17 13:30:19.565666", "msg": "", "rc": 0, "start": "2025-12-17 13:30:19.559992", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004575", "end": "2025-12-17 13:29:53.669662", "msg": "", "rc": 0, "start": "2025-12-17 13:29:53.665087", "stderr": "", "stderr_lines": [], "stdout": "71.3%", "stdout_lines": ["71.3%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004167", "end": "2025-12-17 13:29:47.237497", "msg": "", "rc": 0, "start": "2025-12-17 13:29:47.233330", "stderr": "", "stderr_lines": [], "stdout": "68.6%", "stdout_lines": ["68.6%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010795", "end": "2025-12-17 13:30:20.297706", "msg": "", "rc": 0, "start": "2025-12-17 13:30:20.286911", "stderr": "", "stderr_lines": [], "stdout": "7.0%", "stdout_lines": ["7.0%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012485", "end": "2025-12-17 13:30:20.344937", "msg": "", "rc": 0, "start": "2025-12-17 13:30:20.332452", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.1%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005696", "end": "2025-12-17 13:30:20.646809", "msg": "", "rc": 0, "start": "2025-12-17 13:30:20.641113", "stderr": "", "stderr_lines": [], "stdout": "35.6%", "stdout_lines": ["35.6%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003697", "end": "2025-12-17 13:29:57.056993", "msg": "", "rc": 0, "start": "2025-12-17 13:29:57.053296", "stderr": "", "stderr_lines": [], "stdout": "50.3%", "stdout_lines": ["50.3%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004235", "end": "2025-12-17 13:29:50.539027", "msg": "", "rc": 0, "start": "2025-12-17 13:29:50.534792", "stderr": "", "stderr_lines": [], "stdout": "27.4%", "stdout_lines": ["27.4%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005386", "end": "2025-12-17 10:30:20.931800", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 10:30:20.926414", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025994", "end": "2025-12-17 13:30:20.975989", "msg": "", "rc": 0, "start": "2025-12-17 13:30:20.949995", "stderr": "", "stderr_lines": [], "stdout": "19.6%", "stdout_lines": ["19.6%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005370", "end": "2025-12-17 13:30:21.181819", "msg": "", "rc": 0, "start": "2025-12-17 13:30:21.176449", "stderr": "", "stderr_lines": [], "stdout": "13.7%", "stdout_lines": ["13.7%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.024004", "end": "2025-12-17 13:30:21.798408", "msg": "", "rc": 0, "start": "2025-12-17 13:30:21.774404", "stderr": "", "stderr_lines": [], "stdout": "11.3%", "stdout_lines": ["11.3%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005504", "end": "2025-12-17 13:30:21.938300", "msg": "", "rc": 0, "start": "2025-12-17 13:30:21.932796", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004876", "end": "2025-12-17 13:30:21.982519", "msg": "", "rc": 0, "start": "2025-12-17 13:30:21.977643", "stderr": "", "stderr_lines": [], "stdout": "46.0°C", "stdout_lines": ["46.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005977", "end": "2025-12-17 13:30:22.006623", "msg": "", "rc": 0, "start": "2025-12-17 13:30:22.000646", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006701", "end": "2025-12-17 13:30:22.028971", "msg": "", "rc": 0, "start": "2025-12-17 13:30:22.022270", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003407", "end": "2025-12-17 13:30:22.036217", "msg": "", "rc": 0, "start": "2025-12-17 13:30:22.032810", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002827", "end": "2025-12-17 13:29:56.156548", "msg": "", "rc": 0, "start": "2025-12-17 13:29:56.153721", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003146", "end": "2025-12-17 13:29:49.758757", "msg": "", "rc": 0, "start": "2025-12-17 13:29:49.755611", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012600", "end": "2025-12-17 13:30:22.856851", "msg": "", "rc": 0, "start": "2025-12-17 13:30:22.844251", "stderr": "", "stderr_lines": [], "stdout": "32.1°C", "stdout_lines": ["32.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012846", "end": "2025-12-17 13:30:22.884054", "msg": "", "rc": 0, "start": "2025-12-17 13:30:22.871208", "stderr": "", "stderr_lines": [], "stdout": "35.5°C", "stdout_lines": ["35.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003094", "end": "2025-12-17 13:30:23.181405", "msg": "", "rc": 0, "start": "2025-12-17 13:30:23.178311", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003153", "end": "2025-12-17 13:29:53.012040", "msg": "", "rc": 0, "start": "2025-12-17 13:29:53.008887", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002650", "end": "2025-12-17 13:29:59.617983", "msg": "", "rc": 0, "start": "2025-12-17 13:29:59.615333", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003941", "end": "2025-12-17 10:30:23.474754", "msg": "", "rc": 0, "start": "2025-12-17 10:30:23.470813", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028675", "end": "2025-12-17 13:30:23.421412", "msg": "", "rc": 0, "start": "2025-12-17 13:30:23.392737", "stderr": "", "stderr_lines": [], "stdout": "35.2°C", "stdout_lines": ["35.2°C"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003003", "end": "2025-12-17 13:30:23.744093", "msg": "", "rc": 0, "start": "2025-12-17 13:30:23.741090", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005708", "end": "2025-12-17 13:30:24.414886", "msg": "", "rc": 0, "start": "2025-12-17 13:30:24.409178", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004084", "end": "2025-12-17 13:30:24.506781", "msg": "", "rc": 0, "start": "2025-12-17 13:30:24.502697", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003994", "end": "2025-12-17 13:30:24.527189", "msg": "", "rc": 0, "start": "2025-12-17 13:30:24.523195", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004543", "end": "2025-12-17 13:30:24.541500", "msg": "", "rc": 0, "start": "2025-12-17 13:30:24.536957", "stderr": "", "stderr_lines": [], "stdout": "0.93", "stdout_lines": ["0.93"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005609", "end": "2025-12-17 13:30:24.564573", "msg": "", "rc": 0, "start": "2025-12-17 13:30:24.558964", "stderr": "", "stderr_lines": [], "stdout": "0.57", "stdout_lines": ["0.57"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004714", "end": "2025-12-17 13:30:24.600858", "msg": "", "rc": 0, "start": "2025-12-17 13:30:24.596144", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005950", "end": "2025-12-17 13:29:58.708631", "msg": "", "rc": 0, "start": "2025-12-17 13:29:58.702681", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004918", "end": "2025-12-17 13:29:52.255599", "msg": "", "rc": 0, "start": "2025-12-17 13:29:52.250681", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010140", "end": "2025-12-17 13:30:25.333449", "msg": "", "rc": 0, "start": "2025-12-17 13:30:25.323309", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011329", "end": "2025-12-17 13:30:25.367917", "msg": "", "rc": 0, "start": "2025-12-17 13:30:25.356588", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005711", "end": "2025-12-17 13:30:25.747107", "msg": "", "rc": 0, "start": "2025-12-17 13:30:25.741396", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005087", "end": "2025-12-17 13:29:55.582207", "msg": "", "rc": 0, "start": "2025-12-17 13:29:55.577120", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005767", "end": "2025-12-17 10:30:25.978180", "msg": "", "rc": 0, "start": "2025-12-17 10:30:25.972413", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004152", "end": "2025-12-17 13:30:02.165273", "msg": "", "rc": 0, "start": "2025-12-17 13:30:02.161121", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024002", "end": "2025-12-17 13:30:26.006481", "msg": "", "rc": 0, "start": "2025-12-17 13:30:25.982479", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005335", "end": "2025-12-17 13:30:26.332279", "msg": "", "rc": 0, "start": "2025-12-17 13:30:26.326944", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011191", "end": "2025-12-17 13:30:26.972921", "msg": "", "rc": 0, "start": "2025-12-17 13:30:26.961730", "stderr": "", "stderr_lines": [], "stdout": "1.78", "stdout_lines": ["1.78"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:30:13 up 3 days, 3:02, 1 user, load average: 0.19, 0.22, 0.18\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.15\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:30:13 up 22 days, 21 min, 1 user, load average: 0.31, 0.12, 0.10\nDisk Usage: 23%\nMemory Usage: 77.6%\nCPU Load: 0.26\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:30:13 up 22 days, 41 min, 1 user, load average: 0.91, 0.82, 0.76\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 0.93\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:30:13 up 22 days, 1:54, 1 user, load average: 0.67, 0.61, 0.60\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.57\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:30:13 up 22 days, 2:40, 1 user, load average: 0.24, 0.07, 0.02\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:30:15 up 15 days, 2:56, 1 user, load average: 0.18, 0.06, 0.02\nDisk Usage: 21%\nMemory Usage: 19.6%\nCPU Load: 0.31\nCPU Temp: 35.2°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:30:14 up 194 days, 5:03, 1 user, load average: 0.21, 0.20, 0.18\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.26\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:30:14 up 194 days, 5:03, 1 user, load average: 0.04, 0.08, 0.08\nDisk Usage: 3%\nMemory Usage: 7.0%\nCPU Load: 0.04\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:29:47 up 11 days, 1:19, 0 user, load average: 0.09, 0.11, 0.14\nDisk Usage: 48%\nMemory Usage: 71.3%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:29:41 up 17 days, 21:31, 0 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 68.6%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:30:14 up 3 days, 3:01, 1 user, load average: 0.08, 0.02, 0.01\nDisk Usage: 1%\nMemory Usage: 35.6%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:29:44 up 20 days, 16:24, 0 user, load average: 0.32, 0.39, 0.46\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.35\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:29:51 up 17 days, 2:45, 0 user, load average: 0.25, 0.33, 0.33\nDisk Usage: 76%\nMemory Usage: 50.3%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:30AM up 22 days, 20 mins, 1 user, load averages: 0.29, 0.24, 0.23\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:30:15 up 3 days, 3:01, 1 user, load average: 0.09, 0.06, 0.07\nDisk Usage: 79%\nMemory Usage: 13.7%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:30:15 up 28 min, 1 user, load average: 1.65, 0.88, 0.62\nDisk Usage: 1%\nMemory Usage: 11.3%\nCPU Load: 1.78\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T18:30:28.510885+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `16c3b2baf6fe4189b7236ba5103c8549` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T18:35:00.001940+00:00 |
| **Fin** | 2025-12-17T18:35:22.765175+00:00 |
| **Durée** | 22.8s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003350", "end": "2025-12-17 13:35:11.493298", "msg": "", "rc": 0, "start": "2025-12-17 13:35:11.489948", "stderr": "", "stderr_lines": [], "stdout": " 13:35:11 up 22 days, 26 min, 1 user, load average: 0.17, 0.11, 0.09", "stdout_lines": [" 13:35:11 up 22 days, 26 min, 1 user, load average: 0.17, 0.11, 0.09"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003680", "end": "2025-12-17 13:35:11.509039", "msg": "", "rc": 0, "start": "2025-12-17 13:35:11.505359", "stderr": "", "stderr_lines": [], "stdout": " 13:35:11 up 22 days, 2:45, 1 user, load average: 0.13, 0.07, 0.01", "stdout_lines": [" 13:35:11 up 22 days, 2:45, 1 user, load average: 0.13, 0.07, 0.01"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004039", "end": "2025-12-17 13:35:11.514210", "msg": "", "rc": 0, "start": "2025-12-17 13:35:11.510171", "stderr": "", "stderr_lines": [], "stdout": " 13:35:11 up 22 days, 46 min, 1 user, load average: 0.69, 0.67, 0.71", "stdout_lines": [" 13:35:11 up 22 days, 46 min, 1 user, load average: 0.69, 0.67, 0.71"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003771", "end": "2025-12-17 13:35:11.524474", "msg": "", "rc": 0, "start": "2025-12-17 13:35:11.520703", "stderr": "", "stderr_lines": [], "stdout": " 13:35:11 up 22 days, 1:59, 1 user, load average: 0.48, 0.56, 0.58", "stdout_lines": [" 13:35:11 up 22 days, 1:59, 1 user, load average: 0.48, 0.56, 0.58"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002839", "end": "2025-12-17 13:35:11.532847", "msg": "", "rc": 0, "start": "2025-12-17 13:35:11.530008", "stderr": "", "stderr_lines": [], "stdout": " 13:35:11 up 3 days, 3:07, 1 user, load average: 0.20, 0.16, 0.17", "stdout_lines": [" 13:35:11 up 3 days, 3:07, 1 user, load average: 0.20, 0.16, 0.17"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003001", "end": "2025-12-17 13:34:45.551763", "msg": "", "rc": 0, "start": "2025-12-17 13:34:45.548762", "stderr": "", "stderr_lines": [], "stdout": " 13:34:45 up 11 days, 1:24, 0 user, load average: 0.16, 0.10, 0.11", "stdout_lines": [" 13:34:45 up 11 days, 1:24, 0 user, load average: 0.16, 0.10, 0.11"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003555", "end": "2025-12-17 13:34:39.101785", "msg": "", "rc": 0, "start": "2025-12-17 13:34:39.098230", "stderr": "", "stderr_lines": [], "stdout": " 13:34:39 up 17 days, 21:36, 0 user, load average: 0.07, 0.04, 0.00", "stdout_lines": [" 13:34:39 up 17 days, 21:36, 0 user, load average: 0.07, 0.04, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008418", "end": "2025-12-17 13:35:12.198126", "msg": "", "rc": 0, "start": "2025-12-17 13:35:12.189708", "stderr": "", "stderr_lines": [], "stdout": " 13:35:12 up 194 days, 5:08, 1 user, load average: 0.07, 0.12, 0.09", "stdout_lines": [" 13:35:12 up 194 days, 5:08, 1 user, load average: 0.07, 0.12, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009178", "end": "2025-12-17 13:35:12.229263", "msg": "", "rc": 0, "start": "2025-12-17 13:35:12.220085", "stderr": "", "stderr_lines": [], "stdout": " 13:35:12 up 194 days, 5:08, 1 user, load average: 0.34, 0.22, 0.19", "stdout_lines": [" 13:35:12 up 194 days, 5:08, 1 user, load average: 0.34, 0.22, 0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004852", "end": "2025-12-17 13:35:12.476418", "msg": "", "rc": 0, "start": "2025-12-17 13:35:12.471566", "stderr": "", "stderr_lines": [], "stdout": " 13:35:12 up 3 days, 3:06, 1 user, load average: 0.17, 0.06, 0.01", "stdout_lines": [" 13:35:12 up 3 days, 3:06, 1 user, load average: 0.17, 0.06, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003123", "end": "2025-12-17 13:34:42.277932", "msg": "", "rc": 0, "start": "2025-12-17 13:34:42.274809", "stderr": "", "stderr_lines": [], "stdout": " 13:34:42 up 20 days, 16:29, 0 user, load average: 0.31, 0.40, 0.44", "stdout_lines": [" 13:34:42 up 20 days, 16:29, 0 user, load average: 0.31, 0.40, 0.44"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004228", "end": "2025-12-17 10:35:12.726070", "msg": "", "rc": 0, "start": "2025-12-17 10:35:12.721842", "stderr": "", "stderr_lines": [], "stdout": "10:35AM up 22 days, 25 mins, 1 user, load averages: 0.33, 0.23, 0.21", "stdout_lines": ["10:35AM up 22 days, 25 mins, 1 user, load averages: 0.33, 0.23, 0.21"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003256", "end": "2025-12-17 13:34:48.889182", "msg": "", "rc": 0, "start": "2025-12-17 13:34:48.885926", "stderr": "", "stderr_lines": [], "stdout": " 13:34:48 up 17 days, 2:50, 0 user, load average: 0.35, 0.30, 0.30", "stdout_lines": [" 13:34:48 up 17 days, 2:50, 0 user, load average: 0.35, 0.30, 0.30"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003616", "end": "2025-12-17 13:35:12.918045", "msg": "", "rc": 0, "start": "2025-12-17 13:35:12.914429", "stderr": "", "stderr_lines": [], "stdout": " 13:35:12 up 3 days, 3:06, 1 user, load average: 0.14, 0.07, 0.06", "stdout_lines": [" 13:35:12 up 3 days, 3:06, 1 user, load average: 0.14, 0.07, 0.06"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008025", "end": "2025-12-17 13:35:13.635259", "msg": "", "rc": 0, "start": "2025-12-17 13:35:13.627234", "stderr": "", "stderr_lines": [], "stdout": " 13:35:13 up 33 min, 1 user, load average: 1.63, 1.21, 0.84", "stdout_lines": [" 13:35:13 up 33 min, 1 user, load average: 1.63, 1.21, 0.84"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019505", "end": "2025-12-17 13:35:12.886750", "msg": "", "rc": 0, "start": "2025-12-17 13:35:12.867245", "stderr": "", "stderr_lines": [], "stdout": " 13:35:12 up 15 days, 3:01, 1 user, load average: 0.09, 0.06, 0.02", "stdout_lines": [" 13:35:12 up 15 days, 3:01, 1 user, load average: 0.09, 0.06, 0.02"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005001", "end": "2025-12-17 13:35:13.416584", "msg": "", "rc": 0, "start": "2025-12-17 13:35:13.411583", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004728", "end": "2025-12-17 13:35:13.434699", "msg": "", "rc": 0, "start": "2025-12-17 13:35:13.429971", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004086", "end": "2025-12-17 13:35:13.439245", "msg": "", "rc": 0, "start": "2025-12-17 13:35:13.435159", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004901", "end": "2025-12-17 13:35:13.466346", "msg": "", "rc": 0, "start": "2025-12-17 13:35:13.461445", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006667", "end": "2025-12-17 13:35:13.490750", "msg": "", "rc": 0, "start": "2025-12-17 13:35:13.484083", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004813", "end": "2025-12-17 13:34:47.479874", "msg": "", "rc": 0, "start": "2025-12-17 13:34:47.475061", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005409", "end": "2025-12-17 13:34:41.052711", "msg": "", "rc": 0, "start": "2025-12-17 13:34:41.047302", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.018912", "end": "2025-12-17 13:35:14.175334", "msg": "", "rc": 0, "start": "2025-12-17 13:35:14.156422", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011551", "end": "2025-12-17 13:35:14.191260", "msg": "", "rc": 0, "start": "2025-12-17 13:35:14.179709", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005759", "end": "2025-12-17 13:35:14.412948", "msg": "", "rc": 0, "start": "2025-12-17 13:35:14.407189", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005743", "end": "2025-12-17 13:34:44.229692", "msg": "", "rc": 0, "start": "2025-12-17 13:34:44.223949", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005317", "end": "2025-12-17 10:35:14.668103", "msg": "", "rc": 0, "start": "2025-12-17 10:35:14.662786", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004959", "end": "2025-12-17 13:34:50.870685", "msg": "", "rc": 0, "start": "2025-12-17 13:34:50.865726", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005338", "end": "2025-12-17 13:35:14.836191", "msg": "", "rc": 0, "start": "2025-12-17 13:35:14.830853", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020503", "end": "2025-12-17 13:35:15.668461", "msg": "", "rc": 0, "start": "2025-12-17 13:35:15.647958", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025648", "end": "2025-12-17 13:35:14.815389", "msg": "", "rc": 0, "start": "2025-12-17 13:35:14.789741", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004187", "end": "2025-12-17 13:35:15.366699", "msg": "", "rc": 0, "start": "2025-12-17 13:35:15.362512", "stderr": "", "stderr_lines": [], "stdout": "77.6%", "stdout_lines": ["77.6%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004762", "end": "2025-12-17 13:35:15.374710", "msg": "", "rc": 0, "start": "2025-12-17 13:35:15.369948", "stderr": "", "stderr_lines": [], "stdout": "49.1%", "stdout_lines": ["49.1%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004171", "end": "2025-12-17 13:35:15.394601", "msg": "", "rc": 0, "start": "2025-12-17 13:35:15.390430", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005063", "end": "2025-12-17 13:35:15.398811", "msg": "", "rc": 0, "start": "2025-12-17 13:35:15.393748", "stderr": "", "stderr_lines": [], "stdout": "9.1%", "stdout_lines": ["9.1%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005364", "end": "2025-12-17 13:35:15.411994", "msg": "", "rc": 0, "start": "2025-12-17 13:35:15.406630", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003606", "end": "2025-12-17 13:34:49.443146", "msg": "", "rc": 0, "start": "2025-12-17 13:34:49.439540", "stderr": "", "stderr_lines": [], "stdout": "71.1%", "stdout_lines": ["71.1%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005305", "end": "2025-12-17 13:34:43.003826", "msg": "", "rc": 0, "start": "2025-12-17 13:34:42.998521", "stderr": "", "stderr_lines": [], "stdout": "68.4%", "stdout_lines": ["68.4%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010957", "end": "2025-12-17 13:35:16.058482", "msg": "", "rc": 0, "start": "2025-12-17 13:35:16.047525", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011908", "end": "2025-12-17 13:35:16.128232", "msg": "", "rc": 0, "start": "2025-12-17 13:35:16.116324", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.9%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006072", "end": "2025-12-17 13:35:16.380166", "msg": "", "rc": 0, "start": "2025-12-17 13:35:16.374094", "stderr": "", "stderr_lines": [], "stdout": "35.5%", "stdout_lines": ["35.5%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003439", "end": "2025-12-17 13:34:52.736365", "msg": "", "rc": 0, "start": "2025-12-17 13:34:52.732926", "stderr": "", "stderr_lines": [], "stdout": "50.1%", "stdout_lines": ["50.1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004585", "end": "2025-12-17 13:34:46.222737", "msg": "", "rc": 0, "start": "2025-12-17 13:34:46.218152", "stderr": "", "stderr_lines": [], "stdout": "26.1%", "stdout_lines": ["26.1%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005074", "end": "2025-12-17 10:35:16.603258", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 10:35:16.598184", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005389", "end": "2025-12-17 13:35:16.811985", "msg": "", "rc": 0, "start": "2025-12-17 13:35:16.806596", "stderr": "", "stderr_lines": [], "stdout": "13.9%", "stdout_lines": ["13.9%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009575", "end": "2025-12-17 13:35:17.704069", "msg": "", "rc": 0, "start": "2025-12-17 13:35:17.694494", "stderr": "", "stderr_lines": [], "stdout": "12.4%", "stdout_lines": ["12.4%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026021", "end": "2025-12-17 13:35:16.760336", "msg": "", "rc": 0, "start": "2025-12-17 13:35:16.734315", "stderr": "", "stderr_lines": [], "stdout": "19.8%", "stdout_lines": ["19.8%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005418", "end": "2025-12-17 13:35:17.303210", "msg": "", "rc": 0, "start": "2025-12-17 13:35:17.297792", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004774", "end": "2025-12-17 13:35:17.325605", "msg": "", "rc": 0, "start": "2025-12-17 13:35:17.320831", "stderr": "", "stderr_lines": [], "stdout": "46.0°C", "stdout_lines": ["46.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005605", "end": "2025-12-17 13:35:17.338585", "msg": "", "rc": 0, "start": "2025-12-17 13:35:17.332980", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003151", "end": "2025-12-17 13:35:17.349889", "msg": "", "rc": 0, "start": "2025-12-17 13:35:17.346738", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.007192", "end": "2025-12-17 13:35:17.384363", "msg": "", "rc": 0, "start": "2025-12-17 13:35:17.377171", "stderr": "", "stderr_lines": [], "stdout": "52.5°C", "stdout_lines": ["52.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002584", "end": "2025-12-17 13:34:51.441549", "msg": "", "rc": 0, "start": "2025-12-17 13:34:51.438965", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003412", "end": "2025-12-17 13:34:44.980829", "msg": "", "rc": 0, "start": "2025-12-17 13:34:44.977417", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011713", "end": "2025-12-17 13:35:18.017436", "msg": "", "rc": 0, "start": "2025-12-17 13:35:18.005723", "stderr": "", "stderr_lines": [], "stdout": "32.1°C", "stdout_lines": ["32.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012993", "end": "2025-12-17 13:35:18.026537", "msg": "", "rc": 0, "start": "2025-12-17 13:35:18.013544", "stderr": "", "stderr_lines": [], "stdout": "36.5°C", "stdout_lines": ["36.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003431", "end": "2025-12-17 13:35:18.372645", "msg": "", "rc": 0, "start": "2025-12-17 13:35:18.369214", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003848", "end": "2025-12-17 10:35:18.505798", "msg": "", "rc": 0, "start": "2025-12-17 10:35:18.501950", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002641", "end": "2025-12-17 13:34:54.738652", "msg": "", "rc": 0, "start": "2025-12-17 13:34:54.736011", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003008", "end": "2025-12-17 13:34:48.220562", "msg": "", "rc": 0, "start": "2025-12-17 13:34:48.217554", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002915", "end": "2025-12-17 13:35:18.815762", "msg": "", "rc": 0, "start": "2025-12-17 13:35:18.812847", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005192", "end": "2025-12-17 13:35:19.723741", "msg": "", "rc": 0, "start": "2025-12-17 13:35:19.718549", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.029421", "end": "2025-12-17 13:35:18.719599", "msg": "", "rc": 0, "start": "2025-12-17 13:35:18.690178", "stderr": "", "stderr_lines": [], "stdout": "36.3°C", "stdout_lines": ["36.3°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004161", "end": "2025-12-17 13:35:19.242702", "msg": "", "rc": 0, "start": "2025-12-17 13:35:19.238541", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004023", "end": "2025-12-17 13:35:19.256710", "msg": "", "rc": 0, "start": "2025-12-17 13:35:19.252687", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004887", "end": "2025-12-17 13:35:19.287052", "msg": "", "rc": 0, "start": "2025-12-17 13:35:19.282165", "stderr": "", "stderr_lines": [], "stdout": "0.87", "stdout_lines": ["0.87"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006052", "end": "2025-12-17 13:35:19.308804", "msg": "", "rc": 0, "start": "2025-12-17 13:35:19.302752", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006365", "end": "2025-12-17 13:35:19.332504", "msg": "", "rc": 0, "start": "2025-12-17 13:35:19.326139", "stderr": "", "stderr_lines": [], "stdout": "0.56", "stdout_lines": ["0.56"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004060", "end": "2025-12-17 13:34:53.317563", "msg": "", "rc": 0, "start": "2025-12-17 13:34:53.313503", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005367", "end": "2025-12-17 13:34:46.905152", "msg": "", "rc": 0, "start": "2025-12-17 13:34:46.899785", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010151", "end": "2025-12-17 13:35:19.962205", "msg": "", "rc": 0, "start": "2025-12-17 13:35:19.952054", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011064", "end": "2025-12-17 13:35:19.977923", "msg": "", "rc": 0, "start": "2025-12-17 13:35:19.966859", "stderr": "", "stderr_lines": [], "stdout": "0.36", "stdout_lines": ["0.36"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005540", "end": "2025-12-17 13:35:20.238220", "msg": "", "rc": 0, "start": "2025-12-17 13:35:20.232680", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004913", "end": "2025-12-17 13:34:50.095187", "msg": "", "rc": 0, "start": "2025-12-17 13:34:50.090274", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005785", "end": "2025-12-17 10:35:20.460869", "msg": "", "rc": 0, "start": "2025-12-17 10:35:20.455084", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004245", "end": "2025-12-17 13:34:56.625261", "msg": "", "rc": 0, "start": "2025-12-17 13:34:56.621016", "stderr": "", "stderr_lines": [], "stdout": "0.37", "stdout_lines": ["0.37"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005415", "end": "2025-12-17 13:35:20.658922", "msg": "", "rc": 0, "start": "2025-12-17 13:35:20.653507", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.009487", "end": "2025-12-17 13:35:21.714448", "msg": "", "rc": 0, "start": "2025-12-17 13:35:21.704961", "stderr": "", "stderr_lines": [], "stdout": "1.69", "stdout_lines": ["1.69"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.026931", "end": "2025-12-17 13:35:20.849449", "msg": "", "rc": 0, "start": "2025-12-17 13:35:20.822518", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:35:11 up 3 days, 3:07, 1 user, load average: 0.20, 0.16, 0.17\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.25\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:35:11 up 22 days, 26 min, 1 user, load average: 0.17, 0.11, 0.09\nDisk Usage: 23%\nMemory Usage: 77.6%\nCPU Load: 0.15\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:35:11 up 22 days, 46 min, 1 user, load average: 0.69, 0.67, 0.71\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 0.87\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:35:11 up 22 days, 1:59, 1 user, load average: 0.48, 0.56, 0.58\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.56\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:35:11 up 22 days, 2:45, 1 user, load average: 0.13, 0.07, 0.01\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:35:12 up 15 days, 3:01, 1 user, load average: 0.09, 0.06, 0.02\nDisk Usage: 21%\nMemory Usage: 19.8%\nCPU Load: 0.23\nCPU Temp: 36.3°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:35:12 up 194 days, 5:08, 1 user, load average: 0.34, 0.22, 0.19\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.36\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:35:12 up 194 days, 5:08, 1 user, load average: 0.07, 0.12, 0.09\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.06\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:34:45 up 11 days, 1:24, 0 user, load average: 0.16, 0.10, 0.11\nDisk Usage: 48%\nMemory Usage: 71.1%\nCPU Load: 0.21\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:34:39 up 17 days, 21:36, 0 user, load average: 0.07, 0.04, 0.00\nDisk Usage: 24%\nMemory Usage: 68.4%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:35:12 up 3 days, 3:06, 1 user, load average: 0.17, 0.06, 0.01\nDisk Usage: 1%\nMemory Usage: 35.5%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:34:42 up 20 days, 16:29, 0 user, load average: 0.31, 0.40, 0.44\nDisk Usage: 28%\nMemory Usage: 26.1%\nCPU Load: 0.50\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:34:48 up 17 days, 2:50, 0 user, load average: 0.35, 0.30, 0.30\nDisk Usage: 76%\nMemory Usage: 50.1%\nCPU Load: 0.37\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:35AM up 22 days, 25 mins, 1 user, load averages: 0.33, 0.23, 0.21\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:35:12 up 3 days, 3:06, 1 user, load average: 0.14, 0.07, 0.06\nDisk Usage: 79%\nMemory Usage: 13.9%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:35:13 up 33 min, 1 user, load average: 1.63, 1.21, 0.84\nDisk Usage: 1%\nMemory Usage: 12.4%\nCPU Load: 1.69\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T18:35:22.815504+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `9ec2f4b5699d4f66b9298afaa1fc805a` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T18:40:00.003517+00:00 |
| **Fin** | 2025-12-17T18:40:21.259143+00:00 |
| **Durée** | 21.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003210", "end": "2025-12-17 13:40:10.487361", "msg": "", "rc": 0, "start": "2025-12-17 13:40:10.484151", "stderr": "", "stderr_lines": [], "stdout": " 13:40:10 up 22 days, 31 min, 1 user, load average: 0.02, 0.08, 0.08", "stdout_lines": [" 13:40:10 up 22 days, 31 min, 1 user, load average: 0.02, 0.08, 0.08"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003506", "end": "2025-12-17 13:40:10.500380", "msg": "", "rc": 0, "start": "2025-12-17 13:40:10.496874", "stderr": "", "stderr_lines": [], "stdout": " 13:40:10 up 22 days, 2:50, 1 user, load average: 0.00, 0.03, 0.00", "stdout_lines": [" 13:40:10 up 22 days, 2:50, 1 user, load average: 0.00, 0.03, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003485", "end": "2025-12-17 13:40:10.512119", "msg": "", "rc": 0, "start": "2025-12-17 13:40:10.508634", "stderr": "", "stderr_lines": [], "stdout": " 13:40:10 up 22 days, 51 min, 1 user, load average: 0.52, 0.56, 0.65", "stdout_lines": [" 13:40:10 up 22 days, 51 min, 1 user, load average: 0.52, 0.56, 0.65"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004039", "end": "2025-12-17 13:40:10.515312", "msg": "", "rc": 0, "start": "2025-12-17 13:40:10.511273", "stderr": "", "stderr_lines": [], "stdout": " 13:40:10 up 22 days, 2:04, 1 user, load average: 0.51, 0.58, 0.59", "stdout_lines": [" 13:40:10 up 22 days, 2:04, 1 user, load average: 0.51, 0.58, 0.59"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002874", "end": "2025-12-17 13:40:10.526214", "msg": "", "rc": 0, "start": "2025-12-17 13:40:10.523340", "stderr": "", "stderr_lines": [], "stdout": " 13:40:10 up 3 days, 3:12, 1 user, load average: 0.14, 0.12, 0.15", "stdout_lines": [" 13:40:10 up 3 days, 3:12, 1 user, load average: 0.14, 0.12, 0.15"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002812", "end": "2025-12-17 13:39:44.548328", "msg": "", "rc": 0, "start": "2025-12-17 13:39:44.545516", "stderr": "", "stderr_lines": [], "stdout": " 13:39:44 up 11 days, 1:29, 0 user, load average: 0.08, 0.08, 0.09", "stdout_lines": [" 13:39:44 up 11 days, 1:29, 0 user, load average: 0.08, 0.08, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003298", "end": "2025-12-17 13:39:38.095226", "msg": "", "rc": 0, "start": "2025-12-17 13:39:38.091928", "stderr": "", "stderr_lines": [], "stdout": " 13:39:38 up 17 days, 21:41, 0 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 13:39:38 up 17 days, 21:41, 0 user, load average: 0.00, 0.01, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008585", "end": "2025-12-17 13:40:11.185748", "msg": "", "rc": 0, "start": "2025-12-17 13:40:11.177163", "stderr": "", "stderr_lines": [], "stdout": " 13:40:11 up 194 days, 5:13, 1 user, load average: 0.18, 0.13, 0.10", "stdout_lines": [" 13:40:11 up 194 days, 5:13, 1 user, load average: 0.18, 0.13, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009460", "end": "2025-12-17 13:40:11.222421", "msg": "", "rc": 0, "start": "2025-12-17 13:40:11.212961", "stderr": "", "stderr_lines": [], "stdout": " 13:40:11 up 194 days, 5:13, 1 user, load average: 0.32, 0.22, 0.19", "stdout_lines": [" 13:40:11 up 194 days, 5:13, 1 user, load average: 0.32, 0.22, 0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004962", "end": "2025-12-17 13:40:11.482806", "msg": "", "rc": 0, "start": "2025-12-17 13:40:11.477844", "stderr": "", "stderr_lines": [], "stdout": " 13:40:11 up 3 days, 3:11, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 13:40:11 up 3 days, 3:11, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003125", "end": "2025-12-17 13:39:41.258525", "msg": "", "rc": 0, "start": "2025-12-17 13:39:41.255400", "stderr": "", "stderr_lines": [], "stdout": " 13:39:41 up 20 days, 16:33, 0 user, load average: 0.57, 0.43, 0.45", "stdout_lines": [" 13:39:41 up 20 days, 16:33, 0 user, load average: 0.57, 0.43, 0.45"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004202", "end": "2025-12-17 10:40:11.690471", "msg": "", "rc": 0, "start": "2025-12-17 10:40:11.686269", "stderr": "", "stderr_lines": [], "stdout": "10:40AM up 22 days, 29 mins, 1 user, load averages: 0.14, 0.23, 0.23", "stdout_lines": ["10:40AM up 22 days, 29 mins, 1 user, load averages: 0.14, 0.23, 0.23"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003626", "end": "2025-12-17 13:39:47.895002", "msg": "", "rc": 0, "start": "2025-12-17 13:39:47.891376", "stderr": "", "stderr_lines": [], "stdout": " 13:39:47 up 17 days, 2:55, 0 user, load average: 0.47, 0.38, 0.32", "stdout_lines": [" 13:39:47 up 17 days, 2:55, 0 user, load average: 0.47, 0.38, 0.32"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007628", "end": "2025-12-17 13:40:12.205184", "msg": "", "rc": 0, "start": "2025-12-17 13:40:12.197556", "stderr": "", "stderr_lines": [], "stdout": " 13:40:12 up 39 min, 1 user, load average: 1.13, 1.16, 0.94", "stdout_lines": [" 13:40:12 up 39 min, 1 user, load average: 1.13, 1.16, 0.94"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003616", "end": "2025-12-17 13:40:11.914042", "msg": "", "rc": 0, "start": "2025-12-17 13:40:11.910426", "stderr": "", "stderr_lines": [], "stdout": " 13:40:11 up 3 days, 3:11, 1 user, load average: 0.00, 0.04, 0.05", "stdout_lines": [" 13:40:11 up 3 days, 3:11, 1 user, load average: 0.00, 0.04, 0.05"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019912", "end": "2025-12-17 13:40:11.895322", "msg": "", "rc": 0, "start": "2025-12-17 13:40:11.875410", "stderr": "", "stderr_lines": [], "stdout": " 13:40:11 up 15 days, 3:06, 1 user, load average: 0.21, 0.09, 0.03", "stdout_lines": [" 13:40:11 up 15 days, 3:06, 1 user, load average: 0.21, 0.09, 0.03"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004261", "end": "2025-12-17 13:40:12.436116", "msg": "", "rc": 0, "start": "2025-12-17 13:40:12.431855", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004224", "end": "2025-12-17 13:40:12.464093", "msg": "", "rc": 0, "start": "2025-12-17 13:40:12.459869", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004940", "end": "2025-12-17 13:40:12.463203", "msg": "", "rc": 0, "start": "2025-12-17 13:40:12.458263", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004703", "end": "2025-12-17 13:40:12.489135", "msg": "", "rc": 0, "start": "2025-12-17 13:40:12.484432", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005400", "end": "2025-12-17 13:40:12.503360", "msg": "", "rc": 0, "start": "2025-12-17 13:40:12.497960", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005049", "end": "2025-12-17 13:39:46.555882", "msg": "", "rc": 0, "start": "2025-12-17 13:39:46.550833", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005392", "end": "2025-12-17 13:39:40.083343", "msg": "", "rc": 0, "start": "2025-12-17 13:39:40.077951", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010624", "end": "2025-12-17 13:40:13.229102", "msg": "", "rc": 0, "start": "2025-12-17 13:40:13.218478", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011497", "end": "2025-12-17 13:40:13.289145", "msg": "", "rc": 0, "start": "2025-12-17 13:40:13.277648", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005743", "end": "2025-12-17 13:40:13.480388", "msg": "", "rc": 0, "start": "2025-12-17 13:40:13.474645", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005351", "end": "2025-12-17 13:39:43.256998", "msg": "", "rc": 0, "start": "2025-12-17 13:39:43.251647", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006298", "end": "2025-12-17 13:39:49.911519", "msg": "", "rc": 0, "start": "2025-12-17 13:39:49.905221", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005474", "end": "2025-12-17 10:40:13.751787", "msg": "", "rc": 0, "start": "2025-12-17 10:40:13.746313", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008698", "end": "2025-12-17 13:40:14.271316", "msg": "", "rc": 0, "start": "2025-12-17 13:40:14.262618", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005296", "end": "2025-12-17 13:40:13.910538", "msg": "", "rc": 0, "start": "2025-12-17 13:40:13.905242", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025633", "end": "2025-12-17 13:40:13.863339", "msg": "", "rc": 0, "start": "2025-12-17 13:40:13.837706", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004148", "end": "2025-12-17 13:40:14.384645", "msg": "", "rc": 0, "start": "2025-12-17 13:40:14.380497", "stderr": "", "stderr_lines": [], "stdout": "77.6%", "stdout_lines": ["77.6%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004233", "end": "2025-12-17 13:40:14.405441", "msg": "", "rc": 0, "start": "2025-12-17 13:40:14.401208", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004964", "end": "2025-12-17 13:40:14.428425", "msg": "", "rc": 0, "start": "2025-12-17 13:40:14.423461", "stderr": "", "stderr_lines": [], "stdout": "49.3%", "stdout_lines": ["49.3%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004974", "end": "2025-12-17 13:40:14.444817", "msg": "", "rc": 0, "start": "2025-12-17 13:40:14.439843", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005597", "end": "2025-12-17 13:40:14.458754", "msg": "", "rc": 0, "start": "2025-12-17 13:40:14.453157", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003601", "end": "2025-12-17 13:39:48.468512", "msg": "", "rc": 0, "start": "2025-12-17 13:39:48.464911", "stderr": "", "stderr_lines": [], "stdout": "71.2%", "stdout_lines": ["71.2%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006306", "end": "2025-12-17 13:39:42.046215", "msg": "", "rc": 0, "start": "2025-12-17 13:39:42.039909", "stderr": "", "stderr_lines": [], "stdout": "68.5%", "stdout_lines": ["68.5%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011169", "end": "2025-12-17 13:40:15.112073", "msg": "", "rc": 0, "start": "2025-12-17 13:40:15.100904", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011794", "end": "2025-12-17 13:40:15.118720", "msg": "", "rc": 0, "start": "2025-12-17 13:40:15.106926", "stderr": "", "stderr_lines": [], "stdout": "13.2%", "stdout_lines": ["13.2%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005866", "end": "2025-12-17 13:40:15.377624", "msg": "", "rc": 0, "start": "2025-12-17 13:40:15.371758", "stderr": "", "stderr_lines": [], "stdout": "35.5%", "stdout_lines": ["35.5%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004511", "end": "2025-12-17 13:39:45.250114", "msg": "", "rc": 0, "start": "2025-12-17 13:39:45.245603", "stderr": "", "stderr_lines": [], "stdout": "27.4%", "stdout_lines": ["27.4%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005270", "end": "2025-12-17 10:40:15.617045", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 10:40:15.611775", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004837", "end": "2025-12-17 13:39:51.805267", "msg": "", "rc": 0, "start": "2025-12-17 13:39:51.800430", "stderr": "", "stderr_lines": [], "stdout": "52.2%", "stdout_lines": ["52.2%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005589", "end": "2025-12-17 13:40:15.815488", "msg": "", "rc": 0, "start": "2025-12-17 13:40:15.809899", "stderr": "", "stderr_lines": [], "stdout": "13.8%", "stdout_lines": ["13.8%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010364", "end": "2025-12-17 13:40:16.332890", "msg": "", "rc": 0, "start": "2025-12-17 13:40:16.322526", "stderr": "", "stderr_lines": [], "stdout": "12.7%", "stdout_lines": ["12.7%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025970", "end": "2025-12-17 13:40:15.797551", "msg": "", "rc": 0, "start": "2025-12-17 13:40:15.771581", "stderr": "", "stderr_lines": [], "stdout": "19.4%", "stdout_lines": ["19.4%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005313", "end": "2025-12-17 13:40:16.348133", "msg": "", "rc": 0, "start": "2025-12-17 13:40:16.342820", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005069", "end": "2025-12-17 13:40:16.373023", "msg": "", "rc": 0, "start": "2025-12-17 13:40:16.367954", "stderr": "", "stderr_lines": [], "stdout": "46.0°C", "stdout_lines": ["46.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003275", "end": "2025-12-17 13:40:16.380135", "msg": "", "rc": 0, "start": "2025-12-17 13:40:16.376860", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005912", "end": "2025-12-17 13:40:16.379923", "msg": "", "rc": 0, "start": "2025-12-17 13:40:16.374011", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006782", "end": "2025-12-17 13:40:16.409628", "msg": "", "rc": 0, "start": "2025-12-17 13:40:16.402846", "stderr": "", "stderr_lines": [], "stdout": "52.5°C", "stdout_lines": ["52.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002891", "end": "2025-12-17 13:39:50.433281", "msg": "", "rc": 0, "start": "2025-12-17 13:39:50.430390", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003238", "end": "2025-12-17 13:39:43.964663", "msg": "", "rc": 0, "start": "2025-12-17 13:39:43.961425", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011813", "end": "2025-12-17 13:40:17.052588", "msg": "", "rc": 0, "start": "2025-12-17 13:40:17.040775", "stderr": "", "stderr_lines": [], "stdout": "32.1°C", "stdout_lines": ["32.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012757", "end": "2025-12-17 13:40:17.104085", "msg": "", "rc": 0, "start": "2025-12-17 13:40:17.091328", "stderr": "", "stderr_lines": [], "stdout": "36.5°C", "stdout_lines": ["36.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003198", "end": "2025-12-17 13:40:17.353951", "msg": "", "rc": 0, "start": "2025-12-17 13:40:17.350753", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002961", "end": "2025-12-17 13:39:47.170565", "msg": "", "rc": 0, "start": "2025-12-17 13:39:47.167604", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002598", "end": "2025-12-17 13:39:53.720682", "msg": "", "rc": 0, "start": "2025-12-17 13:39:53.718084", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004405", "end": "2025-12-17 10:40:17.575670", "msg": "", "rc": 0, "start": "2025-12-17 10:40:17.571265", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002977", "end": "2025-12-17 13:40:17.782591", "msg": "", "rc": 0, "start": "2025-12-17 13:40:17.779614", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004236", "end": "2025-12-17 13:40:18.354854", "msg": "", "rc": 0, "start": "2025-12-17 13:40:18.350618", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.029141", "end": "2025-12-17 13:40:17.753547", "msg": "", "rc": 0, "start": "2025-12-17 13:40:17.724406", "stderr": "", "stderr_lines": [], "stdout": "36.3°C", "stdout_lines": ["36.3°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004206", "end": "2025-12-17 13:40:18.290991", "msg": "", "rc": 0, "start": "2025-12-17 13:40:18.286785", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004165", "end": "2025-12-17 13:40:18.313765", "msg": "", "rc": 0, "start": "2025-12-17 13:40:18.309600", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005124", "end": "2025-12-17 13:40:18.343034", "msg": "", "rc": 0, "start": "2025-12-17 13:40:18.337910", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004536", "end": "2025-12-17 13:40:18.343447", "msg": "", "rc": 0, "start": "2025-12-17 13:40:18.338911", "stderr": "", "stderr_lines": [], "stdout": "0.56", "stdout_lines": ["0.56"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005760", "end": "2025-12-17 13:40:18.366665", "msg": "", "rc": 0, "start": "2025-12-17 13:40:18.360905", "stderr": "", "stderr_lines": [], "stdout": "0.63", "stdout_lines": ["0.63"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004274", "end": "2025-12-17 13:39:52.412309", "msg": "", "rc": 0, "start": "2025-12-17 13:39:52.408035", "stderr": "", "stderr_lines": [], "stdout": "0.38", "stdout_lines": ["0.38"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005592", "end": "2025-12-17 13:39:45.996762", "msg": "", "rc": 0, "start": "2025-12-17 13:39:45.991170", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010832", "end": "2025-12-17 13:40:19.104742", "msg": "", "rc": 0, "start": "2025-12-17 13:40:19.093910", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011732", "end": "2025-12-17 13:40:19.125748", "msg": "", "rc": 0, "start": "2025-12-17 13:40:19.114016", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005762", "end": "2025-12-17 13:40:19.319007", "msg": "", "rc": 0, "start": "2025-12-17 13:40:19.313245", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005308", "end": "2025-12-17 13:39:49.211197", "msg": "", "rc": 0, "start": "2025-12-17 13:39:49.205889", "stderr": "", "stderr_lines": [], "stdout": "0.63", "stdout_lines": ["0.63"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004426", "end": "2025-12-17 13:39:55.771791", "msg": "", "rc": 0, "start": "2025-12-17 13:39:55.767365", "stderr": "", "stderr_lines": [], "stdout": "0.40", "stdout_lines": ["0.40"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005964", "end": "2025-12-17 10:40:19.616648", "msg": "", "rc": 0, "start": "2025-12-17 10:40:19.610684", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005334", "end": "2025-12-17 13:40:19.761057", "msg": "", "rc": 0, "start": "2025-12-17 13:40:19.755723", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008347", "end": "2025-12-17 13:40:20.437082", "msg": "", "rc": 0, "start": "2025-12-17 13:40:20.428735", "stderr": "", "stderr_lines": [], "stdout": "1.20", "stdout_lines": ["1.20"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.025729", "end": "2025-12-17 13:40:19.795205", "msg": "", "rc": 0, "start": "2025-12-17 13:40:19.769476", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:40:10 up 3 days, 3:12, 1 user, load average: 0.14, 0.12, 0.15\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.29\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:40:10 up 22 days, 31 min, 1 user, load average: 0.02, 0.08, 0.08\nDisk Usage: 23%\nMemory Usage: 77.6%\nCPU Load: 0.10\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:40:10 up 22 days, 51 min, 1 user, load average: 0.52, 0.56, 0.65\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.56\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:40:10 up 22 days, 2:04, 1 user, load average: 0.51, 0.58, 0.59\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.63\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:40:11 up 15 days, 3:06, 1 user, load average: 0.21, 0.09, 0.03\nDisk Usage: 21%\nMemory Usage: 19.4%\nCPU Load: 0.25\nCPU Temp: 36.3°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:40:10 up 22 days, 2:50, 1 user, load average: 0.00, 0.03, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:40:11 up 194 days, 5:13, 1 user, load average: 0.32, 0.22, 0.19\nDisk Usage: 6%\nMemory Usage: 13.2%\nCPU Load: 0.34\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:40:11 up 194 days, 5:13, 1 user, load average: 0.18, 0.13, 0.10\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.15\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:39:44 up 11 days, 1:29, 0 user, load average: 0.08, 0.08, 0.09\nDisk Usage: 48%\nMemory Usage: 71.2%\nCPU Load: 0.38\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:39:38 up 17 days, 21:41, 0 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 24%\nMemory Usage: 68.5%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:40:11 up 3 days, 3:11, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 1%\nMemory Usage: 35.5%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:39:41 up 20 days, 16:33, 0 user, load average: 0.57, 0.43, 0.45\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.63\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:39:47 up 17 days, 2:55, 0 user, load average: 0.47, 0.38, 0.32\nDisk Usage: 76%\nMemory Usage: 52.2%\nCPU Load: 0.40\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:40AM up 22 days, 29 mins, 1 user, load averages: 0.14, 0.23, 0.23\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:40:11 up 3 days, 3:11, 1 user, load average: 0.00, 0.04, 0.05\nDisk Usage: 79%\nMemory Usage: 13.8%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:40:12 up 39 min, 1 user, load average: 1.13, 1.16, 0.94\nDisk Usage: 1%\nMemory Usage: 12.7%\nCPU Load: 1.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T18:40:21.302778+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `e637eeb1c80b43d684493367264006d9` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T18:45:00.004696+00:00 |
| **Fin** | 2025-12-17T18:45:22.230340+00:00 |
| **Durée** | 22.2s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003832", "end": "2025-12-17 13:45:10.957035", "msg": "", "rc": 0, "start": "2025-12-17 13:45:10.953203", "stderr": "", "stderr_lines": [], "stdout": " 13:45:10 up 22 days, 2:55, 1 user, load average: 0.19, 0.07, 0.01", "stdout_lines": [" 13:45:10 up 22 days, 2:55, 1 user, load average: 0.19, 0.07, 0.01"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004053", "end": "2025-12-17 13:45:10.980901", "msg": "", "rc": 0, "start": "2025-12-17 13:45:10.976848", "stderr": "", "stderr_lines": [], "stdout": " 13:45:10 up 22 days, 2:09, 1 user, load average: 0.75, 0.75, 0.67", "stdout_lines": [" 13:45:10 up 22 days, 2:09, 1 user, load average: 0.75, 0.75, 0.67"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003003", "end": "2025-12-17 13:45:10.987290", "msg": "", "rc": 0, "start": "2025-12-17 13:45:10.984287", "stderr": "", "stderr_lines": [], "stdout": " 13:45:10 up 3 days, 3:17, 1 user, load average: 0.50, 0.21, 0.17", "stdout_lines": [" 13:45:10 up 3 days, 3:17, 1 user, load average: 0.50, 0.21, 0.17"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008520", "end": "2025-12-17 13:45:11.643032", "msg": "", "rc": 0, "start": "2025-12-17 13:45:11.634512", "stderr": "", "stderr_lines": [], "stdout": " 13:45:11 up 194 days, 5:18, 1 user, load average: 0.21, 0.13, 0.10", "stdout_lines": [" 13:45:11 up 194 days, 5:18, 1 user, load average: 0.21, 0.13, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009199", "end": "2025-12-17 13:45:11.690177", "msg": "", "rc": 0, "start": "2025-12-17 13:45:11.680978", "stderr": "", "stderr_lines": [], "stdout": " 13:45:11 up 194 days, 5:18, 1 user, load average: 0.24, 0.22, 0.19", "stdout_lines": [" 13:45:11 up 194 days, 5:18, 1 user, load average: 0.24, 0.22, 0.19"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003376", "end": "2025-12-17 13:45:11.948054", "msg": "", "rc": 0, "start": "2025-12-17 13:45:10.944678", "stderr": "", "stderr_lines": [], "stdout": " 13:45:10 up 22 days, 36 min, 1 user, load average: 0.15, 0.13, 0.09", "stdout_lines": [" 13:45:10 up 22 days, 36 min, 1 user, load average: 0.15, 0.13, 0.09"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003841", "end": "2025-12-17 13:45:11.959590", "msg": "", "rc": 0, "start": "2025-12-17 13:45:10.955749", "stderr": "", "stderr_lines": [], "stdout": " 13:45:10 up 22 days, 56 min, 1 user, load average: 0.81, 0.73, 0.70", "stdout_lines": [" 13:45:10 up 22 days, 56 min, 1 user, load average: 0.81, 0.73, 0.70"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002894", "end": "2025-12-17 13:44:45.712705", "msg": "", "rc": 0, "start": "2025-12-17 13:44:45.709811", "stderr": "", "stderr_lines": [], "stdout": " 13:44:45 up 11 days, 1:34, 0 user, load average: 0.06, 0.14, 0.11", "stdout_lines": [" 13:44:45 up 11 days, 1:34, 0 user, load average: 0.06, 0.14, 0.11"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003585", "end": "2025-12-17 13:44:39.344946", "msg": "", "rc": 0, "start": "2025-12-17 13:44:39.341361", "stderr": "", "stderr_lines": [], "stdout": " 13:44:39 up 17 days, 21:46, 0 user, load average: 0.08, 0.02, 0.01", "stdout_lines": [" 13:44:39 up 17 days, 21:46, 0 user, load average: 0.08, 0.02, 0.01"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019636", "end": "2025-12-17 13:45:12.348781", "msg": "", "rc": 0, "start": "2025-12-17 13:45:12.329145", "stderr": "", "stderr_lines": [], "stdout": " 13:45:12 up 15 days, 3:11, 1 user, load average: 0.30, 0.13, 0.04", "stdout_lines": [" 13:45:12 up 15 days, 3:11, 1 user, load average: 0.30, 0.13, 0.04"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004785", "end": "2025-12-17 13:45:12.497446", "msg": "", "rc": 0, "start": "2025-12-17 13:45:12.492661", "stderr": "", "stderr_lines": [], "stdout": " 13:45:12 up 3 days, 3:16, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 13:45:12 up 3 days, 3:16, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003653", "end": "2025-12-17 13:44:42.210946", "msg": "", "rc": 0, "start": "2025-12-17 13:44:42.207293", "stderr": "", "stderr_lines": [], "stdout": " 13:44:42 up 20 days, 16:39, 0 user, load average: 0.72, 0.46, 0.45", "stdout_lines": [" 13:44:42 up 20 days, 16:39, 0 user, load average: 0.72, 0.46, 0.45"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002733", "end": "2025-12-17 13:44:48.826511", "msg": "", "rc": 0, "start": "2025-12-17 13:44:48.823778", "stderr": "", "stderr_lines": [], "stdout": " 13:44:48 up 17 days, 3:00, 0 user, load average: 0.61, 0.53, 0.39", "stdout_lines": [" 13:44:48 up 17 days, 3:00, 0 user, load average: 0.61, 0.53, 0.39"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004444", "end": "2025-12-17 10:45:12.767878", "msg": "", "rc": 0, "start": "2025-12-17 10:45:12.763434", "stderr": "", "stderr_lines": [], "stdout": "10:45AM up 22 days, 35 mins, 1 user, load averages: 0.08, 0.15, 0.18", "stdout_lines": ["10:45AM up 22 days, 35 mins, 1 user, load averages: 0.08, 0.15, 0.18"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008359", "end": "2025-12-17 13:45:13.055023", "msg": "", "rc": 0, "start": "2025-12-17 13:45:13.046664", "stderr": "", "stderr_lines": [], "stdout": " 13:45:13 up 44 min, 1 user, load average: 1.35, 1.31, 1.08", "stdout_lines": [" 13:45:13 up 44 min, 1 user, load average: 1.35, 1.31, 1.08"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003682", "end": "2025-12-17 13:45:12.896668", "msg": "", "rc": 0, "start": "2025-12-17 13:45:12.892986", "stderr": "", "stderr_lines": [], "stdout": " 13:45:12 up 3 days, 3:16, 1 user, load average: 0.00, 0.01, 0.02", "stdout_lines": [" 13:45:12 up 3 days, 3:16, 1 user, load average: 0.00, 0.01, 0.02"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004276", "end": "2025-12-17 13:45:13.318393", "msg": "", "rc": 0, "start": "2025-12-17 13:45:13.314117", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004089", "end": "2025-12-17 13:45:13.324496", "msg": "", "rc": 0, "start": "2025-12-17 13:45:13.320407", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004618", "end": "2025-12-17 13:45:13.353417", "msg": "", "rc": 0, "start": "2025-12-17 13:45:13.348799", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004845", "end": "2025-12-17 13:45:13.356885", "msg": "", "rc": 0, "start": "2025-12-17 13:45:13.352040", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005377", "end": "2025-12-17 13:45:13.376444", "msg": "", "rc": 0, "start": "2025-12-17 13:45:13.371067", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004861", "end": "2025-12-17 13:44:47.436806", "msg": "", "rc": 0, "start": "2025-12-17 13:44:47.431945", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005289", "end": "2025-12-17 13:44:40.940591", "msg": "", "rc": 0, "start": "2025-12-17 13:44:40.935302", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010739", "end": "2025-12-17 13:45:14.126888", "msg": "", "rc": 0, "start": "2025-12-17 13:45:14.116149", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011581", "end": "2025-12-17 13:45:14.133612", "msg": "", "rc": 0, "start": "2025-12-17 13:45:14.122031", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005703", "end": "2025-12-17 13:45:14.410123", "msg": "", "rc": 0, "start": "2025-12-17 13:45:14.404420", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005396", "end": "2025-12-17 13:44:44.135082", "msg": "", "rc": 0, "start": "2025-12-17 13:44:44.129686", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005478", "end": "2025-12-17 10:45:14.607589", "msg": "", "rc": 0, "start": "2025-12-17 10:45:14.602111", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004668", "end": "2025-12-17 13:44:50.786036", "msg": "", "rc": 0, "start": "2025-12-17 13:44:50.781368", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.013643", "end": "2025-12-17 13:45:15.111550", "msg": "", "rc": 0, "start": "2025-12-17 13:45:15.097907", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005337", "end": "2025-12-17 13:45:14.837786", "msg": "", "rc": 0, "start": "2025-12-17 13:45:14.832449", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025067", "end": "2025-12-17 13:45:14.721753", "msg": "", "rc": 0, "start": "2025-12-17 13:45:14.696686", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004259", "end": "2025-12-17 13:45:15.286338", "msg": "", "rc": 0, "start": "2025-12-17 13:45:15.282079", "stderr": "", "stderr_lines": [], "stdout": "77.6%", "stdout_lines": ["77.6%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004309", "end": "2025-12-17 13:45:15.283436", "msg": "", "rc": 0, "start": "2025-12-17 13:45:15.279127", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005033", "end": "2025-12-17 13:45:15.333407", "msg": "", "rc": 0, "start": "2025-12-17 13:45:15.328374", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004907", "end": "2025-12-17 13:45:15.323499", "msg": "", "rc": 0, "start": "2025-12-17 13:45:15.318592", "stderr": "", "stderr_lines": [], "stdout": "49.2%", "stdout_lines": ["49.2%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005738", "end": "2025-12-17 13:45:15.352840", "msg": "", "rc": 0, "start": "2025-12-17 13:45:15.347102", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004503", "end": "2025-12-17 13:44:49.370935", "msg": "", "rc": 0, "start": "2025-12-17 13:44:49.366432", "stderr": "", "stderr_lines": [], "stdout": "70.8%", "stdout_lines": ["70.8%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005634", "end": "2025-12-17 13:44:42.932191", "msg": "", "rc": 0, "start": "2025-12-17 13:44:42.926557", "stderr": "", "stderr_lines": [], "stdout": "68.4%", "stdout_lines": ["68.4%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011053", "end": "2025-12-17 13:45:16.023462", "msg": "", "rc": 0, "start": "2025-12-17 13:45:16.012409", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012138", "end": "2025-12-17 13:45:16.044181", "msg": "", "rc": 0, "start": "2025-12-17 13:45:16.032043", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.8%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008586", "end": "2025-12-17 13:45:16.320512", "msg": "", "rc": 0, "start": "2025-12-17 13:45:16.311926", "stderr": "", "stderr_lines": [], "stdout": "35.5%", "stdout_lines": ["35.5%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003911", "end": "2025-12-17 13:44:46.122499", "msg": "", "rc": 0, "start": "2025-12-17 13:44:46.118588", "stderr": "", "stderr_lines": [], "stdout": "27.6%", "stdout_lines": ["27.6%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005108", "end": "2025-12-17 10:45:16.512502", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 10:45:16.507394", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003682", "end": "2025-12-17 13:44:52.684989", "msg": "", "rc": 0, "start": "2025-12-17 13:44:52.681307", "stderr": "", "stderr_lines": [], "stdout": "52.4%", "stdout_lines": ["52.4%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005361", "end": "2025-12-17 13:45:16.754329", "msg": "", "rc": 0, "start": "2025-12-17 13:45:16.748968", "stderr": "", "stderr_lines": [], "stdout": "13.8%", "stdout_lines": ["13.8%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025890", "end": "2025-12-17 13:45:16.689832", "msg": "", "rc": 0, "start": "2025-12-17 13:45:16.663942", "stderr": "", "stderr_lines": [], "stdout": "19.6%", "stdout_lines": ["19.6%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010603", "end": "2025-12-17 13:45:17.214826", "msg": "", "rc": 0, "start": "2025-12-17 13:45:17.204223", "stderr": "", "stderr_lines": [], "stdout": "20.1%", "stdout_lines": ["20.1%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005604", "end": "2025-12-17 13:45:17.234599", "msg": "", "rc": 0, "start": "2025-12-17 13:45:17.228995", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004915", "end": "2025-12-17 13:45:17.258471", "msg": "", "rc": 0, "start": "2025-12-17 13:45:17.253556", "stderr": "", "stderr_lines": [], "stdout": "46.0°C", "stdout_lines": ["46.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005577", "end": "2025-12-17 13:45:17.260114", "msg": "", "rc": 0, "start": "2025-12-17 13:45:17.254537", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003046", "end": "2025-12-17 13:45:17.282084", "msg": "", "rc": 0, "start": "2025-12-17 13:45:17.279038", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006524", "end": "2025-12-17 13:45:17.294639", "msg": "", "rc": 0, "start": "2025-12-17 13:45:17.288115", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003332", "end": "2025-12-17 13:44:51.304868", "msg": "", "rc": 0, "start": "2025-12-17 13:44:51.301536", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003043", "end": "2025-12-17 13:44:44.873962", "msg": "", "rc": 0, "start": "2025-12-17 13:44:44.870919", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012345", "end": "2025-12-17 13:45:17.958820", "msg": "", "rc": 0, "start": "2025-12-17 13:45:17.946475", "stderr": "", "stderr_lines": [], "stdout": "31.6°C", "stdout_lines": ["31.6°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012627", "end": "2025-12-17 13:45:17.989759", "msg": "", "rc": 0, "start": "2025-12-17 13:45:17.977132", "stderr": "", "stderr_lines": [], "stdout": "36.5°C", "stdout_lines": ["36.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003407", "end": "2025-12-17 13:45:18.230055", "msg": "", "rc": 0, "start": "2025-12-17 13:45:18.226648", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002716", "end": "2025-12-17 13:44:48.056209", "msg": "", "rc": 0, "start": "2025-12-17 13:44:48.053493", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003885", "end": "2025-12-17 10:45:18.453980", "msg": "", "rc": 0, "start": "2025-12-17 10:45:18.450095", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002394", "end": "2025-12-17 13:44:54.653093", "msg": "", "rc": 0, "start": "2025-12-17 13:44:54.650699", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003041", "end": "2025-12-17 13:45:18.658972", "msg": "", "rc": 0, "start": "2025-12-17 13:45:18.655931", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004963", "end": "2025-12-17 13:45:19.191471", "msg": "", "rc": 0, "start": "2025-12-17 13:45:19.186508", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028476", "end": "2025-12-17 13:45:18.643901", "msg": "", "rc": 0, "start": "2025-12-17 13:45:18.615425", "stderr": "", "stderr_lines": [], "stdout": "35.6°C", "stdout_lines": ["35.6°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004153", "end": "2025-12-17 13:45:19.185397", "msg": "", "rc": 0, "start": "2025-12-17 13:45:19.181244", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003956", "end": "2025-12-17 13:45:19.197790", "msg": "", "rc": 0, "start": "2025-12-17 13:45:19.193834", "stderr": "", "stderr_lines": [], "stdout": "0.54", "stdout_lines": ["0.54"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005805", "end": "2025-12-17 13:45:19.241709", "msg": "", "rc": 0, "start": "2025-12-17 13:45:19.235904", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004786", "end": "2025-12-17 13:45:19.244289", "msg": "", "rc": 0, "start": "2025-12-17 13:45:19.239503", "stderr": "", "stderr_lines": [], "stdout": "0.90", "stdout_lines": ["0.90"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007907", "end": "2025-12-17 13:45:19.267616", "msg": "", "rc": 0, "start": "2025-12-17 13:45:19.259709", "stderr": "", "stderr_lines": [], "stdout": "1.11", "stdout_lines": ["1.11"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004542", "end": "2025-12-17 13:44:53.296746", "msg": "", "rc": 0, "start": "2025-12-17 13:44:53.292204", "stderr": "", "stderr_lines": [], "stdout": "0.68", "stdout_lines": ["0.68"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005450", "end": "2025-12-17 13:44:46.863385", "msg": "", "rc": 0, "start": "2025-12-17 13:44:46.857935", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010133", "end": "2025-12-17 13:45:19.983162", "msg": "", "rc": 0, "start": "2025-12-17 13:45:19.973029", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011090", "end": "2025-12-17 13:45:19.987514", "msg": "", "rc": 0, "start": "2025-12-17 13:45:19.976424", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005724", "end": "2025-12-17 13:45:20.222986", "msg": "", "rc": 0, "start": "2025-12-17 13:45:20.217262", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005243", "end": "2025-12-17 13:44:50.065556", "msg": "", "rc": 0, "start": "2025-12-17 13:44:50.060313", "stderr": "", "stderr_lines": [], "stdout": "2.61", "stdout_lines": ["2.61"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005854", "end": "2025-12-17 10:45:20.463657", "msg": "", "rc": 0, "start": "2025-12-17 10:45:20.457803", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004547", "end": "2025-12-17 13:44:56.671544", "msg": "", "rc": 0, "start": "2025-12-17 13:44:56.666997", "stderr": "", "stderr_lines": [], "stdout": "0.60", "stdout_lines": ["0.60"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005265", "end": "2025-12-17 13:45:20.647455", "msg": "", "rc": 0, "start": "2025-12-17 13:45:20.642190", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.009096", "end": "2025-12-17 13:45:21.273925", "msg": "", "rc": 0, "start": "2025-12-17 13:45:21.264829", "stderr": "", "stderr_lines": [], "stdout": "1.29", "stdout_lines": ["1.29"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.025083", "end": "2025-12-17 13:45:20.793531", "msg": "", "rc": 0, "start": "2025-12-17 13:45:20.768448", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:45:10 up 3 days, 3:17, 1 user, load average: 0.50, 0.21, 0.17\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.54\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:45:10 up 22 days, 36 min, 1 user, load average: 0.15, 0.13, 0.09\nDisk Usage: 23%\nMemory Usage: 77.6%\nCPU Load: 0.12\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:45:10 up 22 days, 56 min, 1 user, load average: 0.81, 0.73, 0.70\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.90\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:45:10 up 22 days, 2:09, 1 user, load average: 0.75, 0.75, 0.67\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 1.11\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:45:10 up 22 days, 2:55, 1 user, load average: 0.19, 0.07, 0.01\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:45:12 up 15 days, 3:11, 1 user, load average: 0.30, 0.13, 0.04\nDisk Usage: 21%\nMemory Usage: 19.6%\nCPU Load: 0.41\nCPU Temp: 35.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:45:11 up 194 days, 5:18, 1 user, load average: 0.24, 0.22, 0.19\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.20\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:45:11 up 194 days, 5:18, 1 user, load average: 0.21, 0.13, 0.10\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.25\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:44:45 up 11 days, 1:34, 0 user, load average: 0.06, 0.14, 0.11\nDisk Usage: 48%\nMemory Usage: 70.8%\nCPU Load: 0.68\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:44:39 up 17 days, 21:46, 0 user, load average: 0.08, 0.02, 0.01\nDisk Usage: 24%\nMemory Usage: 68.4%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:45:12 up 3 days, 3:16, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 1%\nMemory Usage: 35.5%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:44:42 up 20 days, 16:39, 0 user, load average: 0.72, 0.46, 0.45\nDisk Usage: 28%\nMemory Usage: 27.6%\nCPU Load: 2.61\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:44:48 up 17 days, 3:00, 0 user, load average: 0.61, 0.53, 0.39\nDisk Usage: 76%\nMemory Usage: 52.4%\nCPU Load: 0.60\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:45AM up 22 days, 35 mins, 1 user, load averages: 0.08, 0.15, 0.18\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:45:12 up 3 days, 3:16, 1 user, load average: 0.00, 0.01, 0.02\nDisk Usage: 79%\nMemory Usage: 13.8%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:45:13 up 44 min, 1 user, load average: 1.35, 1.31, 1.08\nDisk Usage: 1%\nMemory Usage: 20.1%\nCPU Load: 1.29\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T18:45:22.289142+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `8c41e36bca2246e0ad512c5265ed37ea` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T18:50:00.003311+00:00 |
| **Fin** | 2025-12-17T18:50:24.245780+00:00 |
| **Durée** | 24.2s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003616", "end": "2025-12-17 13:50:12.272298", "msg": "", "rc": 0, "start": "2025-12-17 13:50:12.268682", "stderr": "", "stderr_lines": [], "stdout": " 13:50:12 up 22 days, 41 min, 1 user, load average: 0.14, 0.11, 0.09", "stdout_lines": [" 13:50:12 up 22 days, 41 min, 1 user, load average: 0.14, 0.11, 0.09"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003472", "end": "2025-12-17 13:50:12.269720", "msg": "", "rc": 0, "start": "2025-12-17 13:50:12.266248", "stderr": "", "stderr_lines": [], "stdout": " 13:50:12 up 22 days, 3:00, 1 user, load average: 0.04, 0.04, 0.00", "stdout_lines": [" 13:50:12 up 22 days, 3:00, 1 user, load average: 0.04, 0.04, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003389", "end": "2025-12-17 13:50:12.275932", "msg": "", "rc": 0, "start": "2025-12-17 13:50:12.272543", "stderr": "", "stderr_lines": [], "stdout": " 13:50:12 up 22 days, 1:01, 1 user, load average: 1.03, 0.79, 0.72", "stdout_lines": [" 13:50:12 up 22 days, 1:01, 1 user, load average: 1.03, 0.79, 0.72"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004056", "end": "2025-12-17 13:50:12.285913", "msg": "", "rc": 0, "start": "2025-12-17 13:50:12.281857", "stderr": "", "stderr_lines": [], "stdout": " 13:50:12 up 22 days, 2:14, 1 user, load average: 0.59, 0.67, 0.66", "stdout_lines": [" 13:50:12 up 22 days, 2:14, 1 user, load average: 0.59, 0.67, 0.66"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003006", "end": "2025-12-17 13:50:12.299887", "msg": "", "rc": 0, "start": "2025-12-17 13:50:12.296881", "stderr": "", "stderr_lines": [], "stdout": " 13:50:12 up 3 days, 3:22, 1 user, load average: 0.26, 0.16, 0.15", "stdout_lines": [" 13:50:12 up 3 days, 3:22, 1 user, load average: 0.26, 0.16, 0.15"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003109", "end": "2025-12-17 13:49:46.442367", "msg": "", "rc": 0, "start": "2025-12-17 13:49:46.439258", "stderr": "", "stderr_lines": [], "stdout": " 13:49:46 up 11 days, 1:39, 0 user, load average: 0.04, 0.18, 0.15", "stdout_lines": [" 13:49:46 up 11 days, 1:39, 0 user, load average: 0.04, 0.18, 0.15"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003466", "end": "2025-12-17 13:49:39.991886", "msg": "", "rc": 0, "start": "2025-12-17 13:49:39.988420", "stderr": "", "stderr_lines": [], "stdout": " 13:49:39 up 17 days, 21:51, 0 user, load average: 0.09, 0.02, 0.00", "stdout_lines": [" 13:49:39 up 17 days, 21:51, 0 user, load average: 0.09, 0.02, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008590", "end": "2025-12-17 13:50:13.088545", "msg": "", "rc": 0, "start": "2025-12-17 13:50:13.079955", "stderr": "", "stderr_lines": [], "stdout": " 13:50:13 up 194 days, 5:23, 1 user, load average: 0.27, 0.16, 0.11", "stdout_lines": [" 13:50:13 up 194 days, 5:23, 1 user, load average: 0.27, 0.16, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009301", "end": "2025-12-17 13:50:13.095468", "msg": "", "rc": 0, "start": "2025-12-17 13:50:13.086167", "stderr": "", "stderr_lines": [], "stdout": " 13:50:13 up 194 days, 5:23, 1 user, load average: 0.22, 0.20, 0.18", "stdout_lines": [" 13:50:13 up 194 days, 5:23, 1 user, load average: 0.22, 0.20, 0.18"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004745", "end": "2025-12-17 13:50:13.375255", "msg": "", "rc": 0, "start": "2025-12-17 13:50:13.370510", "stderr": "", "stderr_lines": [], "stdout": " 13:50:13 up 3 days, 3:21, 1 user, load average: 0.08, 0.04, 0.01", "stdout_lines": [" 13:50:13 up 3 days, 3:21, 1 user, load average: 0.08, 0.04, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003379", "end": "2025-12-17 13:49:43.160917", "msg": "", "rc": 0, "start": "2025-12-17 13:49:43.157538", "stderr": "", "stderr_lines": [], "stdout": " 13:49:43 up 20 days, 16:44, 0 user, load average: 0.52, 0.59, 0.54", "stdout_lines": [" 13:49:43 up 20 days, 16:44, 0 user, load average: 0.52, 0.59, 0.54"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004202", "end": "2025-12-17 10:50:13.567369", "msg": "", "rc": 0, "start": "2025-12-17 10:50:13.563167", "stderr": "", "stderr_lines": [], "stdout": "10:50AM up 22 days, 40 mins, 1 user, load averages: 0.28, 0.22, 0.20", "stdout_lines": ["10:50AM up 22 days, 40 mins, 1 user, load averages: 0.28, 0.22, 0.20"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003023", "end": "2025-12-17 13:49:49.743347", "msg": "", "rc": 0, "start": "2025-12-17 13:49:49.740324", "stderr": "", "stderr_lines": [], "stdout": " 13:49:49 up 17 days, 3:05, 0 user, load average: 0.51, 0.46, 0.39", "stdout_lines": [" 13:49:49 up 17 days, 3:05, 0 user, load average: 0.51, 0.46, 0.39"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003669", "end": "2025-12-17 13:50:13.810091", "msg": "", "rc": 0, "start": "2025-12-17 13:50:13.806422", "stderr": "", "stderr_lines": [], "stdout": " 13:50:13 up 3 days, 3:21, 1 user, load average: 0.01, 0.03, 0.02", "stdout_lines": [" 13:50:13 up 3 days, 3:21, 1 user, load average: 0.01, 0.03, 0.02"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009079", "end": "2025-12-17 13:50:14.488078", "msg": "", "rc": 0, "start": "2025-12-17 13:50:14.478999", "stderr": "", "stderr_lines": [], "stdout": " 13:50:14 up 49 min, 1 user, load average: 1.62, 1.30, 1.13", "stdout_lines": [" 13:50:14 up 49 min, 1 user, load average: 1.62, 1.30, 1.13"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019858", "end": "2025-12-17 13:50:13.751506", "msg": "", "rc": 0, "start": "2025-12-17 13:50:13.731648", "stderr": "", "stderr_lines": [], "stdout": " 13:50:13 up 15 days, 3:16, 1 user, load average: 0.19, 0.13, 0.06", "stdout_lines": [" 13:50:13 up 15 days, 3:16, 1 user, load average: 0.19, 0.13, 0.06"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004214", "end": "2025-12-17 13:50:14.282213", "msg": "", "rc": 0, "start": "2025-12-17 13:50:14.277999", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.003997", "end": "2025-12-17 13:50:14.318955", "msg": "", "rc": 0, "start": "2025-12-17 13:50:14.314958", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004740", "end": "2025-12-17 13:50:14.351528", "msg": "", "rc": 0, "start": "2025-12-17 13:50:14.346788", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004773", "end": "2025-12-17 13:50:14.337739", "msg": "", "rc": 0, "start": "2025-12-17 13:50:14.332966", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005366", "end": "2025-12-17 13:50:14.368337", "msg": "", "rc": 0, "start": "2025-12-17 13:50:14.362971", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004706", "end": "2025-12-17 13:49:48.381651", "msg": "", "rc": 0, "start": "2025-12-17 13:49:48.376945", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005540", "end": "2025-12-17 13:49:41.947963", "msg": "", "rc": 0, "start": "2025-12-17 13:49:41.942423", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011695", "end": "2025-12-17 13:50:15.085987", "msg": "", "rc": 0, "start": "2025-12-17 13:50:15.074292", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010885", "end": "2025-12-17 13:50:15.113780", "msg": "", "rc": 0, "start": "2025-12-17 13:50:15.102895", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005789", "end": "2025-12-17 13:50:15.346639", "msg": "", "rc": 0, "start": "2025-12-17 13:50:15.340850", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005344", "end": "2025-12-17 13:49:45.212147", "msg": "", "rc": 0, "start": "2025-12-17 13:49:45.206803", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005315", "end": "2025-12-17 10:50:15.648934", "msg": "", "rc": 0, "start": "2025-12-17 10:50:15.643619", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005552", "end": "2025-12-17 13:49:51.836685", "msg": "", "rc": 0, "start": "2025-12-17 13:49:51.831133", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005324", "end": "2025-12-17 13:50:15.771038", "msg": "", "rc": 0, "start": "2025-12-17 13:50:15.765714", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025489", "end": "2025-12-17 13:50:15.711931", "msg": "", "rc": 0, "start": "2025-12-17 13:50:15.686442", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.023694", "end": "2025-12-17 13:50:16.611850", "msg": "", "rc": 0, "start": "2025-12-17 13:50:16.588156", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004530", "end": "2025-12-17 13:50:16.257985", "msg": "", "rc": 0, "start": "2025-12-17 13:50:16.253455", "stderr": "", "stderr_lines": [], "stdout": "77.5%", "stdout_lines": ["77.5%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004426", "end": "2025-12-17 13:50:16.286663", "msg": "", "rc": 0, "start": "2025-12-17 13:50:16.282237", "stderr": "", "stderr_lines": [], "stdout": "22.6%", "stdout_lines": ["22.6%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004623", "end": "2025-12-17 13:50:16.295255", "msg": "", "rc": 0, "start": "2025-12-17 13:50:16.290632", "stderr": "", "stderr_lines": [], "stdout": "49.3%", "stdout_lines": ["49.3%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005070", "end": "2025-12-17 13:50:16.319894", "msg": "", "rc": 0, "start": "2025-12-17 13:50:16.314824", "stderr": "", "stderr_lines": [], "stdout": "9.1%", "stdout_lines": ["9.1%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005321", "end": "2025-12-17 13:50:16.334046", "msg": "", "rc": 0, "start": "2025-12-17 13:50:16.328725", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003896", "end": "2025-12-17 13:49:50.312676", "msg": "", "rc": 0, "start": "2025-12-17 13:49:50.308780", "stderr": "", "stderr_lines": [], "stdout": "70.9%", "stdout_lines": ["70.9%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005186", "end": "2025-12-17 13:49:43.870970", "msg": "", "rc": 0, "start": "2025-12-17 13:49:43.865784", "stderr": "", "stderr_lines": [], "stdout": "68.5%", "stdout_lines": ["68.5%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011017", "end": "2025-12-17 13:50:16.954891", "msg": "", "rc": 0, "start": "2025-12-17 13:50:16.943874", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012118", "end": "2025-12-17 13:50:17.006046", "msg": "", "rc": 0, "start": "2025-12-17 13:50:16.993928", "stderr": "", "stderr_lines": [], "stdout": "12.7%", "stdout_lines": ["12.7%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005729", "end": "2025-12-17 13:50:17.248474", "msg": "", "rc": 0, "start": "2025-12-17 13:50:17.242745", "stderr": "", "stderr_lines": [], "stdout": "35.6%", "stdout_lines": ["35.6%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010575", "end": "2025-12-17 13:49:47.066270", "msg": "", "rc": 0, "start": "2025-12-17 13:49:47.055695", "stderr": "", "stderr_lines": [], "stdout": "27.5%", "stdout_lines": ["27.5%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004615", "end": "2025-12-17 13:49:53.613195", "msg": "", "rc": 0, "start": "2025-12-17 13:49:53.608580", "stderr": "", "stderr_lines": [], "stdout": "51.7%", "stdout_lines": ["51.7%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005668", "end": "2025-12-17 10:50:17.480947", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 10:50:17.475279", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005447", "end": "2025-12-17 13:50:17.677596", "msg": "", "rc": 0, "start": "2025-12-17 13:50:17.672149", "stderr": "", "stderr_lines": [], "stdout": "13.7%", "stdout_lines": ["13.7%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011830", "end": "2025-12-17 13:50:18.549743", "msg": "", "rc": 0, "start": "2025-12-17 13:50:18.537913", "stderr": "", "stderr_lines": [], "stdout": "20.6%", "stdout_lines": ["20.6%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025377", "end": "2025-12-17 13:50:17.637992", "msg": "", "rc": 0, "start": "2025-12-17 13:50:17.612615", "stderr": "", "stderr_lines": [], "stdout": "20.2%", "stdout_lines": ["20.2%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005269", "end": "2025-12-17 13:50:18.218569", "msg": "", "rc": 0, "start": "2025-12-17 13:50:18.213300", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005370", "end": "2025-12-17 13:50:18.236687", "msg": "", "rc": 0, "start": "2025-12-17 13:50:18.231317", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005649", "end": "2025-12-17 13:50:18.263307", "msg": "", "rc": 0, "start": "2025-12-17 13:50:18.257658", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003424", "end": "2025-12-17 13:50:18.291768", "msg": "", "rc": 0, "start": "2025-12-17 13:50:18.288344", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006209", "end": "2025-12-17 13:50:18.315776", "msg": "", "rc": 0, "start": "2025-12-17 13:50:18.309567", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002665", "end": "2025-12-17 13:49:52.285760", "msg": "", "rc": 0, "start": "2025-12-17 13:49:52.283095", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003101", "end": "2025-12-17 13:49:45.860079", "msg": "", "rc": 0, "start": "2025-12-17 13:49:45.856978", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012690", "end": "2025-12-17 13:50:18.954536", "msg": "", "rc": 0, "start": "2025-12-17 13:50:18.941846", "stderr": "", "stderr_lines": [], "stdout": "32.6°C", "stdout_lines": ["32.6°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012967", "end": "2025-12-17 13:50:18.961742", "msg": "", "rc": 0, "start": "2025-12-17 13:50:18.948775", "stderr": "", "stderr_lines": [], "stdout": "36.5°C", "stdout_lines": ["36.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003245", "end": "2025-12-17 13:50:19.204222", "msg": "", "rc": 0, "start": "2025-12-17 13:50:19.200977", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002886", "end": "2025-12-17 13:49:49.033341", "msg": "", "rc": 0, "start": "2025-12-17 13:49:49.030455", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003885", "end": "2025-12-17 10:50:19.447002", "msg": "", "rc": 0, "start": "2025-12-17 10:50:19.443117", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003928", "end": "2025-12-17 13:49:55.630887", "msg": "", "rc": 0, "start": "2025-12-17 13:49:55.626959", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002912", "end": "2025-12-17 13:50:19.627564", "msg": "", "rc": 0, "start": "2025-12-17 13:50:19.624652", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004573", "end": "2025-12-17 13:50:20.569282", "msg": "", "rc": 0, "start": "2025-12-17 13:50:20.564709", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.035905", "end": "2025-12-17 13:50:19.754412", "msg": "", "rc": 0, "start": "2025-12-17 13:50:19.718507", "stderr": "", "stderr_lines": [], "stdout": "38.6°C", "stdout_lines": ["38.6°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004232", "end": "2025-12-17 13:50:20.310905", "msg": "", "rc": 0, "start": "2025-12-17 13:50:20.306673", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004878", "end": "2025-12-17 13:50:20.347076", "msg": "", "rc": 0, "start": "2025-12-17 13:50:20.342198", "stderr": "", "stderr_lines": [], "stdout": "0.95", "stdout_lines": ["0.95"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004174", "end": "2025-12-17 13:50:20.354766", "msg": "", "rc": 0, "start": "2025-12-17 13:50:20.350592", "stderr": "", "stderr_lines": [], "stdout": "0.37", "stdout_lines": ["0.37"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005134", "end": "2025-12-17 13:50:20.385967", "msg": "", "rc": 0, "start": "2025-12-17 13:50:20.380833", "stderr": "", "stderr_lines": [], "stdout": "0.03", "stdout_lines": ["0.03"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005489", "end": "2025-12-17 13:50:20.410026", "msg": "", "rc": 0, "start": "2025-12-17 13:50:20.404537", "stderr": "", "stderr_lines": [], "stdout": "0.65", "stdout_lines": ["0.65"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004176", "end": "2025-12-17 13:49:54.405332", "msg": "", "rc": 0, "start": "2025-12-17 13:49:54.401156", "stderr": "", "stderr_lines": [], "stdout": "0.03", "stdout_lines": ["0.03"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005485", "end": "2025-12-17 13:49:47.961900", "msg": "", "rc": 0, "start": "2025-12-17 13:49:47.956415", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010151", "end": "2025-12-17 13:50:21.096289", "msg": "", "rc": 0, "start": "2025-12-17 13:50:21.086138", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011168", "end": "2025-12-17 13:50:21.150450", "msg": "", "rc": 0, "start": "2025-12-17 13:50:21.139282", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005589", "end": "2025-12-17 13:50:21.326553", "msg": "", "rc": 0, "start": "2025-12-17 13:50:21.320964", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005191", "end": "2025-12-17 13:49:51.165497", "msg": "", "rc": 0, "start": "2025-12-17 13:49:51.160306", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004493", "end": "2025-12-17 13:49:57.757056", "msg": "", "rc": 0, "start": "2025-12-17 13:49:57.752563", "stderr": "", "stderr_lines": [], "stdout": "0.55", "stdout_lines": ["0.55"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005777", "end": "2025-12-17 10:50:21.619045", "msg": "", "rc": 0, "start": "2025-12-17 10:50:21.613268", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005348", "end": "2025-12-17 13:50:21.774219", "msg": "", "rc": 0, "start": "2025-12-17 13:50:21.768871", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.009578", "end": "2025-12-17 13:50:22.782896", "msg": "", "rc": 0, "start": "2025-12-17 13:50:22.773318", "stderr": "", "stderr_lines": [], "stdout": "1.76", "stdout_lines": ["1.76"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.029100", "end": "2025-12-17 13:50:21.998136", "msg": "", "rc": 0, "start": "2025-12-17 13:50:21.969036", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:50:12 up 22 days, 41 min, 1 user, load average: 0.14, 0.11, 0.09\nDisk Usage: 23%\nMemory Usage: 77.5%\nCPU Load: 0.13\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:50:12 up 3 days, 3:22, 1 user, load average: 0.26, 0.16, 0.15\nDisk Usage: 22%\nMemory Usage: 22.6%\nCPU Load: 0.37\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:50:12 up 22 days, 1:01, 1 user, load average: 1.03, 0.79, 0.72\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.95\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:50:12 up 22 days, 2:14, 1 user, load average: 0.59, 0.67, 0.66\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.65\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:50:13 up 194 days, 5:23, 1 user, load average: 0.22, 0.20, 0.18\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.18\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:50:12 up 22 days, 3:00, 1 user, load average: 0.04, 0.04, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:50:13 up 194 days, 5:23, 1 user, load average: 0.27, 0.16, 0.11\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.31\nCPU Temp: 32.6°C\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:50:13 up 15 days, 3:16, 1 user, load average: 0.19, 0.13, 0.06\nDisk Usage: 21%\nMemory Usage: 20.2%\nCPU Load: 0.25\nCPU Temp: 38.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:49:46 up 11 days, 1:39, 0 user, load average: 0.04, 0.18, 0.15\nDisk Usage: 48%\nMemory Usage: 70.9%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:49:39 up 17 days, 21:51, 0 user, load average: 0.09, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 68.5%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:50:13 up 3 days, 3:21, 1 user, load average: 0.08, 0.04, 0.01\nDisk Usage: 1%\nMemory Usage: 35.6%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:49:43 up 20 days, 16:44, 0 user, load average: 0.52, 0.59, 0.54\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.44\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:49:49 up 17 days, 3:05, 0 user, load average: 0.51, 0.46, 0.39\nDisk Usage: 76%\nMemory Usage: 51.7%\nCPU Load: 0.55\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:50AM up 22 days, 40 mins, 1 user, load averages: 0.28, 0.22, 0.20\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:50:13 up 3 days, 3:21, 1 user, load average: 0.01, 0.03, 0.02\nDisk Usage: 79%\nMemory Usage: 13.7%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:50:14 up 49 min, 1 user, load average: 1.62, 1.30, 1.13\nDisk Usage: 1%\nMemory Usage: 20.6%\nCPU Load: 1.76\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T18:50:24.291637+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `1934805b482247d5ad9b2127f1f5a2ba` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T18:55:00.001117+00:00 |
| **Fin** | 2025-12-17T18:55:21.691261+00:00 |
| **Durée** | 21.7s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003285", "end": "2025-12-17 13:55:11.017498", "msg": "", "rc": 0, "start": "2025-12-17 13:55:11.014213", "stderr": "", "stderr_lines": [], "stdout": " 13:55:11 up 22 days, 46 min, 1 user, load average: 0.03, 0.08, 0.08", "stdout_lines": [" 13:55:11 up 22 days, 46 min, 1 user, load average: 0.03, 0.08, 0.08"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004048", "end": "2025-12-17 13:55:11.025302", "msg": "", "rc": 0, "start": "2025-12-17 13:55:11.021254", "stderr": "", "stderr_lines": [], "stdout": " 13:55:11 up 22 days, 3:05, 1 user, load average: 0.02, 0.04, 0.00", "stdout_lines": [" 13:55:11 up 22 days, 3:05, 1 user, load average: 0.02, 0.04, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003383", "end": "2025-12-17 13:55:11.034864", "msg": "", "rc": 0, "start": "2025-12-17 13:55:11.031481", "stderr": "", "stderr_lines": [], "stdout": " 13:55:11 up 22 days, 1:06, 1 user, load average: 0.60, 0.71, 0.71", "stdout_lines": [" 13:55:11 up 22 days, 1:06, 1 user, load average: 0.60, 0.71, 0.71"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002950", "end": "2025-12-17 13:55:11.058486", "msg": "", "rc": 0, "start": "2025-12-17 13:55:11.055536", "stderr": "", "stderr_lines": [], "stdout": " 13:55:11 up 3 days, 3:27, 1 user, load average: 0.26, 0.26, 0.20", "stdout_lines": [" 13:55:11 up 3 days, 3:27, 1 user, load average: 0.26, 0.26, 0.20"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004013", "end": "2025-12-17 13:55:11.049708", "msg": "", "rc": 0, "start": "2025-12-17 13:55:11.045695", "stderr": "", "stderr_lines": [], "stdout": " 13:55:11 up 22 days, 2:19, 1 user, load average: 0.53, 0.55, 0.61", "stdout_lines": [" 13:55:11 up 22 days, 2:19, 1 user, load average: 0.53, 0.55, 0.61"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002803", "end": "2025-12-17 13:54:45.076719", "msg": "", "rc": 0, "start": "2025-12-17 13:54:45.073916", "stderr": "", "stderr_lines": [], "stdout": " 13:54:45 up 11 days, 1:44, 0 user, load average: 0.01, 0.09, 0.12", "stdout_lines": [" 13:54:45 up 11 days, 1:44, 0 user, load average: 0.01, 0.09, 0.12"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003502", "end": "2025-12-17 13:54:38.602822", "msg": "", "rc": 0, "start": "2025-12-17 13:54:38.599320", "stderr": "", "stderr_lines": [], "stdout": " 13:54:38 up 17 days, 21:56, 0 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 13:54:38 up 17 days, 21:56, 0 user, load average: 0.00, 0.02, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008418", "end": "2025-12-17 13:55:11.703638", "msg": "", "rc": 0, "start": "2025-12-17 13:55:11.695220", "stderr": "", "stderr_lines": [], "stdout": " 13:55:11 up 194 days, 5:28, 1 user, load average: 0.16, 0.15, 0.10", "stdout_lines": [" 13:55:11 up 194 days, 5:28, 1 user, load average: 0.16, 0.15, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009243", "end": "2025-12-17 13:55:11.766859", "msg": "", "rc": 0, "start": "2025-12-17 13:55:11.757616", "stderr": "", "stderr_lines": [], "stdout": " 13:55:11 up 194 days, 5:28, 1 user, load average: 0.31, 0.21, 0.19", "stdout_lines": [" 13:55:11 up 194 days, 5:28, 1 user, load average: 0.31, 0.21, 0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005232", "end": "2025-12-17 13:55:12.011132", "msg": "", "rc": 0, "start": "2025-12-17 13:55:12.005900", "stderr": "", "stderr_lines": [], "stdout": " 13:55:12 up 3 days, 3:26, 1 user, load average: 0.00, 0.03, 0.00", "stdout_lines": [" 13:55:12 up 3 days, 3:26, 1 user, load average: 0.00, 0.03, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003097", "end": "2025-12-17 13:54:41.775930", "msg": "", "rc": 0, "start": "2025-12-17 13:54:41.772833", "stderr": "", "stderr_lines": [], "stdout": " 13:54:41 up 20 days, 16:48, 0 user, load average: 0.62, 0.52, 0.51", "stdout_lines": [" 13:54:41 up 20 days, 16:48, 0 user, load average: 0.62, 0.52, 0.51"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002927", "end": "2025-12-17 13:54:48.361237", "msg": "", "rc": 0, "start": "2025-12-17 13:54:48.358310", "stderr": "", "stderr_lines": [], "stdout": " 13:54:48 up 17 days, 3:10, 0 user, load average: 0.16, 0.33, 0.34", "stdout_lines": [" 13:54:48 up 17 days, 3:10, 0 user, load average: 0.16, 0.33, 0.34"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004134", "end": "2025-12-17 10:55:12.229184", "msg": "", "rc": 0, "start": "2025-12-17 10:55:12.225050", "stderr": "", "stderr_lines": [], "stdout": "10:55AM up 22 days, 44 mins, 1 user, load averages: 0.03, 0.15, 0.16", "stdout_lines": ["10:55AM up 22 days, 44 mins, 1 user, load averages: 0.03, 0.15, 0.16"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003743", "end": "2025-12-17 13:55:12.460133", "msg": "", "rc": 0, "start": "2025-12-17 13:55:12.456390", "stderr": "", "stderr_lines": [], "stdout": " 13:55:12 up 3 days, 3:26, 1 user, load average: 0.02, 0.04, 0.01", "stdout_lines": [" 13:55:12 up 3 days, 3:26, 1 user, load average: 0.02, 0.04, 0.01"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019573", "end": "2025-12-17 13:55:12.395745", "msg": "", "rc": 0, "start": "2025-12-17 13:55:12.376172", "stderr": "", "stderr_lines": [], "stdout": " 13:55:12 up 15 days, 3:21, 1 user, load average: 0.27, 0.15, 0.09", "stdout_lines": [" 13:55:12 up 15 days, 3:21, 1 user, load average: 0.27, 0.15, 0.09"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006457", "end": "2025-12-17 13:55:13.711739", "msg": "", "rc": 0, "start": "2025-12-17 13:55:13.705282", "stderr": "", "stderr_lines": [], "stdout": " 13:55:13 up 54 min, 1 user, load average: 1.06, 1.15, 1.11", "stdout_lines": [" 13:55:13 up 54 min, 1 user, load average: 1.06, 1.15, 1.11"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004308", "end": "2025-12-17 13:55:13.111128", "msg": "", "rc": 0, "start": "2025-12-17 13:55:13.106820", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004098", "end": "2025-12-17 13:55:13.122332", "msg": "", "rc": 0, "start": "2025-12-17 13:55:13.118234", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005345", "end": "2025-12-17 13:55:13.127519", "msg": "", "rc": 0, "start": "2025-12-17 13:55:13.122174", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004719", "end": "2025-12-17 13:55:13.158130", "msg": "", "rc": 0, "start": "2025-12-17 13:55:13.153411", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005590", "end": "2025-12-17 13:55:13.166817", "msg": "", "rc": 0, "start": "2025-12-17 13:55:13.161227", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004962", "end": "2025-12-17 13:54:47.161858", "msg": "", "rc": 0, "start": "2025-12-17 13:54:47.156896", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005799", "end": "2025-12-17 13:54:40.711251", "msg": "", "rc": 0, "start": "2025-12-17 13:54:40.705452", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010769", "end": "2025-12-17 13:55:13.848809", "msg": "", "rc": 0, "start": "2025-12-17 13:55:13.838040", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011744", "end": "2025-12-17 13:55:13.880839", "msg": "", "rc": 0, "start": "2025-12-17 13:55:13.869095", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005787", "end": "2025-12-17 13:55:14.101931", "msg": "", "rc": 0, "start": "2025-12-17 13:55:14.096144", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005239", "end": "2025-12-17 13:54:43.883887", "msg": "", "rc": 0, "start": "2025-12-17 13:54:43.878648", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005348", "end": "2025-12-17 10:55:14.361927", "msg": "", "rc": 0, "start": "2025-12-17 10:55:14.356579", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004697", "end": "2025-12-17 13:54:50.507555", "msg": "", "rc": 0, "start": "2025-12-17 13:54:50.502858", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005351", "end": "2025-12-17 13:55:14.536542", "msg": "", "rc": 0, "start": "2025-12-17 13:55:14.531191", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010496", "end": "2025-12-17 13:55:14.602656", "msg": "", "rc": 0, "start": "2025-12-17 13:55:14.592160", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025476", "end": "2025-12-17 13:55:14.523201", "msg": "", "rc": 0, "start": "2025-12-17 13:55:14.497725", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004592", "end": "2025-12-17 13:55:15.050153", "msg": "", "rc": 0, "start": "2025-12-17 13:55:15.045561", "stderr": "", "stderr_lines": [], "stdout": "77.5%", "stdout_lines": ["77.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004915", "end": "2025-12-17 13:55:15.084809", "msg": "", "rc": 0, "start": "2025-12-17 13:55:15.079894", "stderr": "", "stderr_lines": [], "stdout": "49.3%", "stdout_lines": ["49.3%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004154", "end": "2025-12-17 13:55:15.084094", "msg": "", "rc": 0, "start": "2025-12-17 13:55:15.079940", "stderr": "", "stderr_lines": [], "stdout": "22.6%", "stdout_lines": ["22.6%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004618", "end": "2025-12-17 13:55:15.110746", "msg": "", "rc": 0, "start": "2025-12-17 13:55:15.106128", "stderr": "", "stderr_lines": [], "stdout": "9.1%", "stdout_lines": ["9.1%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005617", "end": "2025-12-17 13:55:15.124992", "msg": "", "rc": 0, "start": "2025-12-17 13:55:15.119375", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006826", "end": "2025-12-17 13:54:49.116374", "msg": "", "rc": 0, "start": "2025-12-17 13:54:49.109548", "stderr": "", "stderr_lines": [], "stdout": "70.7%", "stdout_lines": ["70.7%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004488", "end": "2025-12-17 13:54:42.667602", "msg": "", "rc": 0, "start": "2025-12-17 13:54:42.663114", "stderr": "", "stderr_lines": [], "stdout": "68.5%", "stdout_lines": ["68.5%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011040", "end": "2025-12-17 13:55:15.750927", "msg": "", "rc": 0, "start": "2025-12-17 13:55:15.739887", "stderr": "", "stderr_lines": [], "stdout": "6.8%", "stdout_lines": ["6.8%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011941", "end": "2025-12-17 13:55:15.809207", "msg": "", "rc": 0, "start": "2025-12-17 13:55:15.797266", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.9%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005893", "end": "2025-12-17 13:55:16.070476", "msg": "", "rc": 0, "start": "2025-12-17 13:55:16.064583", "stderr": "", "stderr_lines": [], "stdout": "35.5%", "stdout_lines": ["35.5%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004438", "end": "2025-12-17 13:54:45.844890", "msg": "", "rc": 0, "start": "2025-12-17 13:54:45.840452", "stderr": "", "stderr_lines": [], "stdout": "27.4%", "stdout_lines": ["27.4%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004997", "end": "2025-12-17 10:55:16.285619", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 10:55:16.280622", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003597", "end": "2025-12-17 13:54:52.435151", "msg": "", "rc": 0, "start": "2025-12-17 13:54:52.431554", "stderr": "", "stderr_lines": [], "stdout": "51.7%", "stdout_lines": ["51.7%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009566", "end": "2025-12-17 13:55:16.608318", "msg": "", "rc": 0, "start": "2025-12-17 13:55:16.598752", "stderr": "", "stderr_lines": [], "stdout": "21.1%", "stdout_lines": ["21.1%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005495", "end": "2025-12-17 13:55:16.507217", "msg": "", "rc": 0, "start": "2025-12-17 13:55:16.501722", "stderr": "", "stderr_lines": [], "stdout": "14.1%", "stdout_lines": ["14.1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025845", "end": "2025-12-17 13:55:16.447879", "msg": "", "rc": 0, "start": "2025-12-17 13:55:16.422034", "stderr": "", "stderr_lines": [], "stdout": "19.2%", "stdout_lines": ["19.2%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005275", "end": "2025-12-17 13:55:16.967656", "msg": "", "rc": 0, "start": "2025-12-17 13:55:16.962381", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004842", "end": "2025-12-17 13:55:16.993921", "msg": "", "rc": 0, "start": "2025-12-17 13:55:16.989079", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005593", "end": "2025-12-17 13:55:17.001066", "msg": "", "rc": 0, "start": "2025-12-17 13:55:16.995473", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003538", "end": "2025-12-17 13:55:17.025773", "msg": "", "rc": 0, "start": "2025-12-17 13:55:17.022235", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006845", "end": "2025-12-17 13:55:17.041248", "msg": "", "rc": 0, "start": "2025-12-17 13:55:17.034403", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003101", "end": "2025-12-17 13:54:51.056965", "msg": "", "rc": 0, "start": "2025-12-17 13:54:51.053864", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003407", "end": "2025-12-17 13:54:44.590425", "msg": "", "rc": 0, "start": "2025-12-17 13:54:44.587018", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011876", "end": "2025-12-17 13:55:17.679401", "msg": "", "rc": 0, "start": "2025-12-17 13:55:17.667525", "stderr": "", "stderr_lines": [], "stdout": "31.6°C", "stdout_lines": ["31.6°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013042", "end": "2025-12-17 13:55:17.754400", "msg": "", "rc": 0, "start": "2025-12-17 13:55:17.741358", "stderr": "", "stderr_lines": [], "stdout": "37.0°C", "stdout_lines": ["37.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003220", "end": "2025-12-17 13:55:17.983234", "msg": "", "rc": 0, "start": "2025-12-17 13:55:17.980014", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003033", "end": "2025-12-17 13:54:47.752471", "msg": "", "rc": 0, "start": "2025-12-17 13:54:47.749438", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002891", "end": "2025-12-17 13:54:54.332956", "msg": "", "rc": 0, "start": "2025-12-17 13:54:54.330065", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003982", "end": "2025-12-17 10:55:18.232604", "msg": "", "rc": 0, "start": "2025-12-17 10:55:18.228622", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003077", "end": "2025-12-17 13:55:18.413672", "msg": "", "rc": 0, "start": "2025-12-17 13:55:18.410595", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004655", "end": "2025-12-17 13:55:18.593759", "msg": "", "rc": 0, "start": "2025-12-17 13:55:18.589104", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028718", "end": "2025-12-17 13:55:18.367875", "msg": "", "rc": 0, "start": "2025-12-17 13:55:18.339157", "stderr": "", "stderr_lines": [], "stdout": "36.0°C", "stdout_lines": ["36.0°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004128", "end": "2025-12-17 13:55:18.897534", "msg": "", "rc": 0, "start": "2025-12-17 13:55:18.893406", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004314", "end": "2025-12-17 13:55:18.915448", "msg": "", "rc": 0, "start": "2025-12-17 13:55:18.911134", "stderr": "", "stderr_lines": [], "stdout": "0.32", "stdout_lines": ["0.32"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004604", "end": "2025-12-17 13:55:18.943419", "msg": "", "rc": 0, "start": "2025-12-17 13:55:18.938815", "stderr": "", "stderr_lines": [], "stdout": "0.95", "stdout_lines": ["0.95"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005852", "end": "2025-12-17 13:55:18.968745", "msg": "", "rc": 0, "start": "2025-12-17 13:55:18.962893", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007116", "end": "2025-12-17 13:55:19.003338", "msg": "", "rc": 0, "start": "2025-12-17 13:55:18.996222", "stderr": "", "stderr_lines": [], "stdout": "1.01", "stdout_lines": ["1.01"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004310", "end": "2025-12-17 13:54:52.983818", "msg": "", "rc": 0, "start": "2025-12-17 13:54:52.979508", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005078", "end": "2025-12-17 13:54:46.561003", "msg": "", "rc": 0, "start": "2025-12-17 13:54:46.555925", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010589", "end": "2025-12-17 13:55:19.745937", "msg": "", "rc": 0, "start": "2025-12-17 13:55:19.735348", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.015369", "end": "2025-12-17 13:55:19.766581", "msg": "", "rc": 0, "start": "2025-12-17 13:55:19.751212", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005570", "end": "2025-12-17 13:55:19.921856", "msg": "", "rc": 0, "start": "2025-12-17 13:55:19.916286", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005004", "end": "2025-12-17 13:54:49.735204", "msg": "", "rc": 0, "start": "2025-12-17 13:54:49.730200", "stderr": "", "stderr_lines": [], "stdout": "0.68", "stdout_lines": ["0.68"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005911", "end": "2025-12-17 10:55:20.259610", "msg": "", "rc": 0, "start": "2025-12-17 10:55:20.253699", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004248", "end": "2025-12-17 13:54:56.416396", "msg": "", "rc": 0, "start": "2025-12-17 13:54:56.412148", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005372", "end": "2025-12-17 13:55:20.349847", "msg": "", "rc": 0, "start": "2025-12-17 13:55:20.344475", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.009211", "end": "2025-12-17 13:55:20.677384", "msg": "", "rc": 0, "start": "2025-12-17 13:55:20.668173", "stderr": "", "stderr_lines": [], "stdout": "1.20", "stdout_lines": ["1.20"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.026350", "end": "2025-12-17 13:55:20.432314", "msg": "", "rc": 0, "start": "2025-12-17 13:55:20.405964", "stderr": "", "stderr_lines": [], "stdout": "0.30", "stdout_lines": ["0.30"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:55:11 up 3 days, 3:27, 1 user, load average: 0.26, 0.26, 0.20\nDisk Usage: 22%\nMemory Usage: 22.6%\nCPU Load: 0.32\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:55:11 up 22 days, 46 min, 1 user, load average: 0.03, 0.08, 0.08\nDisk Usage: 23%\nMemory Usage: 77.5%\nCPU Load: 0.02\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:55:11 up 22 days, 1:06, 1 user, load average: 0.60, 0.71, 0.71\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.95\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:55:11 up 22 days, 2:19, 1 user, load average: 0.53, 0.55, 0.61\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 1.01\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:55:11 up 22 days, 3:05, 1 user, load average: 0.02, 0.04, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:55:12 up 15 days, 3:21, 1 user, load average: 0.27, 0.15, 0.09\nDisk Usage: 21%\nMemory Usage: 19.2%\nCPU Load: 0.30\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:55:11 up 194 days, 5:28, 1 user, load average: 0.31, 0.21, 0.19\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.42\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:55:11 up 194 days, 5:28, 1 user, load average: 0.16, 0.15, 0.10\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.29\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:54:45 up 11 days, 1:44, 0 user, load average: 0.01, 0.09, 0.12\nDisk Usage: 48%\nMemory Usage: 70.7%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:54:38 up 17 days, 21:56, 0 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 68.5%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:55:12 up 3 days, 3:26, 1 user, load average: 0.00, 0.03, 0.00\nDisk Usage: 1%\nMemory Usage: 35.5%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:54:41 up 20 days, 16:48, 0 user, load average: 0.62, 0.52, 0.51\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.68\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:54:48 up 17 days, 3:10, 0 user, load average: 0.16, 0.33, 0.34\nDisk Usage: 76%\nMemory Usage: 51.7%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:55AM up 22 days, 44 mins, 1 user, load averages: 0.03, 0.15, 0.16\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:55:12 up 3 days, 3:26, 1 user, load average: 0.02, 0.04, 0.01\nDisk Usage: 79%\nMemory Usage: 14.1%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:55:13 up 54 min, 1 user, load average: 1.06, 1.15, 1.11\nDisk Usage: 1%\nMemory Usage: 21.1%\nCPU Load: 1.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T18:55:21.731941+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `a9a9efa431e44ec2992915f2f271a218` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T19:00:00.000893+00:00 |
| **Fin** | 2025-12-17T19:00:21.760503+00:00 |
| **Durée** | 21.8s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003416", "end": "2025-12-17 14:00:10.627377", "msg": "", "rc": 0, "start": "2025-12-17 14:00:10.623961", "stderr": "", "stderr_lines": [], "stdout": " 14:00:10 up 22 days, 3:10, 1 user, load average: 0.09, 0.05, 0.00", "stdout_lines": [" 14:00:10 up 22 days, 3:10, 1 user, load average: 0.09, 0.05, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003819", "end": "2025-12-17 14:00:10.624499", "msg": "", "rc": 0, "start": "2025-12-17 14:00:10.620680", "stderr": "", "stderr_lines": [], "stdout": " 14:00:10 up 22 days, 1:11, 1 user, load average: 1.28, 0.89, 0.78", "stdout_lines": [" 14:00:10 up 22 days, 1:11, 1 user, load average: 1.28, 0.89, 0.78"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003868", "end": "2025-12-17 14:00:10.644589", "msg": "", "rc": 0, "start": "2025-12-17 14:00:10.640721", "stderr": "", "stderr_lines": [], "stdout": " 14:00:10 up 22 days, 2:24, 1 user, load average: 0.48, 0.62, 0.63", "stdout_lines": [" 14:00:10 up 22 days, 2:24, 1 user, load average: 0.48, 0.62, 0.63"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003078", "end": "2025-12-17 14:00:10.656950", "msg": "", "rc": 0, "start": "2025-12-17 14:00:10.653872", "stderr": "", "stderr_lines": [], "stdout": " 14:00:10 up 3 days, 3:32, 1 user, load average: 0.34, 0.22, 0.19", "stdout_lines": [" 14:00:10 up 3 days, 3:32, 1 user, load average: 0.34, 0.22, 0.19"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003064", "end": "2025-12-17 13:59:44.695997", "msg": "", "rc": 0, "start": "2025-12-17 13:59:44.692933", "stderr": "", "stderr_lines": [], "stdout": " 13:59:44 up 11 days, 1:49, 0 user, load average: 0.06, 0.11, 0.11", "stdout_lines": [" 13:59:44 up 11 days, 1:49, 0 user, load average: 0.06, 0.11, 0.11"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008426", "end": "2025-12-17 14:00:11.356237", "msg": "", "rc": 0, "start": "2025-12-17 14:00:11.347811", "stderr": "", "stderr_lines": [], "stdout": " 14:00:11 up 194 days, 5:33, 1 user, load average: 0.20, 0.17, 0.10", "stdout_lines": [" 14:00:11 up 194 days, 5:33, 1 user, load average: 0.20, 0.17, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009688", "end": "2025-12-17 14:00:11.390383", "msg": "", "rc": 0, "start": "2025-12-17 14:00:11.380695", "stderr": "", "stderr_lines": [], "stdout": " 14:00:11 up 194 days, 5:33, 1 user, load average: 0.33, 0.20, 0.18", "stdout_lines": [" 14:00:11 up 194 days, 5:33, 1 user, load average: 0.33, 0.20, 0.18"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003470", "end": "2025-12-17 14:00:11.619014", "msg": "", "rc": 0, "start": "2025-12-17 14:00:10.615544", "stderr": "", "stderr_lines": [], "stdout": " 14:00:10 up 22 days, 51 min, 1 user, load average: 0.13, 0.09, 0.09", "stdout_lines": [" 14:00:10 up 22 days, 51 min, 1 user, load average: 0.13, 0.09, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003303", "end": "2025-12-17 13:59:38.677207", "msg": "", "rc": 0, "start": "2025-12-17 13:59:38.673904", "stderr": "", "stderr_lines": [], "stdout": " 13:59:38 up 17 days, 22:01, 0 user, load average: 0.02, 0.07, 0.02", "stdout_lines": [" 13:59:38 up 17 days, 22:01, 0 user, load average: 0.02, 0.07, 0.02"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004693", "end": "2025-12-17 14:00:11.876681", "msg": "", "rc": 0, "start": "2025-12-17 14:00:11.871988", "stderr": "", "stderr_lines": [], "stdout": " 14:00:11 up 3 days, 3:31, 1 user, load average: 0.04, 0.04, 0.00", "stdout_lines": [" 14:00:11 up 3 days, 3:31, 1 user, load average: 0.04, 0.04, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003359", "end": "2025-12-17 13:59:41.612396", "msg": "", "rc": 0, "start": "2025-12-17 13:59:41.609037", "stderr": "", "stderr_lines": [], "stdout": " 13:59:41 up 20 days, 16:53, 0 user, load average: 0.46, 0.49, 0.51", "stdout_lines": [" 13:59:41 up 20 days, 16:53, 0 user, load average: 0.46, 0.49, 0.51"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003413", "end": "2025-12-17 13:59:48.208346", "msg": "", "rc": 0, "start": "2025-12-17 13:59:48.204933", "stderr": "", "stderr_lines": [], "stdout": " 13:59:48 up 17 days, 3:15, 0 user, load average: 0.22, 0.37, 0.36", "stdout_lines": [" 13:59:48 up 17 days, 3:15, 0 user, load average: 0.22, 0.37, 0.36"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004295", "end": "2025-12-17 11:00:12.100970", "msg": "", "rc": 0, "start": "2025-12-17 11:00:12.096675", "stderr": "", "stderr_lines": [], "stdout": "11:00AM up 22 days, 49 mins, 1 user, load averages: 0.13, 0.18, 0.16", "stdout_lines": ["11:00AM up 22 days, 49 mins, 1 user, load averages: 0.13, 0.18, 0.16"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019632", "end": "2025-12-17 14:00:12.038427", "msg": "", "rc": 0, "start": "2025-12-17 14:00:12.018795", "stderr": "", "stderr_lines": [], "stdout": " 14:00:12 up 15 days, 3:26, 1 user, load average: 0.19, 0.10, 0.08", "stdout_lines": [" 14:00:12 up 15 days, 3:26, 1 user, load average: 0.19, 0.10, 0.08"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003738", "end": "2025-12-17 14:00:12.324031", "msg": "", "rc": 0, "start": "2025-12-17 14:00:12.320293", "stderr": "", "stderr_lines": [], "stdout": " 14:00:12 up 3 days, 3:31, 1 user, load average: 0.07, 0.06, 0.01", "stdout_lines": [" 14:00:12 up 3 days, 3:31, 1 user, load average: 0.07, 0.06, 0.01"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006839", "end": "2025-12-17 14:00:12.656634", "msg": "", "rc": 0, "start": "2025-12-17 14:00:12.649795", "stderr": "", "stderr_lines": [], "stdout": " 14:00:12 up 59 min, 1 user, load average: 1.32, 1.18, 1.12", "stdout_lines": [" 14:00:12 up 59 min, 1 user, load average: 1.32, 1.18, 1.12"]}
TASK [Get disk usage] **********************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004171", "end": "2025-12-17 14:00:12.760091", "msg": "", "rc": 0, "start": "2025-12-17 14:00:12.755920", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004445", "end": "2025-12-17 14:00:12.763505", "msg": "", "rc": 0, "start": "2025-12-17 14:00:12.759060", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004700", "end": "2025-12-17 14:00:12.782828", "msg": "", "rc": 0, "start": "2025-12-17 14:00:12.778128", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005236", "end": "2025-12-17 14:00:12.834456", "msg": "", "rc": 0, "start": "2025-12-17 14:00:12.829220", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004480", "end": "2025-12-17 14:00:12.848820", "msg": "", "rc": 0, "start": "2025-12-17 14:00:12.844340", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005405", "end": "2025-12-17 13:59:46.942174", "msg": "", "rc": 0, "start": "2025-12-17 13:59:46.936769", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005788", "end": "2025-12-17 13:59:40.493355", "msg": "", "rc": 0, "start": "2025-12-17 13:59:40.487567", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010644", "end": "2025-12-17 14:00:13.647688", "msg": "", "rc": 0, "start": "2025-12-17 14:00:13.637044", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011503", "end": "2025-12-17 14:00:13.650991", "msg": "", "rc": 0, "start": "2025-12-17 14:00:13.639488", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005709", "end": "2025-12-17 14:00:13.891327", "msg": "", "rc": 0, "start": "2025-12-17 14:00:13.885618", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005395", "end": "2025-12-17 13:59:43.686600", "msg": "", "rc": 0, "start": "2025-12-17 13:59:43.681205", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005366", "end": "2025-12-17 11:00:14.133764", "msg": "", "rc": 0, "start": "2025-12-17 11:00:14.128398", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.013560", "end": "2025-12-17 13:59:50.349030", "msg": "", "rc": 0, "start": "2025-12-17 13:59:50.335470", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005473", "end": "2025-12-17 14:00:14.324100", "msg": "", "rc": 0, "start": "2025-12-17 14:00:14.318627", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008996", "end": "2025-12-17 14:00:14.782771", "msg": "", "rc": 0, "start": "2025-12-17 14:00:14.773775", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025831", "end": "2025-12-17 14:00:14.263459", "msg": "", "rc": 0, "start": "2025-12-17 14:00:14.237628", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004501", "end": "2025-12-17 14:00:14.801108", "msg": "", "rc": 0, "start": "2025-12-17 14:00:14.796607", "stderr": "", "stderr_lines": [], "stdout": "77.5%", "stdout_lines": ["77.5%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004146", "end": "2025-12-17 14:00:14.835578", "msg": "", "rc": 0, "start": "2025-12-17 14:00:14.831432", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004856", "end": "2025-12-17 14:00:14.848149", "msg": "", "rc": 0, "start": "2025-12-17 14:00:14.843293", "stderr": "", "stderr_lines": [], "stdout": "49.4%", "stdout_lines": ["49.4%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005661", "end": "2025-12-17 14:00:14.859888", "msg": "", "rc": 0, "start": "2025-12-17 14:00:14.854227", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005072", "end": "2025-12-17 14:00:14.864973", "msg": "", "rc": 0, "start": "2025-12-17 14:00:14.859901", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004253", "end": "2025-12-17 13:59:48.843096", "msg": "", "rc": 0, "start": "2025-12-17 13:59:48.838843", "stderr": "", "stderr_lines": [], "stdout": "70.8%", "stdout_lines": ["70.8%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004692", "end": "2025-12-17 13:59:42.382799", "msg": "", "rc": 0, "start": "2025-12-17 13:59:42.378107", "stderr": "", "stderr_lines": [], "stdout": "68.6%", "stdout_lines": ["68.6%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010923", "end": "2025-12-17 14:00:15.501327", "msg": "", "rc": 0, "start": "2025-12-17 14:00:15.490404", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012041", "end": "2025-12-17 14:00:15.548102", "msg": "", "rc": 0, "start": "2025-12-17 14:00:15.536061", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.8%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006001", "end": "2025-12-17 14:00:15.785342", "msg": "", "rc": 0, "start": "2025-12-17 14:00:15.779341", "stderr": "", "stderr_lines": [], "stdout": "35.6%", "stdout_lines": ["35.6%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004411", "end": "2025-12-17 13:59:45.565402", "msg": "", "rc": 0, "start": "2025-12-17 13:59:45.560991", "stderr": "", "stderr_lines": [], "stdout": "27.2%", "stdout_lines": ["27.2%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005112", "end": "2025-12-17 11:00:16.028688", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 11:00:16.023576", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003958", "end": "2025-12-17 13:59:52.204951", "msg": "", "rc": 0, "start": "2025-12-17 13:59:52.200993", "stderr": "", "stderr_lines": [], "stdout": "53.5%", "stdout_lines": ["53.5%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005526", "end": "2025-12-17 14:00:16.202406", "msg": "", "rc": 0, "start": "2025-12-17 14:00:16.196880", "stderr": "", "stderr_lines": [], "stdout": "13.9%", "stdout_lines": ["13.9%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010644", "end": "2025-12-17 14:00:16.759621", "msg": "", "rc": 0, "start": "2025-12-17 14:00:16.748977", "stderr": "", "stderr_lines": [], "stdout": "21.2%", "stdout_lines": ["21.2%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025824", "end": "2025-12-17 14:00:16.180224", "msg": "", "rc": 0, "start": "2025-12-17 14:00:16.154400", "stderr": "", "stderr_lines": [], "stdout": "18.9%", "stdout_lines": ["18.9%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005386", "end": "2025-12-17 14:00:16.693528", "msg": "", "rc": 0, "start": "2025-12-17 14:00:16.688142", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004974", "end": "2025-12-17 14:00:16.719570", "msg": "", "rc": 0, "start": "2025-12-17 14:00:16.714596", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005667", "end": "2025-12-17 14:00:16.730073", "msg": "", "rc": 0, "start": "2025-12-17 14:00:16.724406", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003472", "end": "2025-12-17 14:00:16.739701", "msg": "", "rc": 0, "start": "2025-12-17 14:00:16.736229", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006643", "end": "2025-12-17 14:00:16.755384", "msg": "", "rc": 0, "start": "2025-12-17 14:00:16.748741", "stderr": "", "stderr_lines": [], "stdout": "52.5°C", "stdout_lines": ["52.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002526", "end": "2025-12-17 13:59:50.764626", "msg": "", "rc": 0, "start": "2025-12-17 13:59:50.762100", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003339", "end": "2025-12-17 13:59:44.281293", "msg": "", "rc": 0, "start": "2025-12-17 13:59:44.277954", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011804", "end": "2025-12-17 14:00:17.384741", "msg": "", "rc": 0, "start": "2025-12-17 14:00:17.372937", "stderr": "", "stderr_lines": [], "stdout": "31.6°C", "stdout_lines": ["31.6°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012891", "end": "2025-12-17 14:00:17.435465", "msg": "", "rc": 0, "start": "2025-12-17 14:00:17.422574", "stderr": "", "stderr_lines": [], "stdout": "37.0°C", "stdout_lines": ["37.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003127", "end": "2025-12-17 14:00:17.691095", "msg": "", "rc": 0, "start": "2025-12-17 14:00:17.687968", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002874", "end": "2025-12-17 13:59:47.464019", "msg": "", "rc": 0, "start": "2025-12-17 13:59:47.461145", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004427", "end": "2025-12-17 11:00:17.916540", "msg": "", "rc": 0, "start": "2025-12-17 11:00:17.912113", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003097", "end": "2025-12-17 13:59:54.071781", "msg": "", "rc": 0, "start": "2025-12-17 13:59:54.068684", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002857", "end": "2025-12-17 14:00:18.107067", "msg": "", "rc": 0, "start": "2025-12-17 14:00:18.104210", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004006", "end": "2025-12-17 14:00:18.696131", "msg": "", "rc": 0, "start": "2025-12-17 14:00:18.692125", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028542", "end": "2025-12-17 14:00:18.083127", "msg": "", "rc": 0, "start": "2025-12-17 14:00:18.054585", "stderr": "", "stderr_lines": [], "stdout": "35.5°C", "stdout_lines": ["35.5°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004162", "end": "2025-12-17 14:00:18.611957", "msg": "", "rc": 0, "start": "2025-12-17 14:00:18.607795", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004424", "end": "2025-12-17 14:00:18.619887", "msg": "", "rc": 0, "start": "2025-12-17 14:00:18.615463", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005188", "end": "2025-12-17 14:00:18.675524", "msg": "", "rc": 0, "start": "2025-12-17 14:00:18.670336", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005399", "end": "2025-12-17 14:00:18.677912", "msg": "", "rc": 0, "start": "2025-12-17 14:00:18.672513", "stderr": "", "stderr_lines": [], "stdout": "1.26", "stdout_lines": ["1.26"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008808", "end": "2025-12-17 14:00:18.700562", "msg": "", "rc": 0, "start": "2025-12-17 14:00:18.691754", "stderr": "", "stderr_lines": [], "stdout": "0.52", "stdout_lines": ["0.52"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005318", "end": "2025-12-17 13:59:52.696890", "msg": "", "rc": 0, "start": "2025-12-17 13:59:52.691572", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005170", "end": "2025-12-17 13:59:46.229662", "msg": "", "rc": 0, "start": "2025-12-17 13:59:46.224492", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.013289", "end": "2025-12-17 14:00:19.418697", "msg": "", "rc": 0, "start": "2025-12-17 14:00:19.405408", "stderr": "", "stderr_lines": [], "stdout": "0.36", "stdout_lines": ["0.36"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010407", "end": "2025-12-17 14:00:19.436781", "msg": "", "rc": 0, "start": "2025-12-17 14:00:19.426374", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005580", "end": "2025-12-17 14:00:19.649819", "msg": "", "rc": 0, "start": "2025-12-17 14:00:19.644239", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005008", "end": "2025-12-17 13:59:49.421337", "msg": "", "rc": 0, "start": "2025-12-17 13:59:49.416329", "stderr": "", "stderr_lines": [], "stdout": "0.55", "stdout_lines": ["0.55"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006181", "end": "2025-12-17 11:00:19.942376", "msg": "", "rc": 0, "start": "2025-12-17 11:00:19.936195", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004104", "end": "2025-12-17 13:59:56.102461", "msg": "", "rc": 0, "start": "2025-12-17 13:59:56.098357", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005252", "end": "2025-12-17 14:00:20.076407", "msg": "", "rc": 0, "start": "2025-12-17 14:00:20.071155", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010612", "end": "2025-12-17 14:00:20.741414", "msg": "", "rc": 0, "start": "2025-12-17 14:00:20.730802", "stderr": "", "stderr_lines": [], "stdout": "1.43", "stdout_lines": ["1.43"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.029810", "end": "2025-12-17 14:00:20.167053", "msg": "", "rc": 0, "start": "2025-12-17 14:00:20.137243", "stderr": "", "stderr_lines": [], "stdout": "0.39", "stdout_lines": ["0.39"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:00:10 up 3 days, 3:32, 1 user, load average: 0.34, 0.22, 0.19\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.31\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:00:10 up 22 days, 51 min, 1 user, load average: 0.13, 0.09, 0.09\nDisk Usage: 23%\nMemory Usage: 77.5%\nCPU Load: 0.26\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:00:10 up 22 days, 1:11, 1 user, load average: 1.28, 0.89, 0.78\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 1.26\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:00:10 up 22 days, 2:24, 1 user, load average: 0.48, 0.62, 0.63\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.52\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:00:10 up 22 days, 3:10, 1 user, load average: 0.09, 0.05, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:00:12 up 15 days, 3:26, 1 user, load average: 0.19, 0.10, 0.08\nDisk Usage: 21%\nMemory Usage: 18.9%\nCPU Load: 0.39\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:00:11 up 194 days, 5:33, 1 user, load average: 0.33, 0.20, 0.18\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.36\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:00:11 up 194 days, 5:33, 1 user, load average: 0.20, 0.17, 0.10\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.18\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:59:44 up 11 days, 1:49, 0 user, load average: 0.06, 0.11, 0.11\nDisk Usage: 48%\nMemory Usage: 70.8%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:59:38 up 17 days, 22:01, 0 user, load average: 0.02, 0.07, 0.02\nDisk Usage: 24%\nMemory Usage: 68.6%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:00:11 up 3 days, 3:31, 1 user, load average: 0.04, 0.04, 0.00\nDisk Usage: 1%\nMemory Usage: 35.6%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:59:41 up 20 days, 16:53, 0 user, load average: 0.46, 0.49, 0.51\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.55\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:00AM up 22 days, 49 mins, 1 user, load averages: 0.13, 0.18, 0.16\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:00:12 up 3 days, 3:31, 1 user, load average: 0.07, 0.06, 0.01\nDisk Usage: 79%\nMemory Usage: 13.9%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:59:48 up 17 days, 3:15, 0 user, load average: 0.22, 0.37, 0.36\nDisk Usage: 76%\nMemory Usage: 53.5%\nCPU Load: 0.26\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:00:12 up 59 min, 1 user, load average: 1.32, 1.18, 1.12\nDisk Usage: 1%\nMemory Usage: 21.2%\nCPU Load: 1.43\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T19:00:21.795068+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `301dbd05ebba4ba2aab8c8a6803e394a` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T19:05:00.001146+00:00 |
| **Fin** | 2025-12-17T19:05:22.253628+00:00 |
| **Durée** | 22.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003269", "end": "2025-12-17 14:05:11.461662", "msg": "", "rc": 0, "start": "2025-12-17 14:05:11.458393", "stderr": "", "stderr_lines": [], "stdout": " 14:05:11 up 22 days, 56 min, 1 user, load average: 0.18, 0.12, 0.09", "stdout_lines": [" 14:05:11 up 22 days, 56 min, 1 user, load average: 0.18, 0.12, 0.09"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003642", "end": "2025-12-17 14:05:11.469757", "msg": "", "rc": 0, "start": "2025-12-17 14:05:11.466115", "stderr": "", "stderr_lines": [], "stdout": " 14:05:11 up 22 days, 3:15, 1 user, load average: 0.03, 0.04, 0.00", "stdout_lines": [" 14:05:11 up 22 days, 3:15, 1 user, load average: 0.03, 0.04, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002812", "end": "2025-12-17 14:05:11.495170", "msg": "", "rc": 0, "start": "2025-12-17 14:05:11.492358", "stderr": "", "stderr_lines": [], "stdout": " 14:05:11 up 3 days, 3:37, 1 user, load average: 0.29, 0.21, 0.19", "stdout_lines": [" 14:05:11 up 3 days, 3:37, 1 user, load average: 0.29, 0.21, 0.19"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004876", "end": "2025-12-17 14:05:11.505684", "msg": "", "rc": 0, "start": "2025-12-17 14:05:11.500808", "stderr": "", "stderr_lines": [], "stdout": " 14:05:11 up 22 days, 2:29, 1 user, load average: 0.76, 0.63, 0.63", "stdout_lines": [" 14:05:11 up 22 days, 2:29, 1 user, load average: 0.76, 0.63, 0.63"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002838", "end": "2025-12-17 14:04:45.481800", "msg": "", "rc": 0, "start": "2025-12-17 14:04:45.478962", "stderr": "", "stderr_lines": [], "stdout": " 14:04:45 up 11 days, 1:54, 0 user, load average: 0.03, 0.06, 0.08", "stdout_lines": [" 14:04:45 up 11 days, 1:54, 0 user, load average: 0.03, 0.06, 0.08"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008562", "end": "2025-12-17 14:05:12.146576", "msg": "", "rc": 0, "start": "2025-12-17 14:05:12.138014", "stderr": "", "stderr_lines": [], "stdout": " 14:05:12 up 194 days, 5:38, 1 user, load average: 0.13, 0.19, 0.13", "stdout_lines": [" 14:05:12 up 194 days, 5:38, 1 user, load average: 0.13, 0.19, 0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009640", "end": "2025-12-17 14:05:12.171425", "msg": "", "rc": 0, "start": "2025-12-17 14:05:12.161785", "stderr": "", "stderr_lines": [], "stdout": " 14:05:12 up 194 days, 5:38, 1 user, load average: 0.16, 0.18, 0.18", "stdout_lines": [" 14:05:12 up 194 days, 5:38, 1 user, load average: 0.16, 0.18, 0.18"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004333", "end": "2025-12-17 14:05:12.462042", "msg": "", "rc": 0, "start": "2025-12-17 14:05:11.457709", "stderr": "", "stderr_lines": [], "stdout": " 14:05:11 up 22 days, 1:16, 1 user, load average: 0.73, 0.85, 0.81", "stdout_lines": [" 14:05:11 up 22 days, 1:16, 1 user, load average: 0.73, 0.85, 0.81"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003454", "end": "2025-12-17 14:04:39.458392", "msg": "", "rc": 0, "start": "2025-12-17 14:04:39.454938", "stderr": "", "stderr_lines": [], "stdout": " 14:04:39 up 17 days, 22:06, 0 user, load average: 0.04, 0.04, 0.00", "stdout_lines": [" 14:04:39 up 17 days, 22:06, 0 user, load average: 0.04, 0.04, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004899", "end": "2025-12-17 14:05:12.657946", "msg": "", "rc": 0, "start": "2025-12-17 14:05:12.653047", "stderr": "", "stderr_lines": [], "stdout": " 14:05:12 up 3 days, 3:36, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 14:05:12 up 3 days, 3:36, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003304", "end": "2025-12-17 14:04:42.375677", "msg": "", "rc": 0, "start": "2025-12-17 14:04:42.372373", "stderr": "", "stderr_lines": [], "stdout": " 14:04:42 up 20 days, 16:59, 0 user, load average: 0.78, 0.58, 0.54", "stdout_lines": [" 14:04:42 up 20 days, 16:59, 0 user, load average: 0.78, 0.58, 0.54"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004311", "end": "2025-12-17 11:05:12.884815", "msg": "", "rc": 0, "start": "2025-12-17 11:05:12.880504", "stderr": "", "stderr_lines": [], "stdout": "11:05AM up 22 days, 55 mins, 1 user, load averages: 0.19, 0.17, 0.16", "stdout_lines": ["11:05AM up 22 days, 55 mins, 1 user, load averages: 0.19, 0.17, 0.16"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002711", "end": "2025-12-17 14:04:49.057474", "msg": "", "rc": 0, "start": "2025-12-17 14:04:49.054763", "stderr": "", "stderr_lines": [], "stdout": " 14:04:49 up 17 days, 3:20, 0 user, load average: 0.29, 0.42, 0.39", "stdout_lines": [" 14:04:49 up 17 days, 3:20, 0 user, load average: 0.29, 0.42, 0.39"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019605", "end": "2025-12-17 14:05:12.840812", "msg": "", "rc": 0, "start": "2025-12-17 14:05:12.821207", "stderr": "", "stderr_lines": [], "stdout": " 14:05:12 up 15 days, 3:31, 1 user, load average: 0.24, 0.16, 0.10", "stdout_lines": [" 14:05:12 up 15 days, 3:31, 1 user, load average: 0.24, 0.16, 0.10"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003719", "end": "2025-12-17 14:05:13.136967", "msg": "", "rc": 0, "start": "2025-12-17 14:05:13.133248", "stderr": "", "stderr_lines": [], "stdout": " 14:05:13 up 3 days, 3:36, 1 user, load average: 0.06, 0.05, 0.01", "stdout_lines": [" 14:05:13 up 3 days, 3:36, 1 user, load average: 0.06, 0.05, 0.01"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009590", "end": "2025-12-17 14:05:14.111908", "msg": "", "rc": 0, "start": "2025-12-17 14:05:14.102318", "stderr": "", "stderr_lines": [], "stdout": " 14:05:14 up 1:04, 1 user, load average: 1.09, 1.11, 1.09", "stdout_lines": [" 14:05:14 up 1:04, 1 user, load average: 1.09, 1.11, 1.09"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004229", "end": "2025-12-17 14:05:13.723423", "msg": "", "rc": 0, "start": "2025-12-17 14:05:13.719194", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004083", "end": "2025-12-17 14:05:13.764109", "msg": "", "rc": 0, "start": "2025-12-17 14:05:13.760026", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004846", "end": "2025-12-17 14:05:13.778040", "msg": "", "rc": 0, "start": "2025-12-17 14:05:13.773194", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004394", "end": "2025-12-17 14:05:13.788461", "msg": "", "rc": 0, "start": "2025-12-17 14:05:13.784067", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005621", "end": "2025-12-17 14:05:13.788852", "msg": "", "rc": 0, "start": "2025-12-17 14:05:13.783231", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004826", "end": "2025-12-17 14:04:47.756522", "msg": "", "rc": 0, "start": "2025-12-17 14:04:47.751696", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006098", "end": "2025-12-17 14:04:41.325581", "msg": "", "rc": 0, "start": "2025-12-17 14:04:41.319483", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010488", "end": "2025-12-17 14:05:14.531091", "msg": "", "rc": 0, "start": "2025-12-17 14:05:14.520603", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011594", "end": "2025-12-17 14:05:14.560941", "msg": "", "rc": 0, "start": "2025-12-17 14:05:14.549347", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005722", "end": "2025-12-17 14:05:14.711667", "msg": "", "rc": 0, "start": "2025-12-17 14:05:14.705945", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005487", "end": "2025-12-17 14:04:44.515714", "msg": "", "rc": 0, "start": "2025-12-17 14:04:44.510227", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005491", "end": "2025-12-17 11:05:15.053708", "msg": "", "rc": 0, "start": "2025-12-17 11:05:15.048217", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005222", "end": "2025-12-17 14:04:51.198249", "msg": "", "rc": 0, "start": "2025-12-17 14:04:51.193027", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005311", "end": "2025-12-17 14:05:15.178748", "msg": "", "rc": 0, "start": "2025-12-17 14:05:15.173437", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025800", "end": "2025-12-17 14:05:15.106644", "msg": "", "rc": 0, "start": "2025-12-17 14:05:15.080844", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021553", "end": "2025-12-17 14:05:16.102336", "msg": "", "rc": 0, "start": "2025-12-17 14:05:16.080783", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004291", "end": "2025-12-17 14:05:15.657932", "msg": "", "rc": 0, "start": "2025-12-17 14:05:15.653641", "stderr": "", "stderr_lines": [], "stdout": "77.5%", "stdout_lines": ["77.5%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004193", "end": "2025-12-17 14:05:15.674268", "msg": "", "rc": 0, "start": "2025-12-17 14:05:15.670075", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005547", "end": "2025-12-17 14:05:15.715418", "msg": "", "rc": 0, "start": "2025-12-17 14:05:15.709871", "stderr": "", "stderr_lines": [], "stdout": "49.5%", "stdout_lines": ["49.5%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006213", "end": "2025-12-17 14:05:15.719117", "msg": "", "rc": 0, "start": "2025-12-17 14:05:15.712904", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005297", "end": "2025-12-17 14:05:15.725952", "msg": "", "rc": 0, "start": "2025-12-17 14:05:15.720655", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004124", "end": "2025-12-17 14:04:49.742751", "msg": "", "rc": 0, "start": "2025-12-17 14:04:49.738627", "stderr": "", "stderr_lines": [], "stdout": "70.7%", "stdout_lines": ["70.7%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004112", "end": "2025-12-17 14:04:43.300288", "msg": "", "rc": 0, "start": "2025-12-17 14:04:43.296176", "stderr": "", "stderr_lines": [], "stdout": "68.4%", "stdout_lines": ["68.4%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010832", "end": "2025-12-17 14:05:16.426086", "msg": "", "rc": 0, "start": "2025-12-17 14:05:16.415254", "stderr": "", "stderr_lines": [], "stdout": "6.9%", "stdout_lines": ["6.9%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.013169", "end": "2025-12-17 14:05:16.432434", "msg": "", "rc": 0, "start": "2025-12-17 14:05:16.419265", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.1%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005749", "end": "2025-12-17 14:05:16.696416", "msg": "", "rc": 0, "start": "2025-12-17 14:05:16.690667", "stderr": "", "stderr_lines": [], "stdout": "35.5%", "stdout_lines": ["35.5%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005063", "end": "2025-12-17 14:04:46.520961", "msg": "", "rc": 0, "start": "2025-12-17 14:04:46.515898", "stderr": "", "stderr_lines": [], "stdout": "27.3%", "stdout_lines": ["27.3%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005540", "end": "2025-12-17 11:05:16.926691", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 11:05:16.921151", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003597", "end": "2025-12-17 14:04:53.117787", "msg": "", "rc": 0, "start": "2025-12-17 14:04:53.114190", "stderr": "", "stderr_lines": [], "stdout": "53.5%", "stdout_lines": ["53.5%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005356", "end": "2025-12-17 14:05:17.124919", "msg": "", "rc": 0, "start": "2025-12-17 14:05:17.119563", "stderr": "", "stderr_lines": [], "stdout": "13.9%", "stdout_lines": ["13.9%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025198", "end": "2025-12-17 14:05:17.085047", "msg": "", "rc": 0, "start": "2025-12-17 14:05:17.059849", "stderr": "", "stderr_lines": [], "stdout": "20.1%", "stdout_lines": ["20.1%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010602", "end": "2025-12-17 14:05:18.155503", "msg": "", "rc": 0, "start": "2025-12-17 14:05:18.144901", "stderr": "", "stderr_lines": [], "stdout": "21.3%", "stdout_lines": ["21.3%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006061", "end": "2025-12-17 14:05:17.620142", "msg": "", "rc": 0, "start": "2025-12-17 14:05:17.614081", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004846", "end": "2025-12-17 14:05:17.627472", "msg": "", "rc": 0, "start": "2025-12-17 14:05:17.622626", "stderr": "", "stderr_lines": [], "stdout": "46.0°C", "stdout_lines": ["46.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005733", "end": "2025-12-17 14:05:17.648577", "msg": "", "rc": 0, "start": "2025-12-17 14:05:17.642844", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003194", "end": "2025-12-17 14:05:17.677755", "msg": "", "rc": 0, "start": "2025-12-17 14:05:17.674561", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006477", "end": "2025-12-17 14:05:17.678281", "msg": "", "rc": 0, "start": "2025-12-17 14:05:17.671804", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002974", "end": "2025-12-17 14:04:51.689661", "msg": "", "rc": 0, "start": "2025-12-17 14:04:51.686687", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003222", "end": "2025-12-17 14:04:45.216563", "msg": "", "rc": 0, "start": "2025-12-17 14:04:45.213341", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012557", "end": "2025-12-17 14:05:18.302618", "msg": "", "rc": 0, "start": "2025-12-17 14:05:18.290061", "stderr": "", "stderr_lines": [], "stdout": "31.6°C", "stdout_lines": ["31.6°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.014222", "end": "2025-12-17 14:05:18.340876", "msg": "", "rc": 0, "start": "2025-12-17 14:05:18.326654", "stderr": "", "stderr_lines": [], "stdout": "37.0°C", "stdout_lines": ["37.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003159", "end": "2025-12-17 14:05:18.610360", "msg": "", "rc": 0, "start": "2025-12-17 14:05:18.607201", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002839", "end": "2025-12-17 14:04:48.417796", "msg": "", "rc": 0, "start": "2025-12-17 14:04:48.414957", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003022", "end": "2025-12-17 14:04:54.974664", "msg": "", "rc": 0, "start": "2025-12-17 14:04:54.971642", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004488", "end": "2025-12-17 11:05:18.849087", "msg": "", "rc": 0, "start": "2025-12-17 11:05:18.844599", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003011", "end": "2025-12-17 14:05:19.043550", "msg": "", "rc": 0, "start": "2025-12-17 14:05:19.040539", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003957", "end": "2025-12-17 14:05:20.124428", "msg": "", "rc": 0, "start": "2025-12-17 14:05:20.120471", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.032909", "end": "2025-12-17 14:05:19.089123", "msg": "", "rc": 0, "start": "2025-12-17 14:05:19.056214", "stderr": "", "stderr_lines": [], "stdout": "37.8°C", "stdout_lines": ["37.8°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004126", "end": "2025-12-17 14:05:19.626975", "msg": "", "rc": 0, "start": "2025-12-17 14:05:19.622849", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003967", "end": "2025-12-17 14:05:19.642798", "msg": "", "rc": 0, "start": "2025-12-17 14:05:19.638831", "stderr": "", "stderr_lines": [], "stdout": "0.40", "stdout_lines": ["0.40"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004703", "end": "2025-12-17 14:05:19.672940", "msg": "", "rc": 0, "start": "2025-12-17 14:05:19.668237", "stderr": "", "stderr_lines": [], "stdout": "0.68", "stdout_lines": ["0.68"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004999", "end": "2025-12-17 14:05:19.690404", "msg": "", "rc": 0, "start": "2025-12-17 14:05:19.685405", "stderr": "", "stderr_lines": [], "stdout": "0.03", "stdout_lines": ["0.03"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005444", "end": "2025-12-17 14:05:19.692628", "msg": "", "rc": 0, "start": "2025-12-17 14:05:19.687184", "stderr": "", "stderr_lines": [], "stdout": "0.72", "stdout_lines": ["0.72"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005499", "end": "2025-12-17 14:04:53.687390", "msg": "", "rc": 0, "start": "2025-12-17 14:04:53.681891", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005311", "end": "2025-12-17 14:04:47.220279", "msg": "", "rc": 0, "start": "2025-12-17 14:04:47.214968", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011300", "end": "2025-12-17 14:05:20.353348", "msg": "", "rc": 0, "start": "2025-12-17 14:05:20.342048", "stderr": "", "stderr_lines": [], "stdout": "0.37", "stdout_lines": ["0.37"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010179", "end": "2025-12-17 14:05:20.402160", "msg": "", "rc": 0, "start": "2025-12-17 14:05:20.391981", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005506", "end": "2025-12-17 14:05:20.617130", "msg": "", "rc": 0, "start": "2025-12-17 14:05:20.611624", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004957", "end": "2025-12-17 14:04:50.387951", "msg": "", "rc": 0, "start": "2025-12-17 14:04:50.382994", "stderr": "", "stderr_lines": [], "stdout": "0.66", "stdout_lines": ["0.66"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006096", "end": "2025-12-17 11:05:20.856531", "msg": "", "rc": 0, "start": "2025-12-17 11:05:20.850435", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004441", "end": "2025-12-17 14:04:57.004440", "msg": "", "rc": 0, "start": "2025-12-17 14:04:56.999999", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005134", "end": "2025-12-17 14:05:21.042025", "msg": "", "rc": 0, "start": "2025-12-17 14:05:21.036891", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.009690", "end": "2025-12-17 14:05:22.150306", "msg": "", "rc": 0, "start": "2025-12-17 14:05:22.140616", "stderr": "", "stderr_lines": [], "stdout": "1.31", "stdout_lines": ["1.31"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.028796", "end": "2025-12-17 14:05:21.260925", "msg": "", "rc": 0, "start": "2025-12-17 14:05:21.232129", "stderr": "", "stderr_lines": [], "stdout": "0.36", "stdout_lines": ["0.36"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:05:11 up 3 days, 3:37, 1 user, load average: 0.29, 0.21, 0.19\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.40\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:05:11 up 22 days, 56 min, 1 user, load average: 0.18, 0.12, 0.09\nDisk Usage: 23%\nMemory Usage: 77.5%\nCPU Load: 0.23\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:05:11 up 22 days, 1:16, 1 user, load average: 0.73, 0.85, 0.81\nDisk Usage: 14%\nMemory Usage: 49.5%\nCPU Load: 0.68\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:05:11 up 22 days, 2:29, 1 user, load average: 0.76, 0.63, 0.63\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.72\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:05:11 up 22 days, 3:15, 1 user, load average: 0.03, 0.04, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:05:12 up 15 days, 3:31, 1 user, load average: 0.24, 0.16, 0.10\nDisk Usage: 21%\nMemory Usage: 20.1%\nCPU Load: 0.36\nCPU Temp: 37.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:05:12 up 194 days, 5:38, 1 user, load average: 0.16, 0.18, 0.18\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.37\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:05:12 up 194 days, 5:38, 1 user, load average: 0.13, 0.19, 0.13\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.19\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:04:45 up 11 days, 1:54, 0 user, load average: 0.03, 0.06, 0.08\nDisk Usage: 48%\nMemory Usage: 70.7%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:04:39 up 17 days, 22:06, 0 user, load average: 0.04, 0.04, 0.00\nDisk Usage: 24%\nMemory Usage: 68.4%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:05:12 up 3 days, 3:36, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 1%\nMemory Usage: 35.5%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:04:42 up 20 days, 16:59, 0 user, load average: 0.78, 0.58, 0.54\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.66\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:04:49 up 17 days, 3:20, 0 user, load average: 0.29, 0.42, 0.39\nDisk Usage: 76%\nMemory Usage: 53.5%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:05AM up 22 days, 55 mins, 1 user, load averages: 0.19, 0.17, 0.16\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:05:13 up 3 days, 3:36, 1 user, load average: 0.06, 0.05, 0.01\nDisk Usage: 79%\nMemory Usage: 13.9%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:05:14 up 1:04, 1 user, load average: 1.09, 1.11, 1.09\nDisk Usage: 1%\nMemory Usage: 21.3%\nCPU Load: 1.31\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T19:05:22.291172+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `6b86faeb340041aeaa737151f9192556` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T19:10:00.002708+00:00 |
| **Fin** | 2025-12-17T19:10:22.607062+00:00 |
| **Durée** | 22.6s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003671", "end": "2025-12-17 14:10:11.551963", "msg": "", "rc": 0, "start": "2025-12-17 14:10:11.548292", "stderr": "", "stderr_lines": [], "stdout": " 14:10:11 up 22 days, 3:20, 1 user, load average: 0.10, 0.05, 0.01", "stdout_lines": [" 14:10:11 up 22 days, 3:20, 1 user, load average: 0.10, 0.05, 0.01"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003095", "end": "2025-12-17 14:10:11.563068", "msg": "", "rc": 0, "start": "2025-12-17 14:10:11.559973", "stderr": "", "stderr_lines": [], "stdout": " 14:10:11 up 3 days, 3:42, 1 user, load average: 0.48, 0.22, 0.19", "stdout_lines": [" 14:10:11 up 3 days, 3:42, 1 user, load average: 0.48, 0.22, 0.19"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004112", "end": "2025-12-17 14:10:11.586283", "msg": "", "rc": 0, "start": "2025-12-17 14:10:11.582171", "stderr": "", "stderr_lines": [], "stdout": " 14:10:11 up 22 days, 2:34, 1 user, load average: 0.72, 0.63, 0.64", "stdout_lines": [" 14:10:11 up 22 days, 2:34, 1 user, load average: 0.72, 0.63, 0.64"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003274", "end": "2025-12-17 14:10:11.592749", "msg": "", "rc": 0, "start": "2025-12-17 14:10:11.589475", "stderr": "", "stderr_lines": [], "stdout": " 14:10:11 up 22 days, 1:21, 1 user, load average: 1.10, 0.92, 0.84", "stdout_lines": [" 14:10:11 up 22 days, 1:21, 1 user, load average: 1.10, 0.92, 0.84"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003099", "end": "2025-12-17 14:09:45.603754", "msg": "", "rc": 0, "start": "2025-12-17 14:09:45.600655", "stderr": "", "stderr_lines": [], "stdout": " 14:09:45 up 11 days, 1:59, 0 user, load average: 0.02, 0.07, 0.08", "stdout_lines": [" 14:09:45 up 11 days, 1:59, 0 user, load average: 0.02, 0.07, 0.08"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008535", "end": "2025-12-17 14:10:12.242938", "msg": "", "rc": 0, "start": "2025-12-17 14:10:12.234403", "stderr": "", "stderr_lines": [], "stdout": " 14:10:12 up 194 days, 5:43, 1 user, load average: 0.16, 0.19, 0.14", "stdout_lines": [" 14:10:12 up 194 days, 5:43, 1 user, load average: 0.16, 0.19, 0.14"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009887", "end": "2025-12-17 14:10:12.260456", "msg": "", "rc": 0, "start": "2025-12-17 14:10:12.250569", "stderr": "", "stderr_lines": [], "stdout": " 14:10:12 up 194 days, 5:43, 1 user, load average: 0.19, 0.27, 0.22", "stdout_lines": [" 14:10:12 up 194 days, 5:43, 1 user, load average: 0.19, 0.27, 0.22"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004482", "end": "2025-12-17 14:10:12.540764", "msg": "", "rc": 0, "start": "2025-12-17 14:10:11.536282", "stderr": "", "stderr_lines": [], "stdout": " 14:10:11 up 22 days, 1:01, 1 user, load average: 0.18, 0.14, 0.10", "stdout_lines": [" 14:10:11 up 22 days, 1:01, 1 user, load average: 0.18, 0.14, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003527", "end": "2025-12-17 14:09:39.611469", "msg": "", "rc": 0, "start": "2025-12-17 14:09:39.607942", "stderr": "", "stderr_lines": [], "stdout": " 14:09:39 up 17 days, 22:11, 0 user, load average: 0.07, 0.04, 0.00", "stdout_lines": [" 14:09:39 up 17 days, 22:11, 0 user, load average: 0.07, 0.04, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004708", "end": "2025-12-17 14:10:12.756543", "msg": "", "rc": 0, "start": "2025-12-17 14:10:12.751835", "stderr": "", "stderr_lines": [], "stdout": " 14:10:12 up 3 days, 3:41, 1 user, load average: 0.15, 0.05, 0.01", "stdout_lines": [" 14:10:12 up 3 days, 3:41, 1 user, load average: 0.15, 0.05, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003306", "end": "2025-12-17 14:09:42.507020", "msg": "", "rc": 0, "start": "2025-12-17 14:09:42.503714", "stderr": "", "stderr_lines": [], "stdout": " 14:09:42 up 20 days, 17:04, 0 user, load average: 0.64, 0.56, 0.54", "stdout_lines": [" 14:09:42 up 20 days, 17:04, 0 user, load average: 0.64, 0.56, 0.54"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003781", "end": "2025-12-17 14:09:49.137927", "msg": "", "rc": 0, "start": "2025-12-17 14:09:49.134146", "stderr": "", "stderr_lines": [], "stdout": " 14:09:49 up 17 days, 3:25, 0 user, load average: 0.35, 0.43, 0.39", "stdout_lines": [" 14:09:49 up 17 days, 3:25, 0 user, load average: 0.35, 0.43, 0.39"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004341", "end": "2025-12-17 11:10:13.046774", "msg": "", "rc": 0, "start": "2025-12-17 11:10:13.042433", "stderr": "", "stderr_lines": [], "stdout": "11:10AM up 22 days, 1 hr, 1 user, load averages: 0.15, 0.19, 0.16", "stdout_lines": ["11:10AM up 22 days, 1 hr, 1 user, load averages: 0.15, 0.19, 0.16"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019467", "end": "2025-12-17 14:10:12.945630", "msg": "", "rc": 0, "start": "2025-12-17 14:10:12.926163", "stderr": "", "stderr_lines": [], "stdout": " 14:10:12 up 15 days, 3:36, 1 user, load average: 0.13, 0.12, 0.09", "stdout_lines": [" 14:10:12 up 15 days, 3:36, 1 user, load average: 0.13, 0.12, 0.09"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003663", "end": "2025-12-17 14:10:13.180214", "msg": "", "rc": 0, "start": "2025-12-17 14:10:13.176551", "stderr": "", "stderr_lines": [], "stdout": " 14:10:13 up 3 days, 3:41, 1 user, load average: 0.12, 0.07, 0.01", "stdout_lines": [" 14:10:13 up 3 days, 3:41, 1 user, load average: 0.12, 0.07, 0.01"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008641", "end": "2025-12-17 14:10:13.566255", "msg": "", "rc": 0, "start": "2025-12-17 14:10:13.557614", "stderr": "", "stderr_lines": [], "stdout": " 14:10:13 up 1:10, 1 user, load average: 1.26, 1.19, 1.13", "stdout_lines": [" 14:10:13 up 1:10, 1 user, load average: 1.26, 1.19, 1.13"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004287", "end": "2025-12-17 14:10:13.850108", "msg": "", "rc": 0, "start": "2025-12-17 14:10:13.845821", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004800", "end": "2025-12-17 14:10:13.877050", "msg": "", "rc": 0, "start": "2025-12-17 14:10:13.872250", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004200", "end": "2025-12-17 14:10:13.884144", "msg": "", "rc": 0, "start": "2025-12-17 14:10:13.879944", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004568", "end": "2025-12-17 14:10:13.889716", "msg": "", "rc": 0, "start": "2025-12-17 14:10:13.885148", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005643", "end": "2025-12-17 14:10:13.923360", "msg": "", "rc": 0, "start": "2025-12-17 14:10:13.917717", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005538", "end": "2025-12-17 14:09:47.892402", "msg": "", "rc": 0, "start": "2025-12-17 14:09:47.886864", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005285", "end": "2025-12-17 14:09:41.437135", "msg": "", "rc": 0, "start": "2025-12-17 14:09:41.431850", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010501", "end": "2025-12-17 14:10:14.621398", "msg": "", "rc": 0, "start": "2025-12-17 14:10:14.610897", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011520", "end": "2025-12-17 14:10:14.658269", "msg": "", "rc": 0, "start": "2025-12-17 14:10:14.646749", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005749", "end": "2025-12-17 14:10:14.845615", "msg": "", "rc": 0, "start": "2025-12-17 14:10:14.839866", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005356", "end": "2025-12-17 14:09:44.609000", "msg": "", "rc": 0, "start": "2025-12-17 14:09:44.603644", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005484", "end": "2025-12-17 11:10:15.124184", "msg": "", "rc": 0, "start": "2025-12-17 11:10:15.118700", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004540", "end": "2025-12-17 14:09:51.268677", "msg": "", "rc": 0, "start": "2025-12-17 14:09:51.264137", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005449", "end": "2025-12-17 14:10:15.274604", "msg": "", "rc": 0, "start": "2025-12-17 14:10:15.269155", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021767", "end": "2025-12-17 14:10:15.498658", "msg": "", "rc": 0, "start": "2025-12-17 14:10:15.476891", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025653", "end": "2025-12-17 14:10:15.243860", "msg": "", "rc": 0, "start": "2025-12-17 14:10:15.218207", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004848", "end": "2025-12-17 14:10:15.758387", "msg": "", "rc": 0, "start": "2025-12-17 14:10:15.753539", "stderr": "", "stderr_lines": [], "stdout": "77.4%", "stdout_lines": ["77.4%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004263", "end": "2025-12-17 14:10:15.769453", "msg": "", "rc": 0, "start": "2025-12-17 14:10:15.765190", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004665", "end": "2025-12-17 14:10:15.784602", "msg": "", "rc": 0, "start": "2025-12-17 14:10:15.779937", "stderr": "", "stderr_lines": [], "stdout": "49.3%", "stdout_lines": ["49.3%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.007054", "end": "2025-12-17 14:10:15.801983", "msg": "", "rc": 0, "start": "2025-12-17 14:10:15.794929", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005603", "end": "2025-12-17 14:10:15.810181", "msg": "", "rc": 0, "start": "2025-12-17 14:10:15.804578", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003804", "end": "2025-12-17 14:09:49.768321", "msg": "", "rc": 0, "start": "2025-12-17 14:09:49.764517", "stderr": "", "stderr_lines": [], "stdout": "70.8%", "stdout_lines": ["70.8%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004265", "end": "2025-12-17 14:09:43.315504", "msg": "", "rc": 0, "start": "2025-12-17 14:09:43.311239", "stderr": "", "stderr_lines": [], "stdout": "69.0%", "stdout_lines": ["69.0%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011059", "end": "2025-12-17 14:10:16.441512", "msg": "", "rc": 0, "start": "2025-12-17 14:10:16.430453", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012178", "end": "2025-12-17 14:10:16.481296", "msg": "", "rc": 0, "start": "2025-12-17 14:10:16.469118", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.9%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005715", "end": "2025-12-17 14:10:16.707404", "msg": "", "rc": 0, "start": "2025-12-17 14:10:16.701689", "stderr": "", "stderr_lines": [], "stdout": "35.5%", "stdout_lines": ["35.5%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004773", "end": "2025-12-17 14:09:46.486839", "msg": "", "rc": 0, "start": "2025-12-17 14:09:46.482066", "stderr": "", "stderr_lines": [], "stdout": "27.3%", "stdout_lines": ["27.3%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003527", "end": "2025-12-17 14:09:53.064391", "msg": "", "rc": 0, "start": "2025-12-17 14:09:53.060864", "stderr": "", "stderr_lines": [], "stdout": "56.3%", "stdout_lines": ["56.3%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005194", "end": "2025-12-17 11:10:16.938400", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 11:10:16.933206", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005488", "end": "2025-12-17 14:10:17.135303", "msg": "", "rc": 0, "start": "2025-12-17 14:10:17.129815", "stderr": "", "stderr_lines": [], "stdout": "14.1%", "stdout_lines": ["14.1%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010594", "end": "2025-12-17 14:10:17.428151", "msg": "", "rc": 0, "start": "2025-12-17 14:10:17.417557", "stderr": "", "stderr_lines": [], "stdout": "21.5%", "stdout_lines": ["21.5%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025989", "end": "2025-12-17 14:10:17.143298", "msg": "", "rc": 0, "start": "2025-12-17 14:10:17.117309", "stderr": "", "stderr_lines": [], "stdout": "20.7%", "stdout_lines": ["20.7%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005573", "end": "2025-12-17 14:10:17.690143", "msg": "", "rc": 0, "start": "2025-12-17 14:10:17.684570", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005245", "end": "2025-12-17 14:10:17.714883", "msg": "", "rc": 0, "start": "2025-12-17 14:10:17.709638", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003071", "end": "2025-12-17 14:10:17.725190", "msg": "", "rc": 0, "start": "2025-12-17 14:10:17.722119", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.007204", "end": "2025-12-17 14:10:17.740219", "msg": "", "rc": 0, "start": "2025-12-17 14:10:17.733015", "stderr": "", "stderr_lines": [], "stdout": "52.5°C", "stdout_lines": ["52.5°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006869", "end": "2025-12-17 14:10:17.741784", "msg": "", "rc": 0, "start": "2025-12-17 14:10:17.734915", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002417", "end": "2025-12-17 14:09:51.716726", "msg": "", "rc": 0, "start": "2025-12-17 14:09:51.714309", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002887", "end": "2025-12-17 14:09:45.267169", "msg": "", "rc": 0, "start": "2025-12-17 14:09:45.264282", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011893", "end": "2025-12-17 14:10:18.381353", "msg": "", "rc": 0, "start": "2025-12-17 14:10:18.369460", "stderr": "", "stderr_lines": [], "stdout": "31.6°C", "stdout_lines": ["31.6°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013104", "end": "2025-12-17 14:10:18.423085", "msg": "", "rc": 0, "start": "2025-12-17 14:10:18.409981", "stderr": "", "stderr_lines": [], "stdout": "36.0°C", "stdout_lines": ["36.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003373", "end": "2025-12-17 14:10:18.655802", "msg": "", "rc": 0, "start": "2025-12-17 14:10:18.652429", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002824", "end": "2025-12-17 14:09:48.442125", "msg": "", "rc": 0, "start": "2025-12-17 14:09:48.439301", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003939", "end": "2025-12-17 11:10:18.894329", "msg": "", "rc": 0, "start": "2025-12-17 11:10:18.890390", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002995", "end": "2025-12-17 14:09:55.042452", "msg": "", "rc": 0, "start": "2025-12-17 14:09:55.039457", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003185", "end": "2025-12-17 14:10:19.090779", "msg": "", "rc": 0, "start": "2025-12-17 14:10:19.087594", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004391", "end": "2025-12-17 14:10:19.492396", "msg": "", "rc": 0, "start": "2025-12-17 14:10:19.488005", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028694", "end": "2025-12-17 14:10:19.073978", "msg": "", "rc": 0, "start": "2025-12-17 14:10:19.045284", "stderr": "", "stderr_lines": [], "stdout": "35.6°C", "stdout_lines": ["35.6°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004240", "end": "2025-12-17 14:10:19.612471", "msg": "", "rc": 0, "start": "2025-12-17 14:10:19.608231", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004058", "end": "2025-12-17 14:10:19.622488", "msg": "", "rc": 0, "start": "2025-12-17 14:10:19.618430", "stderr": "", "stderr_lines": [], "stdout": "0.48", "stdout_lines": ["0.48"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004721", "end": "2025-12-17 14:10:19.640985", "msg": "", "rc": 0, "start": "2025-12-17 14:10:19.636264", "stderr": "", "stderr_lines": [], "stdout": "1.01", "stdout_lines": ["1.01"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005253", "end": "2025-12-17 14:10:19.667969", "msg": "", "rc": 0, "start": "2025-12-17 14:10:19.662716", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005251", "end": "2025-12-17 14:10:19.670316", "msg": "", "rc": 0, "start": "2025-12-17 14:10:19.665065", "stderr": "", "stderr_lines": [], "stdout": "0.61", "stdout_lines": ["0.61"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004941", "end": "2025-12-17 14:09:53.639725", "msg": "", "rc": 0, "start": "2025-12-17 14:09:53.634784", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005065", "end": "2025-12-17 14:09:47.188390", "msg": "", "rc": 0, "start": "2025-12-17 14:09:47.183325", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010006", "end": "2025-12-17 14:10:20.320108", "msg": "", "rc": 0, "start": "2025-12-17 14:10:20.310102", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011104", "end": "2025-12-17 14:10:20.347567", "msg": "", "rc": 0, "start": "2025-12-17 14:10:20.336463", "stderr": "", "stderr_lines": [], "stdout": "0.64", "stdout_lines": ["0.64"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005679", "end": "2025-12-17 14:10:20.592654", "msg": "", "rc": 0, "start": "2025-12-17 14:10:20.586975", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005088", "end": "2025-12-17 14:09:50.381138", "msg": "", "rc": 0, "start": "2025-12-17 14:09:50.376050", "stderr": "", "stderr_lines": [], "stdout": "0.61", "stdout_lines": ["0.61"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006064", "end": "2025-12-17 11:10:20.906466", "msg": "", "rc": 0, "start": "2025-12-17 11:10:20.900402", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004329", "end": "2025-12-17 14:09:57.071564", "msg": "", "rc": 0, "start": "2025-12-17 14:09:57.067235", "stderr": "", "stderr_lines": [], "stdout": "0.30", "stdout_lines": ["0.30"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005320", "end": "2025-12-17 14:10:21.053426", "msg": "", "rc": 0, "start": "2025-12-17 14:10:21.048106", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010335", "end": "2025-12-17 14:10:21.496350", "msg": "", "rc": 0, "start": "2025-12-17 14:10:21.486015", "stderr": "", "stderr_lines": [], "stdout": "1.37", "stdout_lines": ["1.37"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.027376", "end": "2025-12-17 14:10:21.197458", "msg": "", "rc": 0, "start": "2025-12-17 14:10:21.170082", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:10:11 up 3 days, 3:42, 1 user, load average: 0.48, 0.22, 0.19\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.48\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:10:11 up 22 days, 1:01, 1 user, load average: 0.18, 0.14, 0.10\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.23\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:10:11 up 22 days, 1:21, 1 user, load average: 1.10, 0.92, 0.84\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 1.01\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:10:11 up 22 days, 2:34, 1 user, load average: 0.72, 0.63, 0.64\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.61\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:10:11 up 22 days, 3:20, 1 user, load average: 0.10, 0.05, 0.01\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:10:12 up 15 days, 3:36, 1 user, load average: 0.13, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 20.7%\nCPU Load: 0.27\nCPU Temp: 35.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:10:12 up 194 days, 5:43, 1 user, load average: 0.19, 0.27, 0.22\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.64\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:10:12 up 194 days, 5:43, 1 user, load average: 0.16, 0.19, 0.14\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.22\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:09:45 up 11 days, 1:59, 0 user, load average: 0.02, 0.07, 0.08\nDisk Usage: 48%\nMemory Usage: 70.8%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:09:39 up 17 days, 22:11, 0 user, load average: 0.07, 0.04, 0.00\nDisk Usage: 24%\nMemory Usage: 69.0%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:10:12 up 3 days, 3:41, 1 user, load average: 0.15, 0.05, 0.01\nDisk Usage: 1%\nMemory Usage: 35.5%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:09:42 up 20 days, 17:04, 0 user, load average: 0.64, 0.56, 0.54\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.61\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:09:49 up 17 days, 3:25, 0 user, load average: 0.35, 0.43, 0.39\nDisk Usage: 76%\nMemory Usage: 56.3%\nCPU Load: 0.30\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:10AM up 22 days, 1 hr, 1 user, load averages: 0.15, 0.19, 0.16\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:10:13 up 3 days, 3:41, 1 user, load average: 0.12, 0.07, 0.01\nDisk Usage: 79%\nMemory Usage: 14.1%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:10:13 up 1:10, 1 user, load average: 1.26, 1.19, 1.13\nDisk Usage: 1%\nMemory Usage: 21.5%\nCPU Load: 1.37\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T19:10:22.649765+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `31f78954f1c8452c88499a8c89844607` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T19:15:00.003926+00:00 |
| **Fin** | 2025-12-17T19:15:23.234499+00:00 |
| **Durée** | 23.2s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003731", "end": "2025-12-17 14:15:11.487755", "msg": "", "rc": 0, "start": "2025-12-17 14:15:11.484024", "stderr": "", "stderr_lines": [], "stdout": " 14:15:11 up 22 days, 3:25, 1 user, load average: 0.08, 0.06, 0.01", "stdout_lines": [" 14:15:11 up 22 days, 3:25, 1 user, load average: 0.08, 0.06, 0.01"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003344", "end": "2025-12-17 14:15:11.483738", "msg": "", "rc": 0, "start": "2025-12-17 14:15:11.480394", "stderr": "", "stderr_lines": [], "stdout": " 14:15:11 up 22 days, 1:26, 1 user, load average: 1.04, 0.97, 0.88", "stdout_lines": [" 14:15:11 up 22 days, 1:26, 1 user, load average: 1.04, 0.97, 0.88"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004145", "end": "2025-12-17 14:15:11.497622", "msg": "", "rc": 0, "start": "2025-12-17 14:15:11.493477", "stderr": "", "stderr_lines": [], "stdout": " 14:15:11 up 22 days, 2:39, 1 user, load average: 0.50, 0.50, 0.58", "stdout_lines": [" 14:15:11 up 22 days, 2:39, 1 user, load average: 0.50, 0.50, 0.58"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002834", "end": "2025-12-17 14:15:11.508779", "msg": "", "rc": 0, "start": "2025-12-17 14:15:11.505945", "stderr": "", "stderr_lines": [], "stdout": " 14:15:11 up 3 days, 3:47, 1 user, load average: 0.39, 0.21, 0.19", "stdout_lines": [" 14:15:11 up 3 days, 3:47, 1 user, load average: 0.39, 0.21, 0.19"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002977", "end": "2025-12-17 14:14:45.528433", "msg": "", "rc": 0, "start": "2025-12-17 14:14:45.525456", "stderr": "", "stderr_lines": [], "stdout": " 14:14:45 up 11 days, 2:04, 0 user, load average: 0.08, 0.10, 0.09", "stdout_lines": [" 14:14:45 up 11 days, 2:04, 0 user, load average: 0.08, 0.10, 0.09"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008431", "end": "2025-12-17 14:15:12.173598", "msg": "", "rc": 0, "start": "2025-12-17 14:15:12.165167", "stderr": "", "stderr_lines": [], "stdout": " 14:15:12 up 194 days, 5:48, 1 user, load average: 0.29, 0.30, 0.20", "stdout_lines": [" 14:15:12 up 194 days, 5:48, 1 user, load average: 0.29, 0.30, 0.20"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009464", "end": "2025-12-17 14:15:12.230657", "msg": "", "rc": 0, "start": "2025-12-17 14:15:12.221193", "stderr": "", "stderr_lines": [], "stdout": " 14:15:12 up 194 days, 5:48, 1 user, load average: 0.26, 0.31, 0.27", "stdout_lines": [" 14:15:12 up 194 days, 5:48, 1 user, load average: 0.26, 0.31, 0.27"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004334", "end": "2025-12-17 14:15:12.465580", "msg": "", "rc": 0, "start": "2025-12-17 14:15:11.461246", "stderr": "", "stderr_lines": [], "stdout": " 14:15:11 up 22 days, 1:06, 1 user, load average: 0.07, 0.12, 0.09", "stdout_lines": [" 14:15:11 up 22 days, 1:06, 1 user, load average: 0.07, 0.12, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006633", "end": "2025-12-17 14:14:39.553070", "msg": "", "rc": 0, "start": "2025-12-17 14:14:39.546437", "stderr": "", "stderr_lines": [], "stdout": " 14:14:39 up 17 days, 22:16, 0 user, load average: 0.05, 0.04, 0.00", "stdout_lines": [" 14:14:39 up 17 days, 22:16, 0 user, load average: 0.05, 0.04, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004741", "end": "2025-12-17 14:15:12.688403", "msg": "", "rc": 0, "start": "2025-12-17 14:15:12.683662", "stderr": "", "stderr_lines": [], "stdout": " 14:15:12 up 3 days, 3:46, 1 user, load average: 0.08, 0.04, 0.00", "stdout_lines": [" 14:15:12 up 3 days, 3:46, 1 user, load average: 0.08, 0.04, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003350", "end": "2025-12-17 14:14:42.452897", "msg": "", "rc": 0, "start": "2025-12-17 14:14:42.449547", "stderr": "", "stderr_lines": [], "stdout": " 14:14:42 up 20 days, 17:09, 0 user, load average: 0.48, 0.49, 0.52", "stdout_lines": [" 14:14:42 up 20 days, 17:09, 0 user, load average: 0.48, 0.49, 0.52"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002796", "end": "2025-12-17 14:14:49.044861", "msg": "", "rc": 0, "start": "2025-12-17 14:14:49.042065", "stderr": "", "stderr_lines": [], "stdout": " 14:14:49 up 17 days, 3:30, 0 user, load average: 0.41, 0.44, 0.41", "stdout_lines": [" 14:14:49 up 17 days, 3:30, 0 user, load average: 0.41, 0.44, 0.41"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004192", "end": "2025-12-17 11:15:13.014558", "msg": "", "rc": 0, "start": "2025-12-17 11:15:13.010366", "stderr": "", "stderr_lines": [], "stdout": "11:15AM up 22 days, 1:05, 1 user, load averages: 0.19, 0.21, 0.17", "stdout_lines": ["11:15AM up 22 days, 1:05, 1 user, load averages: 0.19, 0.21, 0.17"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019390", "end": "2025-12-17 14:15:12.898928", "msg": "", "rc": 0, "start": "2025-12-17 14:15:12.879538", "stderr": "", "stderr_lines": [], "stdout": " 14:15:12 up 15 days, 3:41, 1 user, load average: 0.21, 0.16, 0.10", "stdout_lines": [" 14:15:12 up 15 days, 3:41, 1 user, load average: 0.21, 0.16, 0.10"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003706", "end": "2025-12-17 14:15:13.133648", "msg": "", "rc": 0, "start": "2025-12-17 14:15:13.129942", "stderr": "", "stderr_lines": [], "stdout": " 14:15:13 up 3 days, 3:46, 1 user, load average: 0.06, 0.11, 0.04", "stdout_lines": [" 14:15:13 up 3 days, 3:46, 1 user, load average: 0.06, 0.11, 0.04"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008784", "end": "2025-12-17 14:15:13.717139", "msg": "", "rc": 0, "start": "2025-12-17 14:15:13.708355", "stderr": "", "stderr_lines": [], "stdout": " 14:15:13 up 1:15, 1 user, load average: 1.25, 1.20, 1.14", "stdout_lines": [" 14:15:13 up 1:15, 1 user, load average: 1.25, 1.20, 1.14"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004283", "end": "2025-12-17 14:15:13.697280", "msg": "", "rc": 0, "start": "2025-12-17 14:15:13.692997", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004378", "end": "2025-12-17 14:15:13.707899", "msg": "", "rc": 0, "start": "2025-12-17 14:15:13.703521", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005579", "end": "2025-12-17 14:15:13.749052", "msg": "", "rc": 0, "start": "2025-12-17 14:15:13.743473", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004437", "end": "2025-12-17 14:15:13.796596", "msg": "", "rc": 0, "start": "2025-12-17 14:15:13.792159", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.015499", "end": "2025-12-17 14:15:13.809204", "msg": "", "rc": 0, "start": "2025-12-17 14:15:13.793705", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006182", "end": "2025-12-17 14:14:47.829941", "msg": "", "rc": 0, "start": "2025-12-17 14:14:47.823759", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006388", "end": "2025-12-17 14:14:41.396545", "msg": "", "rc": 0, "start": "2025-12-17 14:14:41.390157", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010501", "end": "2025-12-17 14:15:14.539354", "msg": "", "rc": 0, "start": "2025-12-17 14:15:14.528853", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011768", "end": "2025-12-17 14:15:14.555128", "msg": "", "rc": 0, "start": "2025-12-17 14:15:14.543360", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005754", "end": "2025-12-17 14:15:14.793078", "msg": "", "rc": 0, "start": "2025-12-17 14:15:14.787324", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005311", "end": "2025-12-17 14:14:44.618262", "msg": "", "rc": 0, "start": "2025-12-17 14:14:44.612951", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005455", "end": "2025-12-17 11:15:15.039256", "msg": "", "rc": 0, "start": "2025-12-17 11:15:15.033801", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005508", "end": "2025-12-17 14:14:51.229437", "msg": "", "rc": 0, "start": "2025-12-17 14:14:51.223929", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005631", "end": "2025-12-17 14:15:15.242166", "msg": "", "rc": 0, "start": "2025-12-17 14:15:15.236535", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025588", "end": "2025-12-17 14:15:15.145283", "msg": "", "rc": 0, "start": "2025-12-17 14:15:15.119695", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025109", "end": "2025-12-17 14:15:15.960645", "msg": "", "rc": 0, "start": "2025-12-17 14:15:15.935536", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004134", "end": "2025-12-17 14:15:15.760559", "msg": "", "rc": 0, "start": "2025-12-17 14:15:15.756425", "stderr": "", "stderr_lines": [], "stdout": "22.6%", "stdout_lines": ["22.6%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004792", "end": "2025-12-17 14:15:15.760731", "msg": "", "rc": 0, "start": "2025-12-17 14:15:15.755939", "stderr": "", "stderr_lines": [], "stdout": "77.5%", "stdout_lines": ["77.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004707", "end": "2025-12-17 14:15:15.801716", "msg": "", "rc": 0, "start": "2025-12-17 14:15:15.797009", "stderr": "", "stderr_lines": [], "stdout": "49.4%", "stdout_lines": ["49.4%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005068", "end": "2025-12-17 14:15:15.806636", "msg": "", "rc": 0, "start": "2025-12-17 14:15:15.801568", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006239", "end": "2025-12-17 14:15:15.826380", "msg": "", "rc": 0, "start": "2025-12-17 14:15:15.820141", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004180", "end": "2025-12-17 14:14:49.798414", "msg": "", "rc": 0, "start": "2025-12-17 14:14:49.794234", "stderr": "", "stderr_lines": [], "stdout": "71.0%", "stdout_lines": ["71.0%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005065", "end": "2025-12-17 14:14:43.346615", "msg": "", "rc": 0, "start": "2025-12-17 14:14:43.341550", "stderr": "", "stderr_lines": [], "stdout": "68.5%", "stdout_lines": ["68.5%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012310", "end": "2025-12-17 14:15:16.469642", "msg": "", "rc": 0, "start": "2025-12-17 14:15:16.457332", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.8%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011022", "end": "2025-12-17 14:15:16.477795", "msg": "", "rc": 0, "start": "2025-12-17 14:15:16.466773", "stderr": "", "stderr_lines": [], "stdout": "6.8%", "stdout_lines": ["6.8%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006066", "end": "2025-12-17 14:15:16.741426", "msg": "", "rc": 0, "start": "2025-12-17 14:15:16.735360", "stderr": "", "stderr_lines": [], "stdout": "35.7%", "stdout_lines": ["35.7%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004433", "end": "2025-12-17 14:14:46.572028", "msg": "", "rc": 0, "start": "2025-12-17 14:14:46.567595", "stderr": "", "stderr_lines": [], "stdout": "27.2%", "stdout_lines": ["27.2%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005229", "end": "2025-12-17 11:15:17.003599", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 11:15:16.998370", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003941", "end": "2025-12-17 14:14:53.181587", "msg": "", "rc": 0, "start": "2025-12-17 14:14:53.177646", "stderr": "", "stderr_lines": [], "stdout": "56.0%", "stdout_lines": ["56.0%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005539", "end": "2025-12-17 14:15:17.184662", "msg": "", "rc": 0, "start": "2025-12-17 14:15:17.179123", "stderr": "", "stderr_lines": [], "stdout": "13.9%", "stdout_lines": ["13.9%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025951", "end": "2025-12-17 14:15:17.165616", "msg": "", "rc": 0, "start": "2025-12-17 14:15:17.139665", "stderr": "", "stderr_lines": [], "stdout": "19.5%", "stdout_lines": ["19.5%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010479", "end": "2025-12-17 14:15:17.991971", "msg": "", "rc": 0, "start": "2025-12-17 14:15:17.981492", "stderr": "", "stderr_lines": [], "stdout": "21.2%", "stdout_lines": ["21.2%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005081", "end": "2025-12-17 14:15:17.710967", "msg": "", "rc": 0, "start": "2025-12-17 14:15:17.705886", "stderr": "", "stderr_lines": [], "stdout": "46.0°C", "stdout_lines": ["46.0°C"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005337", "end": "2025-12-17 14:15:17.723649", "msg": "", "rc": 0, "start": "2025-12-17 14:15:17.718312", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003377", "end": "2025-12-17 14:15:17.767755", "msg": "", "rc": 0, "start": "2025-12-17 14:15:17.764378", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006062", "end": "2025-12-17 14:15:17.752827", "msg": "", "rc": 0, "start": "2025-12-17 14:15:17.746765", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006432", "end": "2025-12-17 14:15:17.786273", "msg": "", "rc": 0, "start": "2025-12-17 14:15:17.779841", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003691", "end": "2025-12-17 14:14:51.800385", "msg": "", "rc": 0, "start": "2025-12-17 14:14:51.796694", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003280", "end": "2025-12-17 14:14:45.324713", "msg": "", "rc": 0, "start": "2025-12-17 14:14:45.321433", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011867", "end": "2025-12-17 14:15:18.448538", "msg": "", "rc": 0, "start": "2025-12-17 14:15:18.436671", "stderr": "", "stderr_lines": [], "stdout": "32.6°C", "stdout_lines": ["32.6°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012935", "end": "2025-12-17 14:15:18.452851", "msg": "", "rc": 0, "start": "2025-12-17 14:15:18.439916", "stderr": "", "stderr_lines": [], "stdout": "37.5°C", "stdout_lines": ["37.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003383", "end": "2025-12-17 14:15:18.740625", "msg": "", "rc": 0, "start": "2025-12-17 14:15:18.737242", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002849", "end": "2025-12-17 14:14:48.518055", "msg": "", "rc": 0, "start": "2025-12-17 14:14:48.515206", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003863", "end": "2025-12-17 11:15:18.943177", "msg": "", "rc": 0, "start": "2025-12-17 11:15:18.939314", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002996", "end": "2025-12-17 14:14:55.115272", "msg": "", "rc": 0, "start": "2025-12-17 14:14:55.112276", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002909", "end": "2025-12-17 14:15:19.193008", "msg": "", "rc": 0, "start": "2025-12-17 14:15:19.190099", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004551", "end": "2025-12-17 14:15:20.012570", "msg": "", "rc": 0, "start": "2025-12-17 14:15:20.008019", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.032908", "end": "2025-12-17 14:15:19.151296", "msg": "", "rc": 0, "start": "2025-12-17 14:15:19.118388", "stderr": "", "stderr_lines": [], "stdout": "36.7°C", "stdout_lines": ["36.7°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004100", "end": "2025-12-17 14:15:19.724462", "msg": "", "rc": 0, "start": "2025-12-17 14:15:19.720362", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004012", "end": "2025-12-17 14:15:19.736429", "msg": "", "rc": 0, "start": "2025-12-17 14:15:19.732417", "stderr": "", "stderr_lines": [], "stdout": "0.48", "stdout_lines": ["0.48"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004814", "end": "2025-12-17 14:15:19.757485", "msg": "", "rc": 0, "start": "2025-12-17 14:15:19.752671", "stderr": "", "stderr_lines": [], "stdout": "1.03", "stdout_lines": ["1.03"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005312", "end": "2025-12-17 14:15:19.789134", "msg": "", "rc": 0, "start": "2025-12-17 14:15:19.783822", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005112", "end": "2025-12-17 14:15:19.785393", "msg": "", "rc": 0, "start": "2025-12-17 14:15:19.780281", "stderr": "", "stderr_lines": [], "stdout": "0.57", "stdout_lines": ["0.57"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004553", "end": "2025-12-17 14:14:53.791387", "msg": "", "rc": 0, "start": "2025-12-17 14:14:53.786834", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005050", "end": "2025-12-17 14:14:47.312009", "msg": "", "rc": 0, "start": "2025-12-17 14:14:47.306959", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010240", "end": "2025-12-17 14:15:20.431151", "msg": "", "rc": 0, "start": "2025-12-17 14:15:20.420911", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011276", "end": "2025-12-17 14:15:20.465151", "msg": "", "rc": 0, "start": "2025-12-17 14:15:20.453875", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005567", "end": "2025-12-17 14:15:20.762010", "msg": "", "rc": 0, "start": "2025-12-17 14:15:20.756443", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005154", "end": "2025-12-17 14:14:50.493559", "msg": "", "rc": 0, "start": "2025-12-17 14:14:50.488405", "stderr": "", "stderr_lines": [], "stdout": "0.56", "stdout_lines": ["0.56"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006069", "end": "2025-12-17 11:15:20.958873", "msg": "", "rc": 0, "start": "2025-12-17 11:15:20.952804", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004470", "end": "2025-12-17 14:14:57.100686", "msg": "", "rc": 0, "start": "2025-12-17 14:14:57.096216", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006023", "end": "2025-12-17 14:15:21.198340", "msg": "", "rc": 0, "start": "2025-12-17 14:15:21.192317", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.009308", "end": "2025-12-17 14:15:22.047050", "msg": "", "rc": 0, "start": "2025-12-17 14:15:22.037742", "stderr": "", "stderr_lines": [], "stdout": "1.39", "stdout_lines": ["1.39"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.028268", "end": "2025-12-17 14:15:21.345385", "msg": "", "rc": 0, "start": "2025-12-17 14:15:21.317117", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:15:11 up 3 days, 3:47, 1 user, load average: 0.39, 0.21, 0.19\nDisk Usage: 22%\nMemory Usage: 22.6%\nCPU Load: 0.48\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:15:11 up 22 days, 1:06, 1 user, load average: 0.07, 0.12, 0.09\nDisk Usage: 23%\nMemory Usage: 77.5%\nCPU Load: 0.14\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:15:11 up 22 days, 1:26, 1 user, load average: 1.04, 0.97, 0.88\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 1.03\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:15:11 up 22 days, 2:39, 1 user, load average: 0.50, 0.50, 0.58\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.57\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:15:11 up 22 days, 3:25, 1 user, load average: 0.08, 0.06, 0.01\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:15:12 up 15 days, 3:41, 1 user, load average: 0.21, 0.16, 0.10\nDisk Usage: 21%\nMemory Usage: 19.5%\nCPU Load: 0.34\nCPU Temp: 36.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:15:12 up 194 days, 5:48, 1 user, load average: 0.26, 0.31, 0.27\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.29\nCPU Temp: 37.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:15:12 up 194 days, 5:48, 1 user, load average: 0.29, 0.30, 0.20\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.33\nCPU Temp: 32.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:14:45 up 11 days, 2:04, 0 user, load average: 0.08, 0.10, 0.09\nDisk Usage: 48%\nMemory Usage: 71.0%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:14:39 up 17 days, 22:16, 0 user, load average: 0.05, 0.04, 0.00\nDisk Usage: 24%\nMemory Usage: 68.5%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:15:12 up 3 days, 3:46, 1 user, load average: 0.08, 0.04, 0.00\nDisk Usage: 1%\nMemory Usage: 35.7%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:14:42 up 20 days, 17:09, 0 user, load average: 0.48, 0.49, 0.52\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.56\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:14:49 up 17 days, 3:30, 0 user, load average: 0.41, 0.44, 0.41\nDisk Usage: 76%\nMemory Usage: 56.0%\nCPU Load: 0.42\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:15AM up 22 days, 1:05, 1 user, load averages: 0.19, 0.21, 0.17\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:15:13 up 3 days, 3:46, 1 user, load average: 0.06, 0.11, 0.04\nDisk Usage: 79%\nMemory Usage: 13.9%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:15:13 up 1:15, 1 user, load average: 1.25, 1.20, 1.14\nDisk Usage: 1%\nMemory Usage: 21.2%\nCPU Load: 1.39\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T19:15:23.319516+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `8545477a6468412d9f4c7da44128be53` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T19:20:00.002170+00:00 |
| **Fin** | 2025-12-17T19:20:22.347027+00:00 |
| **Durée** | 22.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003244", "end": "2025-12-17 14:20:11.578703", "msg": "", "rc": 0, "start": "2025-12-17 14:20:11.575459", "stderr": "", "stderr_lines": [], "stdout": " 14:20:11 up 22 days, 1:11, 1 user, load average: 0.00, 0.06, 0.07", "stdout_lines": [" 14:20:11 up 22 days, 1:11, 1 user, load average: 0.00, 0.06, 0.07"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003347", "end": "2025-12-17 14:20:11.590863", "msg": "", "rc": 0, "start": "2025-12-17 14:20:11.587516", "stderr": "", "stderr_lines": [], "stdout": " 14:20:11 up 22 days, 1:31, 1 user, load average: 0.67, 0.80, 0.83", "stdout_lines": [" 14:20:11 up 22 days, 1:31, 1 user, load average: 0.67, 0.80, 0.83"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003598", "end": "2025-12-17 14:20:11.600262", "msg": "", "rc": 0, "start": "2025-12-17 14:20:11.596664", "stderr": "", "stderr_lines": [], "stdout": " 14:20:11 up 22 days, 3:30, 1 user, load average: 0.03, 0.04, 0.00", "stdout_lines": [" 14:20:11 up 22 days, 3:30, 1 user, load average: 0.03, 0.04, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002861", "end": "2025-12-17 14:20:11.623718", "msg": "", "rc": 0, "start": "2025-12-17 14:20:11.620857", "stderr": "", "stderr_lines": [], "stdout": " 14:20:11 up 3 days, 3:52, 1 user, load average: 0.66, 0.29, 0.21", "stdout_lines": [" 14:20:11 up 3 days, 3:52, 1 user, load average: 0.66, 0.29, 0.21"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004231", "end": "2025-12-17 14:20:11.619097", "msg": "", "rc": 0, "start": "2025-12-17 14:20:11.614866", "stderr": "", "stderr_lines": [], "stdout": " 14:20:11 up 22 days, 2:44, 1 user, load average: 0.51, 0.53, 0.56", "stdout_lines": [" 14:20:11 up 22 days, 2:44, 1 user, load average: 0.51, 0.53, 0.56"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003478", "end": "2025-12-17 14:19:45.617836", "msg": "", "rc": 0, "start": "2025-12-17 14:19:45.614358", "stderr": "", "stderr_lines": [], "stdout": " 14:19:45 up 11 days, 2:09, 0 user, load average: 0.05, 0.10, 0.09", "stdout_lines": [" 14:19:45 up 11 days, 2:09, 0 user, load average: 0.05, 0.10, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003705", "end": "2025-12-17 14:19:39.143077", "msg": "", "rc": 0, "start": "2025-12-17 14:19:39.139372", "stderr": "", "stderr_lines": [], "stdout": " 14:19:39 up 17 days, 22:21, 0 user, load average: 0.02, 0.03, 0.00", "stdout_lines": [" 14:19:39 up 17 days, 22:21, 0 user, load average: 0.02, 0.03, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008387", "end": "2025-12-17 14:20:12.276289", "msg": "", "rc": 0, "start": "2025-12-17 14:20:12.267902", "stderr": "", "stderr_lines": [], "stdout": " 14:20:12 up 194 days, 5:53, 1 user, load average: 0.14, 0.23, 0.18", "stdout_lines": [" 14:20:12 up 194 days, 5:53, 1 user, load average: 0.14, 0.23, 0.18"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009255", "end": "2025-12-17 14:20:12.318992", "msg": "", "rc": 0, "start": "2025-12-17 14:20:12.309737", "stderr": "", "stderr_lines": [], "stdout": " 14:20:12 up 194 days, 5:53, 1 user, load average: 0.29, 0.28, 0.27", "stdout_lines": [" 14:20:12 up 194 days, 5:53, 1 user, load average: 0.29, 0.28, 0.27"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004720", "end": "2025-12-17 14:20:12.580666", "msg": "", "rc": 0, "start": "2025-12-17 14:20:12.575946", "stderr": "", "stderr_lines": [], "stdout": " 14:20:12 up 3 days, 3:51, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 14:20:12 up 3 days, 3:51, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003218", "end": "2025-12-17 14:19:42.339800", "msg": "", "rc": 0, "start": "2025-12-17 14:19:42.336582", "stderr": "", "stderr_lines": [], "stdout": " 14:19:42 up 20 days, 17:14, 0 user, load average: 0.53, 0.47, 0.49", "stdout_lines": [" 14:19:42 up 20 days, 17:14, 0 user, load average: 0.53, 0.47, 0.49"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003492", "end": "2025-12-17 14:19:48.922648", "msg": "", "rc": 0, "start": "2025-12-17 14:19:48.919156", "stderr": "", "stderr_lines": [], "stdout": " 14:19:48 up 17 days, 3:35, 0 user, load average: 0.17, 0.25, 0.33", "stdout_lines": [" 14:19:48 up 17 days, 3:35, 0 user, load average: 0.17, 0.25, 0.33"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004272", "end": "2025-12-17 11:20:12.824713", "msg": "", "rc": 0, "start": "2025-12-17 11:20:12.820441", "stderr": "", "stderr_lines": [], "stdout": "11:20AM up 22 days, 1:10, 1 user, load averages: 0.06, 0.14, 0.15", "stdout_lines": ["11:20AM up 22 days, 1:10, 1 user, load averages: 0.06, 0.14, 0.15"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003704", "end": "2025-12-17 14:20:13.039395", "msg": "", "rc": 0, "start": "2025-12-17 14:20:13.035691", "stderr": "", "stderr_lines": [], "stdout": " 14:20:13 up 3 days, 3:51, 1 user, load average: 0.15, 0.06, 0.02", "stdout_lines": [" 14:20:13 up 3 days, 3:51, 1 user, load average: 0.15, 0.06, 0.02"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019766", "end": "2025-12-17 14:20:12.975959", "msg": "", "rc": 0, "start": "2025-12-17 14:20:12.956193", "stderr": "", "stderr_lines": [], "stdout": " 14:20:12 up 15 days, 3:46, 1 user, load average: 0.21, 0.17, 0.11", "stdout_lines": [" 14:20:12 up 15 days, 3:46, 1 user, load average: 0.21, 0.17, 0.11"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007239", "end": "2025-12-17 14:20:14.087847", "msg": "", "rc": 0, "start": "2025-12-17 14:20:14.080608", "stderr": "", "stderr_lines": [], "stdout": " 14:20:14 up 1:20, 1 user, load average: 1.51, 1.29, 1.20", "stdout_lines": [" 14:20:14 up 1:20, 1 user, load average: 1.51, 1.29, 1.20"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004297", "end": "2025-12-17 14:20:13.510535", "msg": "", "rc": 0, "start": "2025-12-17 14:20:13.506238", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004023", "end": "2025-12-17 14:20:13.531633", "msg": "", "rc": 0, "start": "2025-12-17 14:20:13.527610", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004716", "end": "2025-12-17 14:20:13.541432", "msg": "", "rc": 0, "start": "2025-12-17 14:20:13.536716", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004465", "end": "2025-12-17 14:20:13.568513", "msg": "", "rc": 0, "start": "2025-12-17 14:20:13.564048", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005718", "end": "2025-12-17 14:20:13.589988", "msg": "", "rc": 0, "start": "2025-12-17 14:20:13.584270", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004920", "end": "2025-12-17 14:19:47.693759", "msg": "", "rc": 0, "start": "2025-12-17 14:19:47.688839", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005770", "end": "2025-12-17 14:19:41.273296", "msg": "", "rc": 0, "start": "2025-12-17 14:19:41.267526", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011698", "end": "2025-12-17 14:20:14.378127", "msg": "", "rc": 0, "start": "2025-12-17 14:20:14.366429", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010696", "end": "2025-12-17 14:20:14.394724", "msg": "", "rc": 0, "start": "2025-12-17 14:20:14.384028", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005720", "end": "2025-12-17 14:20:14.654380", "msg": "", "rc": 0, "start": "2025-12-17 14:20:14.648660", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005470", "end": "2025-12-17 11:20:14.861145", "msg": "", "rc": 0, "start": "2025-12-17 11:20:14.855675", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005667", "end": "2025-12-17 14:19:44.471176", "msg": "", "rc": 0, "start": "2025-12-17 14:19:44.465509", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005300", "end": "2025-12-17 14:19:51.031553", "msg": "", "rc": 0, "start": "2025-12-17 14:19:51.026253", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005765", "end": "2025-12-17 14:20:15.090667", "msg": "", "rc": 0, "start": "2025-12-17 14:20:15.084902", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025323", "end": "2025-12-17 14:20:15.035883", "msg": "", "rc": 0, "start": "2025-12-17 14:20:15.010560", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011750", "end": "2025-12-17 14:20:16.263134", "msg": "", "rc": 0, "start": "2025-12-17 14:20:16.251384", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004797", "end": "2025-12-17 14:20:15.606799", "msg": "", "rc": 0, "start": "2025-12-17 14:20:15.602002", "stderr": "", "stderr_lines": [], "stdout": "77.4%", "stdout_lines": ["77.4%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004206", "end": "2025-12-17 14:20:15.617382", "msg": "", "rc": 0, "start": "2025-12-17 14:20:15.613176", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004753", "end": "2025-12-17 14:20:15.648891", "msg": "", "rc": 0, "start": "2025-12-17 14:20:15.644138", "stderr": "", "stderr_lines": [], "stdout": "49.4%", "stdout_lines": ["49.4%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004784", "end": "2025-12-17 14:20:15.665387", "msg": "", "rc": 0, "start": "2025-12-17 14:20:15.660603", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005496", "end": "2025-12-17 14:20:15.692575", "msg": "", "rc": 0, "start": "2025-12-17 14:20:15.687079", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004315", "end": "2025-12-17 14:19:49.689808", "msg": "", "rc": 0, "start": "2025-12-17 14:19:49.685493", "stderr": "", "stderr_lines": [], "stdout": "70.9%", "stdout_lines": ["70.9%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005891", "end": "2025-12-17 14:19:43.247228", "msg": "", "rc": 0, "start": "2025-12-17 14:19:43.241337", "stderr": "", "stderr_lines": [], "stdout": "68.5%", "stdout_lines": ["68.5%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011087", "end": "2025-12-17 14:20:16.324764", "msg": "", "rc": 0, "start": "2025-12-17 14:20:16.313677", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012250", "end": "2025-12-17 14:20:16.378130", "msg": "", "rc": 0, "start": "2025-12-17 14:20:16.365880", "stderr": "", "stderr_lines": [], "stdout": "13.0%", "stdout_lines": ["13.0%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005917", "end": "2025-12-17 14:20:16.644553", "msg": "", "rc": 0, "start": "2025-12-17 14:20:16.638636", "stderr": "", "stderr_lines": [], "stdout": "35.7%", "stdout_lines": ["35.7%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003827", "end": "2025-12-17 14:19:52.981357", "msg": "", "rc": 0, "start": "2025-12-17 14:19:52.977530", "stderr": "", "stderr_lines": [], "stdout": "55.6%", "stdout_lines": ["55.6%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005089", "end": "2025-12-17 11:20:16.864720", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 11:20:16.859631", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004324", "end": "2025-12-17 14:19:46.463726", "msg": "", "rc": 0, "start": "2025-12-17 14:19:46.459402", "stderr": "", "stderr_lines": [], "stdout": "27.1%", "stdout_lines": ["27.1%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005566", "end": "2025-12-17 14:20:17.087509", "msg": "", "rc": 0, "start": "2025-12-17 14:20:17.081943", "stderr": "", "stderr_lines": [], "stdout": "13.9%", "stdout_lines": ["13.9%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025774", "end": "2025-12-17 14:20:17.022089", "msg": "", "rc": 0, "start": "2025-12-17 14:20:16.996315", "stderr": "", "stderr_lines": [], "stdout": "20.3%", "stdout_lines": ["20.3%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012686", "end": "2025-12-17 14:20:17.827533", "msg": "", "rc": 0, "start": "2025-12-17 14:20:17.814847", "stderr": "", "stderr_lines": [], "stdout": "21.3%", "stdout_lines": ["21.3%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005557", "end": "2025-12-17 14:20:17.625214", "msg": "", "rc": 0, "start": "2025-12-17 14:20:17.619657", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004956", "end": "2025-12-17 14:20:17.641835", "msg": "", "rc": 0, "start": "2025-12-17 14:20:17.636879", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005691", "end": "2025-12-17 14:20:17.645650", "msg": "", "rc": 0, "start": "2025-12-17 14:20:17.639959", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003366", "end": "2025-12-17 14:20:17.654659", "msg": "", "rc": 0, "start": "2025-12-17 14:20:17.651293", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006915", "end": "2025-12-17 14:20:17.686947", "msg": "", "rc": 0, "start": "2025-12-17 14:20:17.680032", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002587", "end": "2025-12-17 14:19:51.644973", "msg": "", "rc": 0, "start": "2025-12-17 14:19:51.642386", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003139", "end": "2025-12-17 14:19:45.188854", "msg": "", "rc": 0, "start": "2025-12-17 14:19:45.185715", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011879", "end": "2025-12-17 14:20:18.331956", "msg": "", "rc": 0, "start": "2025-12-17 14:20:18.320077", "stderr": "", "stderr_lines": [], "stdout": "32.6°C", "stdout_lines": ["32.6°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013043", "end": "2025-12-17 14:20:18.379077", "msg": "", "rc": 0, "start": "2025-12-17 14:20:18.366034", "stderr": "", "stderr_lines": [], "stdout": "37.5°C", "stdout_lines": ["37.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003108", "end": "2025-12-17 14:20:18.615052", "msg": "", "rc": 0, "start": "2025-12-17 14:20:18.611944", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002671", "end": "2025-12-17 14:19:48.375671", "msg": "", "rc": 0, "start": "2025-12-17 14:19:48.373000", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002989", "end": "2025-12-17 14:19:54.978614", "msg": "", "rc": 0, "start": "2025-12-17 14:19:54.975625", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003963", "end": "2025-12-17 11:20:18.860677", "msg": "", "rc": 0, "start": "2025-12-17 11:20:18.856714", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003462", "end": "2025-12-17 14:20:19.048357", "msg": "", "rc": 0, "start": "2025-12-17 14:20:19.044895", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004173", "end": "2025-12-17 14:20:19.201416", "msg": "", "rc": 0, "start": "2025-12-17 14:20:19.197243", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028394", "end": "2025-12-17 14:20:19.032777", "msg": "", "rc": 0, "start": "2025-12-17 14:20:19.004383", "stderr": "", "stderr_lines": [], "stdout": "36.0°C", "stdout_lines": ["36.0°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004092", "end": "2025-12-17 14:20:19.582586", "msg": "", "rc": 0, "start": "2025-12-17 14:20:19.578494", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004666", "end": "2025-12-17 14:20:19.601085", "msg": "", "rc": 0, "start": "2025-12-17 14:20:19.596419", "stderr": "", "stderr_lines": [], "stdout": "0.61", "stdout_lines": ["0.61"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004143", "end": "2025-12-17 14:20:19.600153", "msg": "", "rc": 0, "start": "2025-12-17 14:20:19.596010", "stderr": "", "stderr_lines": [], "stdout": "0.68", "stdout_lines": ["0.68"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004923", "end": "2025-12-17 14:20:19.642283", "msg": "", "rc": 0, "start": "2025-12-17 14:20:19.637360", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005416", "end": "2025-12-17 14:20:19.654094", "msg": "", "rc": 0, "start": "2025-12-17 14:20:19.648678", "stderr": "", "stderr_lines": [], "stdout": "0.89", "stdout_lines": ["0.89"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004349", "end": "2025-12-17 14:19:53.644485", "msg": "", "rc": 0, "start": "2025-12-17 14:19:53.640136", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005675", "end": "2025-12-17 14:19:47.178920", "msg": "", "rc": 0, "start": "2025-12-17 14:19:47.173245", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010252", "end": "2025-12-17 14:20:20.344991", "msg": "", "rc": 0, "start": "2025-12-17 14:20:20.334739", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011119", "end": "2025-12-17 14:20:20.386356", "msg": "", "rc": 0, "start": "2025-12-17 14:20:20.375237", "stderr": "", "stderr_lines": [], "stdout": "0.48", "stdout_lines": ["0.48"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005647", "end": "2025-12-17 14:20:20.647619", "msg": "", "rc": 0, "start": "2025-12-17 14:20:20.641972", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005017", "end": "2025-12-17 14:19:50.368807", "msg": "", "rc": 0, "start": "2025-12-17 14:19:50.363790", "stderr": "", "stderr_lines": [], "stdout": "0.59", "stdout_lines": ["0.59"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006813", "end": "2025-12-17 11:20:20.854471", "msg": "", "rc": 0, "start": "2025-12-17 11:20:20.847658", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004675", "end": "2025-12-17 14:19:56.999273", "msg": "", "rc": 0, "start": "2025-12-17 14:19:56.994598", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005403", "end": "2025-12-17 14:20:21.091386", "msg": "", "rc": 0, "start": "2025-12-17 14:20:21.085983", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.009339", "end": "2025-12-17 14:20:21.255901", "msg": "", "rc": 0, "start": "2025-12-17 14:20:21.246562", "stderr": "", "stderr_lines": [], "stdout": "1.71", "stdout_lines": ["1.71"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.025312", "end": "2025-12-17 14:20:21.175039", "msg": "", "rc": 0, "start": "2025-12-17 14:20:21.149727", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:20:11 up 3 days, 3:52, 1 user, load average: 0.66, 0.29, 0.21\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.68\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:20:11 up 22 days, 1:11, 1 user, load average: 0.00, 0.06, 0.07\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.00\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:20:11 up 22 days, 1:31, 1 user, load average: 0.67, 0.80, 0.83\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.61\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:20:11 up 22 days, 2:44, 1 user, load average: 0.51, 0.53, 0.56\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.89\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:20:11 up 22 days, 3:30, 1 user, load average: 0.03, 0.04, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:20:12 up 15 days, 3:46, 1 user, load average: 0.21, 0.17, 0.11\nDisk Usage: 21%\nMemory Usage: 20.3%\nCPU Load: 0.42\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:20:12 up 194 days, 5:53, 1 user, load average: 0.29, 0.28, 0.27\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.48\nCPU Temp: 37.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:20:12 up 194 days, 5:53, 1 user, load average: 0.14, 0.23, 0.18\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.13\nCPU Temp: 32.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:19:45 up 11 days, 2:09, 0 user, load average: 0.05, 0.10, 0.09\nDisk Usage: 48%\nMemory Usage: 70.9%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:19:39 up 17 days, 22:21, 0 user, load average: 0.02, 0.03, 0.00\nDisk Usage: 24%\nMemory Usage: 68.5%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:20:12 up 3 days, 3:51, 1 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 1%\nMemory Usage: 35.7%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:19:42 up 20 days, 17:14, 0 user, load average: 0.53, 0.47, 0.49\nDisk Usage: 28%\nMemory Usage: 27.1%\nCPU Load: 0.59\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:19:48 up 17 days, 3:35, 0 user, load average: 0.17, 0.25, 0.33\nDisk Usage: 76%\nMemory Usage: 55.6%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:20AM up 22 days, 1:10, 1 user, load averages: 0.06, 0.14, 0.15\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:20:13 up 3 days, 3:51, 1 user, load average: 0.15, 0.06, 0.02\nDisk Usage: 79%\nMemory Usage: 13.9%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:20:14 up 1:20, 1 user, load average: 1.51, 1.29, 1.20\nDisk Usage: 1%\nMemory Usage: 21.3%\nCPU Load: 1.71\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T19:20:22.394667+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `a1daa3078f424217b1bd7c1a55086f94` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T19:25:00.177790+00:00 |
| **Fin** | 2025-12-17T19:25:39.709080+00:00 |
| **Durée** | 39.5s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003388", "end": "2025-12-17 14:25:15.878536", "msg": "", "rc": 0, "start": "2025-12-17 14:25:15.875148", "stderr": "", "stderr_lines": [], "stdout": " 14:25:15 up 22 days, 1:36, 1 user, load average: 1.02, 0.90, 0.85", "stdout_lines": [" 14:25:15 up 22 days, 1:36, 1 user, load average: 1.02, 0.90, 0.85"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004079", "end": "2025-12-17 14:25:15.927990", "msg": "", "rc": 0, "start": "2025-12-17 14:25:15.923911", "stderr": "", "stderr_lines": [], "stdout": " 14:25:15 up 22 days, 3:35, 1 user, load average: 0.07, 0.04, 0.00", "stdout_lines": [" 14:25:15 up 22 days, 3:35, 1 user, load average: 0.07, 0.04, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002918", "end": "2025-12-17 14:25:15.954223", "msg": "", "rc": 0, "start": "2025-12-17 14:25:15.951305", "stderr": "", "stderr_lines": [], "stdout": " 14:25:15 up 3 days, 3:57, 1 user, load average: 0.15, 0.21, 0.19", "stdout_lines": [" 14:25:15 up 3 days, 3:57, 1 user, load average: 0.15, 0.21, 0.19"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004670", "end": "2025-12-17 14:25:16.885458", "msg": "", "rc": 0, "start": "2025-12-17 14:25:15.880788", "stderr": "", "stderr_lines": [], "stdout": " 14:25:15 up 22 days, 2:49, 1 user, load average: 0.48, 0.57, 0.58", "stdout_lines": [" 14:25:15 up 22 days, 2:49, 1 user, load average: 0.48, 0.57, 0.58"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004353", "end": "2025-12-17 14:25:16.907707", "msg": "", "rc": 0, "start": "2025-12-17 14:25:15.903354", "stderr": "", "stderr_lines": [], "stdout": " 14:25:15 up 22 days, 1:16, 1 user, load average: 0.00, 0.04, 0.06", "stdout_lines": [" 14:25:15 up 22 days, 1:16, 1 user, load average: 0.00, 0.04, 0.06"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008472", "end": "2025-12-17 14:25:17.198743", "msg": "", "rc": 0, "start": "2025-12-17 14:25:17.190271", "stderr": "", "stderr_lines": [], "stdout": " 14:25:17 up 194 days, 5:58, 1 user, load average: 0.19, 0.18, 0.18", "stdout_lines": [" 14:25:17 up 194 days, 5:58, 1 user, load average: 0.19, 0.18, 0.18"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009668", "end": "2025-12-17 14:25:17.188710", "msg": "", "rc": 0, "start": "2025-12-17 14:25:17.179042", "stderr": "", "stderr_lines": [], "stdout": " 14:25:17 up 194 days, 5:58, 1 user, load average: 0.21, 0.24, 0.26", "stdout_lines": [" 14:25:17 up 194 days, 5:58, 1 user, load average: 0.21, 0.24, 0.26"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002698", "end": "2025-12-17 14:24:51.156211", "msg": "", "rc": 0, "start": "2025-12-17 14:24:51.153513", "stderr": "", "stderr_lines": [], "stdout": " 14:24:51 up 11 days, 2:14, 0 user, load average: 0.14, 0.11, 0.09", "stdout_lines": [" 14:24:51 up 11 days, 2:14, 0 user, load average: 0.14, 0.11, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003841", "end": "2025-12-17 14:24:44.794248", "msg": "", "rc": 0, "start": "2025-12-17 14:24:44.790407", "stderr": "", "stderr_lines": [], "stdout": " 14:24:44 up 17 days, 22:26, 0 user, load average: 0.04, 0.03, 0.00", "stdout_lines": [" 14:24:44 up 17 days, 22:26, 0 user, load average: 0.04, 0.03, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004892", "end": "2025-12-17 14:25:18.006568", "msg": "", "rc": 0, "start": "2025-12-17 14:25:18.001676", "stderr": "", "stderr_lines": [], "stdout": " 14:25:18 up 3 days, 3:56, 1 user, load average: 0.07, 0.03, 0.00", "stdout_lines": [" 14:25:18 up 3 days, 3:56, 1 user, load average: 0.07, 0.03, 0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019793", "end": "2025-12-17 14:25:17.919276", "msg": "", "rc": 0, "start": "2025-12-17 14:25:17.899483", "stderr": "", "stderr_lines": [], "stdout": " 14:25:17 up 15 days, 3:51, 1 user, load average: 0.08, 0.11, 0.09", "stdout_lines": [" 14:25:17 up 15 days, 3:51, 1 user, load average: 0.08, 0.11, 0.09"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003299", "end": "2025-12-17 14:24:47.771850", "msg": "", "rc": 0, "start": "2025-12-17 14:24:47.768551", "stderr": "", "stderr_lines": [], "stdout": " 14:24:47 up 20 days, 17:19, 0 user, load average: 0.51, 0.47, 0.47", "stdout_lines": [" 14:24:47 up 20 days, 17:19, 0 user, load average: 0.51, 0.47, 0.47"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003018", "end": "2025-12-17 14:24:54.679651", "msg": "", "rc": 0, "start": "2025-12-17 14:24:54.676633", "stderr": "", "stderr_lines": [], "stdout": " 14:24:54 up 17 days, 3:40, 0 user, load average: 0.33, 0.23, 0.28", "stdout_lines": [" 14:24:54 up 17 days, 3:40, 0 user, load average: 0.33, 0.23, 0.28"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004362", "end": "2025-12-17 11:25:18.650765", "msg": "", "rc": 0, "start": "2025-12-17 11:25:18.646403", "stderr": "", "stderr_lines": [], "stdout": "11:25AM up 22 days, 1:15, 1 user, load averages: 0.30, 0.24, 0.19", "stdout_lines": ["11:25AM up 22 days, 1:15, 1 user, load averages: 0.30, 0.24, 0.19"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003940", "end": "2025-12-17 14:25:18.849117", "msg": "", "rc": 0, "start": "2025-12-17 14:25:18.845177", "stderr": "", "stderr_lines": [], "stdout": " 14:25:18 up 3 days, 3:56, 1 user, load average: 0.10, 0.16, 0.07", "stdout_lines": [" 14:25:18 up 3 days, 3:56, 1 user, load average: 0.10, 0.16, 0.07"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.029265", "end": "2025-12-17 14:25:20.242520", "msg": "", "rc": 0, "start": "2025-12-17 14:25:20.213255", "stderr": "", "stderr_lines": [], "stdout": " 14:25:20 up 1:25, 1 user, load average: 1.35, 1.12, 1.14", "stdout_lines": [" 14:25:20 up 1:25, 1 user, load average: 1.35, 1.12, 1.14"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004137", "end": "2025-12-17 14:25:20.617326", "msg": "", "rc": 0, "start": "2025-12-17 14:25:20.613189", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004100", "end": "2025-12-17 14:25:20.651602", "msg": "", "rc": 0, "start": "2025-12-17 14:25:20.647502", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005235", "end": "2025-12-17 14:25:20.715018", "msg": "", "rc": 0, "start": "2025-12-17 14:25:20.709783", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004739", "end": "2025-12-17 14:25:20.817929", "msg": "", "rc": 0, "start": "2025-12-17 14:25:20.813190", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005440", "end": "2025-12-17 14:25:20.831605", "msg": "", "rc": 0, "start": "2025-12-17 14:25:20.826165", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005043", "end": "2025-12-17 14:24:55.128025", "msg": "", "rc": 0, "start": "2025-12-17 14:24:55.122982", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010580", "end": "2025-12-17 14:25:21.682543", "msg": "", "rc": 0, "start": "2025-12-17 14:25:21.671963", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011658", "end": "2025-12-17 14:25:21.685479", "msg": "", "rc": 0, "start": "2025-12-17 14:25:21.673821", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005624", "end": "2025-12-17 14:24:48.723771", "msg": "", "rc": 0, "start": "2025-12-17 14:24:48.718147", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005815", "end": "2025-12-17 14:25:22.247122", "msg": "", "rc": 0, "start": "2025-12-17 14:25:22.241307", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005372", "end": "2025-12-17 11:25:22.447156", "msg": "", "rc": 0, "start": "2025-12-17 11:25:22.441784", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004893", "end": "2025-12-17 14:24:58.625442", "msg": "", "rc": 0, "start": "2025-12-17 14:24:58.620549", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005483", "end": "2025-12-17 14:24:52.106373", "msg": "", "rc": 0, "start": "2025-12-17 14:24:52.100890", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025641", "end": "2025-12-17 14:25:22.395137", "msg": "", "rc": 0, "start": "2025-12-17 14:25:22.369496", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005515", "end": "2025-12-17 14:25:22.918865", "msg": "", "rc": 0, "start": "2025-12-17 14:25:22.913350", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.032418", "end": "2025-12-17 14:25:23.969674", "msg": "", "rc": 0, "start": "2025-12-17 14:25:23.937256", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004119", "end": "2025-12-17 14:25:24.087932", "msg": "", "rc": 0, "start": "2025-12-17 14:25:24.083813", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004329", "end": "2025-12-17 14:25:24.179418", "msg": "", "rc": 0, "start": "2025-12-17 14:25:24.175089", "stderr": "", "stderr_lines": [], "stdout": "77.4%", "stdout_lines": ["77.4%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004885", "end": "2025-12-17 14:25:24.240881", "msg": "", "rc": 0, "start": "2025-12-17 14:25:24.235996", "stderr": "", "stderr_lines": [], "stdout": "49.2%", "stdout_lines": ["49.2%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005497", "end": "2025-12-17 14:25:24.381237", "msg": "", "rc": 0, "start": "2025-12-17 14:25:24.375740", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004572", "end": "2025-12-17 14:25:24.456645", "msg": "", "rc": 0, "start": "2025-12-17 14:25:24.452073", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003785", "end": "2025-12-17 14:24:59.274025", "msg": "", "rc": 0, "start": "2025-12-17 14:24:59.270240", "stderr": "", "stderr_lines": [], "stdout": "71.0%", "stdout_lines": ["71.0%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010976", "end": "2025-12-17 14:25:25.969535", "msg": "", "rc": 0, "start": "2025-12-17 14:25:25.958559", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004512", "end": "2025-12-17 14:24:52.977656", "msg": "", "rc": 0, "start": "2025-12-17 14:24:52.973144", "stderr": "", "stderr_lines": [], "stdout": "68.5%", "stdout_lines": ["68.5%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011942", "end": "2025-12-17 14:25:26.018462", "msg": "", "rc": 0, "start": "2025-12-17 14:25:26.006520", "stderr": "", "stderr_lines": [], "stdout": "12.7%", "stdout_lines": ["12.7%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025860", "end": "2025-12-17 14:25:26.458964", "msg": "", "rc": 0, "start": "2025-12-17 14:25:26.433104", "stderr": "", "stderr_lines": [], "stdout": "19.5%", "stdout_lines": ["19.5%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005952", "end": "2025-12-17 14:25:26.883464", "msg": "", "rc": 0, "start": "2025-12-17 14:25:26.877512", "stderr": "", "stderr_lines": [], "stdout": "35.5%", "stdout_lines": ["35.5%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003789", "end": "2025-12-17 14:25:03.206493", "msg": "", "rc": 0, "start": "2025-12-17 14:25:03.202704", "stderr": "", "stderr_lines": [], "stdout": "56.5%", "stdout_lines": ["56.5%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005608", "end": "2025-12-17 11:25:27.100892", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 11:25:27.095284", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003915", "end": "2025-12-17 14:24:56.700098", "msg": "", "rc": 0, "start": "2025-12-17 14:24:56.696183", "stderr": "", "stderr_lines": [], "stdout": "27.2%", "stdout_lines": ["27.2%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005468", "end": "2025-12-17 14:25:27.377619", "msg": "", "rc": 0, "start": "2025-12-17 14:25:27.372151", "stderr": "", "stderr_lines": [], "stdout": "13.6%", "stdout_lines": ["13.6%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025379", "end": "2025-12-17 14:25:28.726246", "msg": "", "rc": 0, "start": "2025-12-17 14:25:28.700867", "stderr": "", "stderr_lines": [], "stdout": "21.7%", "stdout_lines": ["21.7%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005143", "end": "2025-12-17 14:25:28.603887", "msg": "", "rc": 0, "start": "2025-12-17 14:25:28.598744", "stderr": "", "stderr_lines": [], "stdout": "46.0°C", "stdout_lines": ["46.0°C"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005389", "end": "2025-12-17 14:25:28.603572", "msg": "", "rc": 0, "start": "2025-12-17 14:25:28.598183", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005718", "end": "2025-12-17 14:25:28.696513", "msg": "", "rc": 0, "start": "2025-12-17 14:25:28.690795", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006310", "end": "2025-12-17 14:25:28.728750", "msg": "", "rc": 0, "start": "2025-12-17 14:25:28.722440", "stderr": "", "stderr_lines": [], "stdout": "52.5°C", "stdout_lines": ["52.5°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003259", "end": "2025-12-17 14:25:28.736620", "msg": "", "rc": 0, "start": "2025-12-17 14:25:28.733361", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002616", "end": "2025-12-17 14:25:03.099410", "msg": "", "rc": 0, "start": "2025-12-17 14:25:03.096794", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013082", "end": "2025-12-17 14:25:29.649117", "msg": "", "rc": 0, "start": "2025-12-17 14:25:29.636035", "stderr": "", "stderr_lines": [], "stdout": "36.5°C", "stdout_lines": ["36.5°C"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002919", "end": "2025-12-17 14:24:56.673720", "msg": "", "rc": 0, "start": "2025-12-17 14:24:56.670801", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011836", "end": "2025-12-17 14:25:29.724509", "msg": "", "rc": 0, "start": "2025-12-17 14:25:29.712673", "stderr": "", "stderr_lines": [], "stdout": "32.1°C", "stdout_lines": ["32.1°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003130", "end": "2025-12-17 14:25:30.329977", "msg": "", "rc": 0, "start": "2025-12-17 14:25:30.326847", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.029007", "end": "2025-12-17 14:25:30.391376", "msg": "", "rc": 0, "start": "2025-12-17 14:25:30.362369", "stderr": "", "stderr_lines": [], "stdout": "35.7°C", "stdout_lines": ["35.7°C"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002736", "end": "2025-12-17 14:25:06.721547", "msg": "", "rc": 0, "start": "2025-12-17 14:25:06.718811", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002911", "end": "2025-12-17 14:25:00.184832", "msg": "", "rc": 0, "start": "2025-12-17 14:25:00.181921", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004985", "end": "2025-12-17 11:25:30.595549", "msg": "", "rc": 0, "start": "2025-12-17 11:25:30.590564", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003129", "end": "2025-12-17 14:25:31.051779", "msg": "", "rc": 0, "start": "2025-12-17 14:25:31.048650", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004294", "end": "2025-12-17 14:25:32.374765", "msg": "", "rc": 0, "start": "2025-12-17 14:25:32.370471", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
TASK [Get CPU load] ************************************************************
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005211", "end": "2025-12-17 14:25:32.078218", "msg": "", "rc": 0, "start": "2025-12-17 14:25:32.073007", "stderr": "", "stderr_lines": [], "stdout": "1.01", "stdout_lines": ["1.01"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004214", "end": "2025-12-17 14:25:32.078921", "msg": "", "rc": 0, "start": "2025-12-17 14:25:32.074707", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004201", "end": "2025-12-17 14:25:32.088389", "msg": "", "rc": 0, "start": "2025-12-17 14:25:32.084188", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005480", "end": "2025-12-17 14:25:32.187909", "msg": "", "rc": 0, "start": "2025-12-17 14:25:32.182429", "stderr": "", "stderr_lines": [], "stdout": "0.69", "stdout_lines": ["0.69"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004595", "end": "2025-12-17 14:25:32.193074", "msg": "", "rc": 0, "start": "2025-12-17 14:25:32.188479", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005285", "end": "2025-12-17 14:25:06.534588", "msg": "", "rc": 0, "start": "2025-12-17 14:25:06.529303", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005175", "end": "2025-12-17 14:25:00.078016", "msg": "", "rc": 0, "start": "2025-12-17 14:25:00.072841", "stderr": "", "stderr_lines": [], "stdout": "0.03", "stdout_lines": ["0.03"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010216", "end": "2025-12-17 14:25:33.200856", "msg": "", "rc": 0, "start": "2025-12-17 14:25:33.190640", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011286", "end": "2025-12-17 14:25:33.217146", "msg": "", "rc": 0, "start": "2025-12-17 14:25:33.205860", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005622", "end": "2025-12-17 14:25:33.680483", "msg": "", "rc": 0, "start": "2025-12-17 14:25:33.674861", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006302", "end": "2025-12-17 11:25:33.877102", "msg": "", "rc": 0, "start": "2025-12-17 11:25:33.870800", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024499", "end": "2025-12-17 14:25:33.773410", "msg": "", "rc": 0, "start": "2025-12-17 14:25:33.748911", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004937", "end": "2025-12-17 14:25:03.487528", "msg": "", "rc": 0, "start": "2025-12-17 14:25:03.482591", "stderr": "", "stderr_lines": [], "stdout": "0.39", "stdout_lines": ["0.39"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004311", "end": "2025-12-17 14:25:10.109344", "msg": "", "rc": 0, "start": "2025-12-17 14:25:10.105033", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005288", "end": "2025-12-17 14:25:34.296800", "msg": "", "rc": 0, "start": "2025-12-17 14:25:34.291512", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024780", "end": "2025-12-17 14:25:35.997406", "msg": "", "rc": 0, "start": "2025-12-17 14:25:35.972626", "stderr": "", "stderr_lines": [], "stdout": "2.55", "stdout_lines": ["2.55"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:15 up 3 days, 3:57, 1 user, load average: 0.15, 0.21, 0.19\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.12\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:15 up 22 days, 1:16, 1 user, load average: 0.00, 0.04, 0.06\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.16\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:15 up 22 days, 1:36, 1 user, load average: 1.02, 0.90, 0.85\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 1.01\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:15 up 22 days, 2:49, 1 user, load average: 0.48, 0.57, 0.58\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.69\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:15 up 22 days, 3:35, 1 user, load average: 0.07, 0.04, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:17 up 15 days, 3:51, 1 user, load average: 0.08, 0.11, 0.09\nDisk Usage: 21%\nMemory Usage: 19.5%\nCPU Load: 0.22\nCPU Temp: 35.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:17 up 194 days, 5:58, 1 user, load average: 0.21, 0.24, 0.26\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.16\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:17 up 194 days, 5:58, 1 user, load average: 0.19, 0.18, 0.18\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.22\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:24:51 up 11 days, 2:14, 0 user, load average: 0.14, 0.11, 0.09\nDisk Usage: 48%\nMemory Usage: 71.0%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:24:44 up 17 days, 22:26, 0 user, load average: 0.04, 0.03, 0.00\nDisk Usage: 24%\nMemory Usage: 68.5%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:24:47 up 20 days, 17:19, 0 user, load average: 0.51, 0.47, 0.47\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.39\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:18 up 3 days, 3:56, 1 user, load average: 0.07, 0.03, 0.00\nDisk Usage: 1%\nMemory Usage: 35.5%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:24:54 up 17 days, 3:40, 0 user, load average: 0.33, 0.23, 0.28\nDisk Usage: 76%\nMemory Usage: 56.5%\nCPU Load: 0.34\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:25AM up 22 days, 1:15, 1 user, load averages: 0.30, 0.24, 0.19\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:18 up 3 days, 3:56, 1 user, load average: 0.10, 0.16, 0.07\nDisk Usage: 79%\nMemory Usage: 13.6%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:25:20 up 1:25, 1 user, load average: 1.35, 1.12, 1.14\nDisk Usage: 1%\nMemory Usage: 21.7%\nCPU Load: 2.55\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T19:25:40.134315+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `1c041413156d4bc8b22be02ad1ca0f8f` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T19:30:00.002390+00:00 |
| **Fin** | 2025-12-17T19:30:22.658340+00:00 |
| **Durée** | 22.7s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003303", "end": "2025-12-17 14:30:11.395262", "msg": "", "rc": 0, "start": "2025-12-17 14:30:11.391959", "stderr": "", "stderr_lines": [], "stdout": " 14:30:11 up 22 days, 1:21, 1 user, load average: 0.15, 0.08, 0.08", "stdout_lines": [" 14:30:11 up 22 days, 1:21, 1 user, load average: 0.15, 0.08, 0.08"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003830", "end": "2025-12-17 14:30:11.413047", "msg": "", "rc": 0, "start": "2025-12-17 14:30:11.409217", "stderr": "", "stderr_lines": [], "stdout": " 14:30:11 up 22 days, 3:40, 1 user, load average: 0.06, 0.08, 0.02", "stdout_lines": [" 14:30:11 up 22 days, 3:40, 1 user, load average: 0.06, 0.08, 0.02"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003951", "end": "2025-12-17 14:30:11.429115", "msg": "", "rc": 0, "start": "2025-12-17 14:30:11.425164", "stderr": "", "stderr_lines": [], "stdout": " 14:30:11 up 22 days, 2:54, 1 user, load average: 0.40, 0.61, 0.61", "stdout_lines": [" 14:30:11 up 22 days, 2:54, 1 user, load average: 0.40, 0.61, 0.61"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002855", "end": "2025-12-17 14:30:11.437062", "msg": "", "rc": 0, "start": "2025-12-17 14:30:11.434207", "stderr": "", "stderr_lines": [], "stdout": " 14:30:11 up 3 days, 4:02, 1 user, load average: 0.13, 0.16, 0.17", "stdout_lines": [" 14:30:11 up 3 days, 4:02, 1 user, load average: 0.13, 0.16, 0.17"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002957", "end": "2025-12-17 14:29:45.415158", "msg": "", "rc": 0, "start": "2025-12-17 14:29:45.412201", "stderr": "", "stderr_lines": [], "stdout": " 14:29:45 up 11 days, 2:19, 0 user, load average: 0.29, 0.26, 0.16", "stdout_lines": [" 14:29:45 up 11 days, 2:19, 0 user, load average: 0.29, 0.26, 0.16"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008433", "end": "2025-12-17 14:30:12.087652", "msg": "", "rc": 0, "start": "2025-12-17 14:30:12.079219", "stderr": "", "stderr_lines": [], "stdout": " 14:30:12 up 194 days, 6:03, 1 user, load average: 0.57, 0.29, 0.21", "stdout_lines": [" 14:30:12 up 194 days, 6:03, 1 user, load average: 0.57, 0.29, 0.21"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009165", "end": "2025-12-17 14:30:12.120988", "msg": "", "rc": 0, "start": "2025-12-17 14:30:12.111823", "stderr": "", "stderr_lines": [], "stdout": " 14:30:12 up 194 days, 6:03, 1 user, load average: 0.40, 0.26, 0.25", "stdout_lines": [" 14:30:12 up 194 days, 6:03, 1 user, load average: 0.40, 0.26, 0.25"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004580", "end": "2025-12-17 14:30:12.412422", "msg": "", "rc": 0, "start": "2025-12-17 14:30:11.407842", "stderr": "", "stderr_lines": [], "stdout": " 14:30:11 up 22 days, 1:41, 1 user, load average: 1.05, 1.01, 0.92", "stdout_lines": [" 14:30:11 up 22 days, 1:41, 1 user, load average: 1.05, 1.01, 0.92"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003679", "end": "2025-12-17 14:29:39.393692", "msg": "", "rc": 0, "start": "2025-12-17 14:29:39.390013", "stderr": "", "stderr_lines": [], "stdout": " 14:29:39 up 17 days, 22:31, 0 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 14:29:39 up 17 days, 22:31, 0 user, load average: 0.00, 0.01, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004777", "end": "2025-12-17 14:30:12.598045", "msg": "", "rc": 0, "start": "2025-12-17 14:30:12.593268", "stderr": "", "stderr_lines": [], "stdout": " 14:30:12 up 3 days, 4:01, 1 user, load average: 0.01, 0.06, 0.02", "stdout_lines": [" 14:30:12 up 3 days, 4:01, 1 user, load average: 0.01, 0.06, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003217", "end": "2025-12-17 14:29:42.308232", "msg": "", "rc": 0, "start": "2025-12-17 14:29:42.305015", "stderr": "", "stderr_lines": [], "stdout": " 14:29:42 up 20 days, 17:24, 0 user, load average: 0.59, 0.48, 0.46", "stdout_lines": [" 14:29:42 up 20 days, 17:24, 0 user, load average: 0.59, 0.48, 0.46"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004230", "end": "2025-12-17 11:30:12.857682", "msg": "", "rc": 0, "start": "2025-12-17 11:30:12.853452", "stderr": "", "stderr_lines": [], "stdout": "11:30AM up 22 days, 1:20, 1 user, load averages: 0.10, 0.19, 0.17", "stdout_lines": ["11:30AM up 22 days, 1:20, 1 user, load averages: 0.10, 0.19, 0.17"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003465", "end": "2025-12-17 14:29:48.999664", "msg": "", "rc": 0, "start": "2025-12-17 14:29:48.996199", "stderr": "", "stderr_lines": [], "stdout": " 14:29:48 up 17 days, 3:45, 0 user, load average: 0.19, 0.27, 0.29", "stdout_lines": [" 14:29:48 up 17 days, 3:45, 0 user, load average: 0.19, 0.27, 0.29"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019731", "end": "2025-12-17 14:30:12.782214", "msg": "", "rc": 0, "start": "2025-12-17 14:30:12.762483", "stderr": "", "stderr_lines": [], "stdout": " 14:30:12 up 15 days, 3:56, 1 user, load average: 0.23, 0.13, 0.10", "stdout_lines": [" 14:30:12 up 15 days, 3:56, 1 user, load average: 0.23, 0.13, 0.10"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005820", "end": "2025-12-17 14:30:13.744659", "msg": "", "rc": 0, "start": "2025-12-17 14:30:13.738839", "stderr": "", "stderr_lines": [], "stdout": " 14:30:13 up 1:30, 1 user, load average: 1.29, 1.25, 1.19", "stdout_lines": [" 14:30:13 up 1:30, 1 user, load average: 1.29, 1.25, 1.19"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003686", "end": "2025-12-17 14:30:13.049166", "msg": "", "rc": 0, "start": "2025-12-17 14:30:13.045480", "stderr": "", "stderr_lines": [], "stdout": " 14:30:13 up 3 days, 4:01, 1 user, load average: 0.16, 0.12, 0.07", "stdout_lines": [" 14:30:13 up 3 days, 4:01, 1 user, load average: 0.16, 0.12, 0.07"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004249", "end": "2025-12-17 14:30:13.451411", "msg": "", "rc": 0, "start": "2025-12-17 14:30:13.447162", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004911", "end": "2025-12-17 14:30:13.461562", "msg": "", "rc": 0, "start": "2025-12-17 14:30:13.456651", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004196", "end": "2025-12-17 14:30:13.472463", "msg": "", "rc": 0, "start": "2025-12-17 14:30:13.468267", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004822", "end": "2025-12-17 14:30:13.495362", "msg": "", "rc": 0, "start": "2025-12-17 14:30:13.490540", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005700", "end": "2025-12-17 14:30:13.507736", "msg": "", "rc": 0, "start": "2025-12-17 14:30:13.502036", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004887", "end": "2025-12-17 14:29:47.466965", "msg": "", "rc": 0, "start": "2025-12-17 14:29:47.462078", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005774", "end": "2025-12-17 14:29:41.006225", "msg": "", "rc": 0, "start": "2025-12-17 14:29:41.000451", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010767", "end": "2025-12-17 14:30:14.188172", "msg": "", "rc": 0, "start": "2025-12-17 14:30:14.177405", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011431", "end": "2025-12-17 14:30:14.242153", "msg": "", "rc": 0, "start": "2025-12-17 14:30:14.230722", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005750", "end": "2025-12-17 14:30:14.424278", "msg": "", "rc": 0, "start": "2025-12-17 14:30:14.418528", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.012801", "end": "2025-12-17 14:29:44.204935", "msg": "", "rc": 0, "start": "2025-12-17 14:29:44.192134", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005109", "end": "2025-12-17 14:29:50.807331", "msg": "", "rc": 0, "start": "2025-12-17 14:29:50.802222", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005431", "end": "2025-12-17 11:30:14.714226", "msg": "", "rc": 0, "start": "2025-12-17 11:30:14.708795", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005281", "end": "2025-12-17 14:30:14.855212", "msg": "", "rc": 0, "start": "2025-12-17 14:30:14.849931", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010383", "end": "2025-12-17 14:30:15.683410", "msg": "", "rc": 0, "start": "2025-12-17 14:30:15.673027", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025623", "end": "2025-12-17 14:30:14.843267", "msg": "", "rc": 0, "start": "2025-12-17 14:30:14.817644", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004944", "end": "2025-12-17 14:30:15.371231", "msg": "", "rc": 0, "start": "2025-12-17 14:30:15.366287", "stderr": "", "stderr_lines": [], "stdout": "77.3%", "stdout_lines": ["77.3%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004216", "end": "2025-12-17 14:30:15.386107", "msg": "", "rc": 0, "start": "2025-12-17 14:30:15.381891", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005100", "end": "2025-12-17 14:30:15.397076", "msg": "", "rc": 0, "start": "2025-12-17 14:30:15.391976", "stderr": "", "stderr_lines": [], "stdout": "49.1%", "stdout_lines": ["49.1%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004781", "end": "2025-12-17 14:30:15.413582", "msg": "", "rc": 0, "start": "2025-12-17 14:30:15.408801", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005364", "end": "2025-12-17 14:30:15.432815", "msg": "", "rc": 0, "start": "2025-12-17 14:30:15.427451", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004007", "end": "2025-12-17 14:29:49.414795", "msg": "", "rc": 0, "start": "2025-12-17 14:29:49.410788", "stderr": "", "stderr_lines": [], "stdout": "70.6%", "stdout_lines": ["70.6%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004423", "end": "2025-12-17 14:29:42.937529", "msg": "", "rc": 0, "start": "2025-12-17 14:29:42.933106", "stderr": "", "stderr_lines": [], "stdout": "68.5%", "stdout_lines": ["68.5%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011079", "end": "2025-12-17 14:30:16.061326", "msg": "", "rc": 0, "start": "2025-12-17 14:30:16.050247", "stderr": "", "stderr_lines": [], "stdout": "6.8%", "stdout_lines": ["6.8%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011957", "end": "2025-12-17 14:30:16.101935", "msg": "", "rc": 0, "start": "2025-12-17 14:30:16.089978", "stderr": "", "stderr_lines": [], "stdout": "12.7%", "stdout_lines": ["12.7%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006120", "end": "2025-12-17 14:30:16.371323", "msg": "", "rc": 0, "start": "2025-12-17 14:30:16.365203", "stderr": "", "stderr_lines": [], "stdout": "35.4%", "stdout_lines": ["35.4%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004913", "end": "2025-12-17 14:29:46.118409", "msg": "", "rc": 0, "start": "2025-12-17 14:29:46.113496", "stderr": "", "stderr_lines": [], "stdout": "27.7%", "stdout_lines": ["27.7%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005292", "end": "2025-12-17 11:30:16.578301", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 11:30:16.573009", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003572", "end": "2025-12-17 14:29:52.717260", "msg": "", "rc": 0, "start": "2025-12-17 14:29:52.713688", "stderr": "", "stderr_lines": [], "stdout": "57.0%", "stdout_lines": ["57.0%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005481", "end": "2025-12-17 14:30:16.807010", "msg": "", "rc": 0, "start": "2025-12-17 14:30:16.801529", "stderr": "", "stderr_lines": [], "stdout": "13.9%", "stdout_lines": ["13.9%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012323", "end": "2025-12-17 14:30:17.691230", "msg": "", "rc": 0, "start": "2025-12-17 14:30:17.678907", "stderr": "", "stderr_lines": [], "stdout": "21.3%", "stdout_lines": ["21.3%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025917", "end": "2025-12-17 14:30:16.767096", "msg": "", "rc": 0, "start": "2025-12-17 14:30:16.741179", "stderr": "", "stderr_lines": [], "stdout": "19.4%", "stdout_lines": ["19.4%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005636", "end": "2025-12-17 14:30:17.295376", "msg": "", "rc": 0, "start": "2025-12-17 14:30:17.289740", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005142", "end": "2025-12-17 14:30:17.308087", "msg": "", "rc": 0, "start": "2025-12-17 14:30:17.302945", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005710", "end": "2025-12-17 14:30:17.324361", "msg": "", "rc": 0, "start": "2025-12-17 14:30:17.318651", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003176", "end": "2025-12-17 14:30:17.335525", "msg": "", "rc": 0, "start": "2025-12-17 14:30:17.332349", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.009625", "end": "2025-12-17 14:30:17.369148", "msg": "", "rc": 0, "start": "2025-12-17 14:30:17.359523", "stderr": "", "stderr_lines": [], "stdout": "53.5°C", "stdout_lines": ["53.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002476", "end": "2025-12-17 14:29:51.402399", "msg": "", "rc": 0, "start": "2025-12-17 14:29:51.399923", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003077", "end": "2025-12-17 14:29:44.909039", "msg": "", "rc": 0, "start": "2025-12-17 14:29:44.905962", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012140", "end": "2025-12-17 14:30:18.007139", "msg": "", "rc": 0, "start": "2025-12-17 14:30:17.994999", "stderr": "", "stderr_lines": [], "stdout": "32.1°C", "stdout_lines": ["32.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013345", "end": "2025-12-17 14:30:18.058192", "msg": "", "rc": 0, "start": "2025-12-17 14:30:18.044847", "stderr": "", "stderr_lines": [], "stdout": "37.5°C", "stdout_lines": ["37.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003145", "end": "2025-12-17 14:30:18.417656", "msg": "", "rc": 0, "start": "2025-12-17 14:30:18.414511", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004281", "end": "2025-12-17 14:29:48.175023", "msg": "", "rc": 0, "start": "2025-12-17 14:29:48.170742", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002574", "end": "2025-12-17 14:29:54.726077", "msg": "", "rc": 0, "start": "2025-12-17 14:29:54.723503", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003840", "end": "2025-12-17 11:30:18.604784", "msg": "", "rc": 0, "start": "2025-12-17 11:30:18.600944", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028678", "end": "2025-12-17 14:30:18.703324", "msg": "", "rc": 0, "start": "2025-12-17 14:30:18.674646", "stderr": "", "stderr_lines": [], "stdout": "35.1°C", "stdout_lines": ["35.1°C"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002962", "end": "2025-12-17 14:30:18.846354", "msg": "", "rc": 0, "start": "2025-12-17 14:30:18.843392", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004690", "end": "2025-12-17 14:30:19.815915", "msg": "", "rc": 0, "start": "2025-12-17 14:30:19.811225", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004038", "end": "2025-12-17 14:30:19.271821", "msg": "", "rc": 0, "start": "2025-12-17 14:30:19.267783", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004220", "end": "2025-12-17 14:30:19.274879", "msg": "", "rc": 0, "start": "2025-12-17 14:30:19.270659", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004629", "end": "2025-12-17 14:30:19.294723", "msg": "", "rc": 0, "start": "2025-12-17 14:30:19.290094", "stderr": "", "stderr_lines": [], "stdout": "1.05", "stdout_lines": ["1.05"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005469", "end": "2025-12-17 14:30:19.323408", "msg": "", "rc": 0, "start": "2025-12-17 14:30:19.317939", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006927", "end": "2025-12-17 14:30:19.357958", "msg": "", "rc": 0, "start": "2025-12-17 14:30:19.351031", "stderr": "", "stderr_lines": [], "stdout": "0.65", "stdout_lines": ["0.65"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004290", "end": "2025-12-17 14:29:53.309427", "msg": "", "rc": 0, "start": "2025-12-17 14:29:53.305137", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005327", "end": "2025-12-17 14:29:46.884788", "msg": "", "rc": 0, "start": "2025-12-17 14:29:46.879461", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010438", "end": "2025-12-17 14:30:20.056853", "msg": "", "rc": 0, "start": "2025-12-17 14:30:20.046415", "stderr": "", "stderr_lines": [], "stdout": "0.60", "stdout_lines": ["0.60"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011236", "end": "2025-12-17 14:30:20.099635", "msg": "", "rc": 0, "start": "2025-12-17 14:30:20.088399", "stderr": "", "stderr_lines": [], "stdout": "0.37", "stdout_lines": ["0.37"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005590", "end": "2025-12-17 14:30:20.271939", "msg": "", "rc": 0, "start": "2025-12-17 14:30:20.266349", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005102", "end": "2025-12-17 14:29:50.079655", "msg": "", "rc": 0, "start": "2025-12-17 14:29:50.074553", "stderr": "", "stderr_lines": [], "stdout": "0.66", "stdout_lines": ["0.66"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005956", "end": "2025-12-17 11:30:20.572174", "msg": "", "rc": 0, "start": "2025-12-17 11:30:20.566218", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004875", "end": "2025-12-17 14:29:56.706615", "msg": "", "rc": 0, "start": "2025-12-17 14:29:56.701740", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005493", "end": "2025-12-17 14:30:20.716540", "msg": "", "rc": 0, "start": "2025-12-17 14:30:20.711047", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024541", "end": "2025-12-17 14:30:20.669776", "msg": "", "rc": 0, "start": "2025-12-17 14:30:20.645235", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008795", "end": "2025-12-17 14:30:21.826747", "msg": "", "rc": 0, "start": "2025-12-17 14:30:21.817952", "stderr": "", "stderr_lines": [], "stdout": "1.40", "stdout_lines": ["1.40"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:11 up 3 days, 4:02, 1 user, load average: 0.13, 0.16, 0.17\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.20\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:11 up 22 days, 1:21, 1 user, load average: 0.15, 0.08, 0.08\nDisk Usage: 23%\nMemory Usage: 77.3%\nCPU Load: 0.12\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:11 up 22 days, 1:41, 1 user, load average: 1.05, 1.01, 0.92\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 1.05\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:11 up 22 days, 2:54, 1 user, load average: 0.40, 0.61, 0.61\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.65\nCPU Temp: 53.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:11 up 22 days, 3:40, 1 user, load average: 0.06, 0.08, 0.02\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:12 up 15 days, 3:56, 1 user, load average: 0.23, 0.13, 0.10\nDisk Usage: 21%\nMemory Usage: 19.4%\nCPU Load: 0.35\nCPU Temp: 35.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:12 up 194 days, 6:03, 1 user, load average: 0.40, 0.26, 0.25\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.37\nCPU Temp: 37.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:12 up 194 days, 6:03, 1 user, load average: 0.57, 0.29, 0.21\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.60\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:29:45 up 11 days, 2:19, 0 user, load average: 0.29, 0.26, 0.16\nDisk Usage: 48%\nMemory Usage: 70.6%\nCPU Load: 0.35\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:29:39 up 17 days, 22:31, 0 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 24%\nMemory Usage: 68.5%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:12 up 3 days, 4:01, 1 user, load average: 0.01, 0.06, 0.02\nDisk Usage: 1%\nMemory Usage: 35.4%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:29:42 up 20 days, 17:24, 0 user, load average: 0.59, 0.48, 0.46\nDisk Usage: 28%\nMemory Usage: 27.7%\nCPU Load: 0.66\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:29:48 up 17 days, 3:45, 0 user, load average: 0.19, 0.27, 0.29\nDisk Usage: 76%\nMemory Usage: 57.0%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:30AM up 22 days, 1:20, 1 user, load averages: 0.10, 0.19, 0.17\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:13 up 3 days, 4:01, 1 user, load average: 0.16, 0.12, 0.07\nDisk Usage: 79%\nMemory Usage: 13.9%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:30:13 up 1:30, 1 user, load average: 1.29, 1.25, 1.19\nDisk Usage: 1%\nMemory Usage: 21.3%\nCPU Load: 1.40\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T19:30:22.708690+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `9e14d950ede9493f91031f0cfae2207a` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T19:35:00.010867+00:00 |
| **Fin** | 2025-12-17T19:35:26.797215+00:00 |
| **Durée** | 26.8s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [orangepi.pc.home]
ok: [localhost]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003170", "end": "2025-12-17 14:35:13.408568", "msg": "", "rc": 0, "start": "2025-12-17 14:35:13.405398", "stderr": "", "stderr_lines": [], "stdout": " 14:35:13 up 22 days, 1:26, 1 user, load average: 0.07, 0.14, 0.10", "stdout_lines": [" 14:35:13 up 22 days, 1:26, 1 user, load average: 0.07, 0.14, 0.10"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003733", "end": "2025-12-17 14:35:13.427658", "msg": "", "rc": 0, "start": "2025-12-17 14:35:13.423925", "stderr": "", "stderr_lines": [], "stdout": " 14:35:13 up 22 days, 3:45, 1 user, load average: 0.06, 0.06, 0.01", "stdout_lines": [" 14:35:13 up 22 days, 3:45, 1 user, load average: 0.06, 0.06, 0.01"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003568", "end": "2025-12-17 14:35:13.421732", "msg": "", "rc": 0, "start": "2025-12-17 14:35:13.418164", "stderr": "", "stderr_lines": [], "stdout": " 14:35:13 up 22 days, 1:46, 1 user, load average: 0.45, 0.70, 0.82", "stdout_lines": [" 14:35:13 up 22 days, 1:46, 1 user, load average: 0.45, 0.70, 0.82"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002959", "end": "2025-12-17 14:35:13.456210", "msg": "", "rc": 0, "start": "2025-12-17 14:35:13.453251", "stderr": "", "stderr_lines": [], "stdout": " 14:35:13 up 3 days, 4:07, 1 user, load average: 0.39, 0.26, 0.20", "stdout_lines": [" 14:35:13 up 3 days, 4:07, 1 user, load average: 0.39, 0.26, 0.20"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004038", "end": "2025-12-17 14:35:13.446900", "msg": "", "rc": 0, "start": "2025-12-17 14:35:13.442862", "stderr": "", "stderr_lines": [], "stdout": " 14:35:13 up 22 days, 2:59, 1 user, load average: 0.70, 0.58, 0.60", "stdout_lines": [" 14:35:13 up 22 days, 2:59, 1 user, load average: 0.70, 0.58, 0.60"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002900", "end": "2025-12-17 14:34:47.506001", "msg": "", "rc": 0, "start": "2025-12-17 14:34:47.503101", "stderr": "", "stderr_lines": [], "stdout": " 14:34:47 up 11 days, 2:24, 0 user, load average: 0.07, 0.15, 0.14", "stdout_lines": [" 14:34:47 up 11 days, 2:24, 0 user, load average: 0.07, 0.15, 0.14"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003551", "end": "2025-12-17 14:34:41.046694", "msg": "", "rc": 0, "start": "2025-12-17 14:34:41.043143", "stderr": "", "stderr_lines": [], "stdout": " 14:34:41 up 17 days, 22:36, 0 user, load average: 0.13, 0.03, 0.01", "stdout_lines": [" 14:34:41 up 17 days, 22:36, 0 user, load average: 0.13, 0.03, 0.01"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009466", "end": "2025-12-17 14:35:14.211743", "msg": "", "rc": 0, "start": "2025-12-17 14:35:14.202277", "stderr": "", "stderr_lines": [], "stdout": " 14:35:14 up 194 days, 6:08, 1 user, load average: 0.42, 0.29, 0.26", "stdout_lines": [" 14:35:14 up 194 days, 6:08, 1 user, load average: 0.42, 0.29, 0.26"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008378", "end": "2025-12-17 14:35:14.251570", "msg": "", "rc": 0, "start": "2025-12-17 14:35:14.243192", "stderr": "", "stderr_lines": [], "stdout": " 14:35:14 up 194 days, 6:08, 1 user, load average: 0.23, 0.21, 0.19", "stdout_lines": [" 14:35:14 up 194 days, 6:08, 1 user, load average: 0.23, 0.21, 0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004886", "end": "2025-12-17 14:35:14.512199", "msg": "", "rc": 0, "start": "2025-12-17 14:35:14.507313", "stderr": "", "stderr_lines": [], "stdout": " 14:35:14 up 3 days, 4:06, 1 user, load average: 0.07, 0.06, 0.01", "stdout_lines": [" 14:35:14 up 3 days, 4:06, 1 user, load average: 0.07, 0.06, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003270", "end": "2025-12-17 14:34:44.302521", "msg": "", "rc": 0, "start": "2025-12-17 14:34:44.299251", "stderr": "", "stderr_lines": [], "stdout": " 14:34:44 up 20 days, 17:29, 0 user, load average: 0.43, 0.42, 0.44", "stdout_lines": [" 14:34:44 up 20 days, 17:29, 0 user, load average: 0.43, 0.42, 0.44"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002996", "end": "2025-12-17 14:34:50.904129", "msg": "", "rc": 0, "start": "2025-12-17 14:34:50.901133", "stderr": "", "stderr_lines": [], "stdout": " 14:34:50 up 17 days, 3:50, 0 user, load average: 0.07, 0.17, 0.24", "stdout_lines": [" 14:34:50 up 17 days, 3:50, 0 user, load average: 0.07, 0.17, 0.24"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004542", "end": "2025-12-17 11:35:14.797109", "msg": "", "rc": 0, "start": "2025-12-17 11:35:14.792567", "stderr": "", "stderr_lines": [], "stdout": "11:35AM up 22 days, 1:25, 1 user, load averages: 0.10, 0.18, 0.16", "stdout_lines": ["11:35AM up 22 days, 1:25, 1 user, load averages: 0.10, 0.18, 0.16"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019472", "end": "2025-12-17 14:35:14.866895", "msg": "", "rc": 0, "start": "2025-12-17 14:35:14.847423", "stderr": "", "stderr_lines": [], "stdout": " 14:35:14 up 15 days, 4:01, 1 user, load average: 0.31, 0.16, 0.11", "stdout_lines": [" 14:35:14 up 15 days, 4:01, 1 user, load average: 0.31, 0.16, 0.11"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003732", "end": "2025-12-17 14:35:15.022568", "msg": "", "rc": 0, "start": "2025-12-17 14:35:15.018836", "stderr": "", "stderr_lines": [], "stdout": " 14:35:15 up 3 days, 4:06, 1 user, load average: 0.23, 0.15, 0.10", "stdout_lines": [" 14:35:15 up 3 days, 4:06, 1 user, load average: 0.23, 0.15, 0.10"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008330", "end": "2025-12-17 14:35:15.294499", "msg": "", "rc": 0, "start": "2025-12-17 14:35:15.286169", "stderr": "", "stderr_lines": [], "stdout": " 14:35:15 up 1:36, 1 user, load average: 1.92, 1.36, 1.23", "stdout_lines": [" 14:35:15 up 1:36, 1 user, load average: 1.92, 1.36, 1.23"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004283", "end": "2025-12-17 14:35:15.720973", "msg": "", "rc": 0, "start": "2025-12-17 14:35:15.716690", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004216", "end": "2025-12-17 14:35:15.724589", "msg": "", "rc": 0, "start": "2025-12-17 14:35:15.720373", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004756", "end": "2025-12-17 14:35:15.729519", "msg": "", "rc": 0, "start": "2025-12-17 14:35:15.724763", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004861", "end": "2025-12-17 14:35:15.789268", "msg": "", "rc": 0, "start": "2025-12-17 14:35:15.784407", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005323", "end": "2025-12-17 14:35:15.793821", "msg": "", "rc": 0, "start": "2025-12-17 14:35:15.788498", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005511", "end": "2025-12-17 14:34:49.823535", "msg": "", "rc": 0, "start": "2025-12-17 14:34:49.818024", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008274", "end": "2025-12-17 14:34:43.402956", "msg": "", "rc": 0, "start": "2025-12-17 14:34:43.394682", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010479", "end": "2025-12-17 14:35:16.516114", "msg": "", "rc": 0, "start": "2025-12-17 14:35:16.505635", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011724", "end": "2025-12-17 14:35:16.686254", "msg": "", "rc": 0, "start": "2025-12-17 14:35:16.674530", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005657", "end": "2025-12-17 14:35:16.800790", "msg": "", "rc": 0, "start": "2025-12-17 14:35:16.795133", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005412", "end": "2025-12-17 14:34:46.652401", "msg": "", "rc": 0, "start": "2025-12-17 14:34:46.646989", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004828", "end": "2025-12-17 14:34:53.239377", "msg": "", "rc": 0, "start": "2025-12-17 14:34:53.234549", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005913", "end": "2025-12-17 11:35:17.261941", "msg": "", "rc": 0, "start": "2025-12-17 11:35:17.256028", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025612", "end": "2025-12-17 14:35:17.195236", "msg": "", "rc": 0, "start": "2025-12-17 14:35:17.169624", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005322", "end": "2025-12-17 14:35:17.338936", "msg": "", "rc": 0, "start": "2025-12-17 14:35:17.333614", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.017456", "end": "2025-12-17 14:35:17.842032", "msg": "", "rc": 0, "start": "2025-12-17 14:35:17.824576", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004307", "end": "2025-12-17 14:35:18.134974", "msg": "", "rc": 0, "start": "2025-12-17 14:35:18.130667", "stderr": "", "stderr_lines": [], "stdout": "77.3%", "stdout_lines": ["77.3%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004120", "end": "2025-12-17 14:35:18.146357", "msg": "", "rc": 0, "start": "2025-12-17 14:35:18.142237", "stderr": "", "stderr_lines": [], "stdout": "22.4%", "stdout_lines": ["22.4%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005189", "end": "2025-12-17 14:35:18.185374", "msg": "", "rc": 0, "start": "2025-12-17 14:35:18.180185", "stderr": "", "stderr_lines": [], "stdout": "49.5%", "stdout_lines": ["49.5%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005467", "end": "2025-12-17 14:35:18.229445", "msg": "", "rc": 0, "start": "2025-12-17 14:35:18.223978", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005390", "end": "2025-12-17 14:35:18.229095", "msg": "", "rc": 0, "start": "2025-12-17 14:35:18.223705", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004209", "end": "2025-12-17 14:34:52.376032", "msg": "", "rc": 0, "start": "2025-12-17 14:34:52.371823", "stderr": "", "stderr_lines": [], "stdout": "70.8%", "stdout_lines": ["70.8%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.007115", "end": "2025-12-17 14:34:45.921490", "msg": "", "rc": 0, "start": "2025-12-17 14:34:45.914375", "stderr": "", "stderr_lines": [], "stdout": "68.6%", "stdout_lines": ["68.6%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012236", "end": "2025-12-17 14:35:18.981979", "msg": "", "rc": 0, "start": "2025-12-17 14:35:18.969743", "stderr": "", "stderr_lines": [], "stdout": "12.6%", "stdout_lines": ["12.6%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011136", "end": "2025-12-17 14:35:19.017708", "msg": "", "rc": 0, "start": "2025-12-17 14:35:19.006572", "stderr": "", "stderr_lines": [], "stdout": "6.9%", "stdout_lines": ["6.9%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005757", "end": "2025-12-17 14:35:19.417920", "msg": "", "rc": 0, "start": "2025-12-17 14:35:19.412163", "stderr": "", "stderr_lines": [], "stdout": "35.5%", "stdout_lines": ["35.5%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005106", "end": "2025-12-17 11:35:19.564222", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 11:35:19.559116", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003735", "end": "2025-12-17 14:34:55.705759", "msg": "", "rc": 0, "start": "2025-12-17 14:34:55.702024", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.7%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.008125", "end": "2025-12-17 14:34:49.214214", "msg": "", "rc": 0, "start": "2025-12-17 14:34:49.206089", "stderr": "", "stderr_lines": [], "stdout": "26.0%", "stdout_lines": ["26.0%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026488", "end": "2025-12-17 14:35:19.736976", "msg": "", "rc": 0, "start": "2025-12-17 14:35:19.710488", "stderr": "", "stderr_lines": [], "stdout": "19.6%", "stdout_lines": ["19.6%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005624", "end": "2025-12-17 14:35:19.971821", "msg": "", "rc": 0, "start": "2025-12-17 14:35:19.966197", "stderr": "", "stderr_lines": [], "stdout": "13.9%", "stdout_lines": ["13.9%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012740", "end": "2025-12-17 14:35:20.417138", "msg": "", "rc": 0, "start": "2025-12-17 14:35:20.404398", "stderr": "", "stderr_lines": [], "stdout": "21.0%", "stdout_lines": ["21.0%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006367", "end": "2025-12-17 14:35:20.681827", "msg": "", "rc": 0, "start": "2025-12-17 14:35:20.675460", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005006", "end": "2025-12-17 14:35:20.695269", "msg": "", "rc": 0, "start": "2025-12-17 14:35:20.690263", "stderr": "", "stderr_lines": [], "stdout": "45.0°C", "stdout_lines": ["45.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005690", "end": "2025-12-17 14:35:20.696638", "msg": "", "rc": 0, "start": "2025-12-17 14:35:20.690948", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003294", "end": "2025-12-17 14:35:20.733819", "msg": "", "rc": 0, "start": "2025-12-17 14:35:20.730525", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.007085", "end": "2025-12-17 14:35:20.772205", "msg": "", "rc": 0, "start": "2025-12-17 14:35:20.765120", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002479", "end": "2025-12-17 14:34:54.829437", "msg": "", "rc": 0, "start": "2025-12-17 14:34:54.826958", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003760", "end": "2025-12-17 14:34:48.402166", "msg": "", "rc": 0, "start": "2025-12-17 14:34:48.398406", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013164", "end": "2025-12-17 14:35:21.526316", "msg": "", "rc": 0, "start": "2025-12-17 14:35:21.513152", "stderr": "", "stderr_lines": [], "stdout": "36.0°C", "stdout_lines": ["36.0°C"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011913", "end": "2025-12-17 14:35:21.581925", "msg": "", "rc": 0, "start": "2025-12-17 14:35:21.570012", "stderr": "", "stderr_lines": [], "stdout": "31.6°C", "stdout_lines": ["31.6°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003124", "end": "2025-12-17 14:35:21.887040", "msg": "", "rc": 0, "start": "2025-12-17 14:35:21.883916", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003004", "end": "2025-12-17 14:34:51.662527", "msg": "", "rc": 0, "start": "2025-12-17 14:34:51.659523", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003836", "end": "2025-12-17 11:35:22.125576", "msg": "", "rc": 0, "start": "2025-12-17 11:35:22.121740", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002535", "end": "2025-12-17 14:34:58.259346", "msg": "", "rc": 0, "start": "2025-12-17 14:34:58.256811", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028988", "end": "2025-12-17 14:35:22.162516", "msg": "", "rc": 0, "start": "2025-12-17 14:35:22.133528", "stderr": "", "stderr_lines": [], "stdout": "35.7°C", "stdout_lines": ["35.7°C"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003034", "end": "2025-12-17 14:35:22.391704", "msg": "", "rc": 0, "start": "2025-12-17 14:35:22.388670", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.016047", "end": "2025-12-17 14:35:22.976921", "msg": "", "rc": 0, "start": "2025-12-17 14:35:22.960874", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004190", "end": "2025-12-17 14:35:23.082530", "msg": "", "rc": 0, "start": "2025-12-17 14:35:23.078340", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004314", "end": "2025-12-17 14:35:23.114239", "msg": "", "rc": 0, "start": "2025-12-17 14:35:23.109925", "stderr": "", "stderr_lines": [], "stdout": "0.71", "stdout_lines": ["0.71"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005087", "end": "2025-12-17 14:35:23.135743", "msg": "", "rc": 0, "start": "2025-12-17 14:35:23.130656", "stderr": "", "stderr_lines": [], "stdout": "0.38", "stdout_lines": ["0.38"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005091", "end": "2025-12-17 14:35:23.168004", "msg": "", "rc": 0, "start": "2025-12-17 14:35:23.162913", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005526", "end": "2025-12-17 14:35:23.188502", "msg": "", "rc": 0, "start": "2025-12-17 14:35:23.182976", "stderr": "", "stderr_lines": [], "stdout": "0.83", "stdout_lines": ["0.83"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004513", "end": "2025-12-17 14:34:57.213560", "msg": "", "rc": 0, "start": "2025-12-17 14:34:57.209047", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005225", "end": "2025-12-17 14:34:50.759027", "msg": "", "rc": 0, "start": "2025-12-17 14:34:50.753802", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010187", "end": "2025-12-17 14:35:23.903529", "msg": "", "rc": 0, "start": "2025-12-17 14:35:23.893342", "stderr": "", "stderr_lines": [], "stdout": "0.43", "stdout_lines": ["0.43"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011022", "end": "2025-12-17 14:35:23.890459", "msg": "", "rc": 0, "start": "2025-12-17 14:35:23.879437", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005564", "end": "2025-12-17 14:35:24.288230", "msg": "", "rc": 0, "start": "2025-12-17 14:35:24.282666", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005116", "end": "2025-12-17 14:34:54.050989", "msg": "", "rc": 0, "start": "2025-12-17 14:34:54.045873", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005863", "end": "2025-12-17 11:35:24.487851", "msg": "", "rc": 0, "start": "2025-12-17 11:35:24.481988", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004573", "end": "2025-12-17 14:35:00.664729", "msg": "", "rc": 0, "start": "2025-12-17 14:35:00.660156", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024593", "end": "2025-12-17 14:35:24.570556", "msg": "", "rc": 0, "start": "2025-12-17 14:35:24.545963", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005283", "end": "2025-12-17 14:35:24.803468", "msg": "", "rc": 0, "start": "2025-12-17 14:35:24.798185", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.027224", "end": "2025-12-17 14:35:25.466840", "msg": "", "rc": 0, "start": "2025-12-17 14:35:25.439616", "stderr": "", "stderr_lines": [], "stdout": "2.01", "stdout_lines": ["2.01"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:13 up 3 days, 4:07, 1 user, load average: 0.39, 0.26, 0.20\nDisk Usage: 22%\nMemory Usage: 22.4%\nCPU Load: 0.71\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:13 up 22 days, 1:26, 1 user, load average: 0.07, 0.14, 0.10\nDisk Usage: 23%\nMemory Usage: 77.3%\nCPU Load: 0.21\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:13 up 22 days, 1:46, 1 user, load average: 0.45, 0.70, 0.82\nDisk Usage: 14%\nMemory Usage: 49.5%\nCPU Load: 0.38\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:13 up 22 days, 2:59, 1 user, load average: 0.70, 0.58, 0.60\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.83\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:13 up 22 days, 3:45, 1 user, load average: 0.06, 0.06, 0.01\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:14 up 15 days, 4:01, 1 user, load average: 0.31, 0.16, 0.11\nDisk Usage: 21%\nMemory Usage: 19.6%\nCPU Load: 0.34\nCPU Temp: 35.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:14 up 194 days, 6:08, 1 user, load average: 0.42, 0.29, 0.26\nDisk Usage: 6%\nMemory Usage: 12.6%\nCPU Load: 0.44\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:14 up 194 days, 6:08, 1 user, load average: 0.23, 0.21, 0.19\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.43\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:34:47 up 11 days, 2:24, 0 user, load average: 0.07, 0.15, 0.14\nDisk Usage: 48%\nMemory Usage: 70.8%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:34:41 up 17 days, 22:36, 0 user, load average: 0.13, 0.03, 0.01\nDisk Usage: 24%\nMemory Usage: 68.6%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:14 up 3 days, 4:06, 1 user, load average: 0.07, 0.06, 0.01\nDisk Usage: 1%\nMemory Usage: 35.5%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:34:44 up 20 days, 17:29, 0 user, load average: 0.43, 0.42, 0.44\nDisk Usage: 28%\nMemory Usage: 26.0%\nCPU Load: 0.44\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:34:50 up 17 days, 3:50, 0 user, load average: 0.07, 0.17, 0.24\nDisk Usage: 76%\nMemory Usage: 58.7%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:35AM up 22 days, 1:25, 1 user, load averages: 0.10, 0.18, 0.16\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:15 up 3 days, 4:06, 1 user, load average: 0.23, 0.15, 0.10\nDisk Usage: 79%\nMemory Usage: 13.9%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:35:15 up 1:36, 1 user, load average: 1.92, 1.36, 1.23\nDisk Usage: 1%\nMemory Usage: 21.0%\nCPU Load: 2.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T19:35:26.889540+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `8da2c2effb794e339d670bc660e90a74` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T19:40:00.002404+00:00 |
| **Fin** | 2025-12-17T19:40:27.134281+00:00 |
| **Durée** | 27.1s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [orangepi.pc.home]
ok: [localhost]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003348", "end": "2025-12-17 14:40:12.904940", "msg": "", "rc": 0, "start": "2025-12-17 14:40:12.901592", "stderr": "", "stderr_lines": [], "stdout": " 14:40:12 up 22 days, 1:31, 1 user, load average: 0.29, 0.20, 0.13", "stdout_lines": [" 14:40:12 up 22 days, 1:31, 1 user, load average: 0.29, 0.20, 0.13"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003873", "end": "2025-12-17 14:40:12.922233", "msg": "", "rc": 0, "start": "2025-12-17 14:40:12.918360", "stderr": "", "stderr_lines": [], "stdout": " 14:40:12 up 22 days, 3:50, 1 user, load average: 0.02, 0.04, 0.00", "stdout_lines": [" 14:40:12 up 22 days, 3:50, 1 user, load average: 0.02, 0.04, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003040", "end": "2025-12-17 14:40:12.935819", "msg": "", "rc": 0, "start": "2025-12-17 14:40:12.932779", "stderr": "", "stderr_lines": [], "stdout": " 14:40:12 up 3 days, 4:12, 1 user, load average: 0.25, 0.23, 0.19", "stdout_lines": [" 14:40:12 up 3 days, 4:12, 1 user, load average: 0.25, 0.23, 0.19"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003519", "end": "2025-12-17 14:40:12.935398", "msg": "", "rc": 0, "start": "2025-12-17 14:40:12.931879", "stderr": "", "stderr_lines": [], "stdout": " 14:40:12 up 22 days, 1:51, 1 user, load average: 0.82, 0.71, 0.78", "stdout_lines": [" 14:40:12 up 22 days, 1:51, 1 user, load average: 0.82, 0.71, 0.78"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003321", "end": "2025-12-17 14:39:47.026283", "msg": "", "rc": 0, "start": "2025-12-17 14:39:47.022962", "stderr": "", "stderr_lines": [], "stdout": " 14:39:47 up 11 days, 2:29, 0 user, load average: 0.25, 0.14, 0.12", "stdout_lines": [" 14:39:47 up 11 days, 2:29, 0 user, load average: 0.25, 0.14, 0.12"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008871", "end": "2025-12-17 14:40:13.707475", "msg": "", "rc": 0, "start": "2025-12-17 14:40:13.698604", "stderr": "", "stderr_lines": [], "stdout": " 14:40:13 up 194 days, 6:13, 1 user, load average: 0.21, 0.20, 0.18", "stdout_lines": [" 14:40:13 up 194 days, 6:13, 1 user, load average: 0.21, 0.20, 0.18"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009230", "end": "2025-12-17 14:40:13.743775", "msg": "", "rc": 0, "start": "2025-12-17 14:40:13.734545", "stderr": "", "stderr_lines": [], "stdout": " 14:40:13 up 194 days, 6:13, 1 user, load average: 0.41, 0.28, 0.26", "stdout_lines": [" 14:40:13 up 194 days, 6:13, 1 user, load average: 0.41, 0.28, 0.26"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004193", "end": "2025-12-17 14:40:13.939359", "msg": "", "rc": 0, "start": "2025-12-17 14:40:12.935166", "stderr": "", "stderr_lines": [], "stdout": " 14:40:12 up 22 days, 3:04, 1 user, load average: 1.01, 0.67, 0.62", "stdout_lines": [" 14:40:12 up 22 days, 3:04, 1 user, load average: 1.01, 0.67, 0.62"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003558", "end": "2025-12-17 14:39:41.090586", "msg": "", "rc": 0, "start": "2025-12-17 14:39:41.087028", "stderr": "", "stderr_lines": [], "stdout": " 14:39:41 up 17 days, 22:41, 0 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 14:39:41 up 17 days, 22:41, 0 user, load average: 0.00, 0.02, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004716", "end": "2025-12-17 14:40:14.280789", "msg": "", "rc": 0, "start": "2025-12-17 14:40:14.276073", "stderr": "", "stderr_lines": [], "stdout": " 14:40:14 up 3 days, 4:11, 1 user, load average: 0.01, 0.02, 0.00", "stdout_lines": [" 14:40:14 up 3 days, 4:11, 1 user, load average: 0.01, 0.02, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003335", "end": "2025-12-17 14:39:43.978901", "msg": "", "rc": 0, "start": "2025-12-17 14:39:43.975566", "stderr": "", "stderr_lines": [], "stdout": " 14:39:43 up 20 days, 17:34, 0 user, load average: 0.51, 0.46, 0.45", "stdout_lines": [" 14:39:43 up 20 days, 17:34, 0 user, load average: 0.51, 0.46, 0.45"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019680", "end": "2025-12-17 14:40:14.372712", "msg": "", "rc": 0, "start": "2025-12-17 14:40:14.353032", "stderr": "", "stderr_lines": [], "stdout": " 14:40:14 up 15 days, 4:06, 1 user, load average: 0.28, 0.16, 0.10", "stdout_lines": [" 14:40:14 up 15 days, 4:06, 1 user, load average: 0.28, 0.16, 0.10"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004022", "end": "2025-12-17 14:39:50.633058", "msg": "", "rc": 0, "start": "2025-12-17 14:39:50.629036", "stderr": "", "stderr_lines": [], "stdout": " 14:39:50 up 17 days, 3:55, 0 user, load average: 0.16, 0.21, 0.24", "stdout_lines": [" 14:39:50 up 17 days, 3:55, 0 user, load average: 0.16, 0.21, 0.24"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004239", "end": "2025-12-17 11:40:14.652016", "msg": "", "rc": 0, "start": "2025-12-17 11:40:14.647777", "stderr": "", "stderr_lines": [], "stdout": "11:40AM up 22 days, 1:30, 1 user, load averages: 0.30, 0.18, 0.16", "stdout_lines": ["11:40AM up 22 days, 1:30, 1 user, load averages: 0.30, 0.18, 0.16"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003808", "end": "2025-12-17 14:40:14.791776", "msg": "", "rc": 0, "start": "2025-12-17 14:40:14.787968", "stderr": "", "stderr_lines": [], "stdout": " 14:40:14 up 3 days, 4:11, 1 user, load average: 0.20, 0.15, 0.10", "stdout_lines": [" 14:40:14 up 3 days, 4:11, 1 user, load average: 0.20, 0.15, 0.10"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006394", "end": "2025-12-17 14:40:15.519727", "msg": "", "rc": 0, "start": "2025-12-17 14:40:15.513333", "stderr": "", "stderr_lines": [], "stdout": " 14:40:15 up 1:41, 1 user, load average: 1.29, 1.24, 1.21", "stdout_lines": [" 14:40:15 up 1:41, 1 user, load average: 1.29, 1.24, 1.21"]}
TASK [Get disk usage] **********************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.003997", "end": "2025-12-17 14:40:15.519075", "msg": "", "rc": 0, "start": "2025-12-17 14:40:15.515078", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004662", "end": "2025-12-17 14:40:15.547020", "msg": "", "rc": 0, "start": "2025-12-17 14:40:15.542358", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005003", "end": "2025-12-17 14:40:15.571573", "msg": "", "rc": 0, "start": "2025-12-17 14:40:15.566570", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005545", "end": "2025-12-17 14:40:15.599179", "msg": "", "rc": 0, "start": "2025-12-17 14:40:15.593634", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004862", "end": "2025-12-17 14:40:15.635533", "msg": "", "rc": 0, "start": "2025-12-17 14:40:15.630671", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005183", "end": "2025-12-17 14:39:49.740847", "msg": "", "rc": 0, "start": "2025-12-17 14:39:49.735664", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005695", "end": "2025-12-17 14:39:43.311278", "msg": "", "rc": 0, "start": "2025-12-17 14:39:43.305583", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011654", "end": "2025-12-17 14:40:16.433724", "msg": "", "rc": 0, "start": "2025-12-17 14:40:16.422070", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010670", "end": "2025-12-17 14:40:16.477705", "msg": "", "rc": 0, "start": "2025-12-17 14:40:16.467035", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005798", "end": "2025-12-17 14:40:16.831171", "msg": "", "rc": 0, "start": "2025-12-17 14:40:16.825373", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005749", "end": "2025-12-17 14:39:46.592745", "msg": "", "rc": 0, "start": "2025-12-17 14:39:46.586996", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004719", "end": "2025-12-17 14:39:53.160172", "msg": "", "rc": 0, "start": "2025-12-17 14:39:53.155453", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005949", "end": "2025-12-17 11:40:17.040987", "msg": "", "rc": 0, "start": "2025-12-17 11:40:17.035038", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025753", "end": "2025-12-17 14:40:17.011206", "msg": "", "rc": 0, "start": "2025-12-17 14:40:16.985453", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005408", "end": "2025-12-17 14:40:17.432607", "msg": "", "rc": 0, "start": "2025-12-17 14:40:17.427199", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.012799", "end": "2025-12-17 14:40:18.205129", "msg": "", "rc": 0, "start": "2025-12-17 14:40:18.192330", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004341", "end": "2025-12-17 14:40:18.057340", "msg": "", "rc": 0, "start": "2025-12-17 14:40:18.052999", "stderr": "", "stderr_lines": [], "stdout": "77.2%", "stdout_lines": ["77.2%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004174", "end": "2025-12-17 14:40:18.063422", "msg": "", "rc": 0, "start": "2025-12-17 14:40:18.059248", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004692", "end": "2025-12-17 14:40:18.076423", "msg": "", "rc": 0, "start": "2025-12-17 14:40:18.071731", "stderr": "", "stderr_lines": [], "stdout": "49.2%", "stdout_lines": ["49.2%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005010", "end": "2025-12-17 14:40:18.126274", "msg": "", "rc": 0, "start": "2025-12-17 14:40:18.121264", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006383", "end": "2025-12-17 14:40:18.140225", "msg": "", "rc": 0, "start": "2025-12-17 14:40:18.133842", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003409", "end": "2025-12-17 14:39:52.224085", "msg": "", "rc": 0, "start": "2025-12-17 14:39:52.220676", "stderr": "", "stderr_lines": [], "stdout": "70.7%", "stdout_lines": ["70.7%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004286", "end": "2025-12-17 14:39:45.756303", "msg": "", "rc": 0, "start": "2025-12-17 14:39:45.752017", "stderr": "", "stderr_lines": [], "stdout": "68.5%", "stdout_lines": ["68.5%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011367", "end": "2025-12-17 14:40:18.903010", "msg": "", "rc": 0, "start": "2025-12-17 14:40:18.891643", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012233", "end": "2025-12-17 14:40:18.930955", "msg": "", "rc": 0, "start": "2025-12-17 14:40:18.918722", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.8%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005704", "end": "2025-12-17 14:40:19.315060", "msg": "", "rc": 0, "start": "2025-12-17 14:40:19.309356", "stderr": "", "stderr_lines": [], "stdout": "35.5%", "stdout_lines": ["35.5%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004180", "end": "2025-12-17 14:39:49.075061", "msg": "", "rc": 0, "start": "2025-12-17 14:39:49.070881", "stderr": "", "stderr_lines": [], "stdout": "27.4%", "stdout_lines": ["27.4%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005204", "end": "2025-12-17 11:40:19.506916", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 11:40:19.501712", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003850", "end": "2025-12-17 14:39:55.654776", "msg": "", "rc": 0, "start": "2025-12-17 14:39:55.650926", "stderr": "", "stderr_lines": [], "stdout": "57.8%", "stdout_lines": ["57.8%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025608", "end": "2025-12-17 14:40:19.577975", "msg": "", "rc": 0, "start": "2025-12-17 14:40:19.552367", "stderr": "", "stderr_lines": [], "stdout": "19.7%", "stdout_lines": ["19.7%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006100", "end": "2025-12-17 14:40:19.883206", "msg": "", "rc": 0, "start": "2025-12-17 14:40:19.877106", "stderr": "", "stderr_lines": [], "stdout": "13.7%", "stdout_lines": ["13.7%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.023974", "end": "2025-12-17 14:40:20.761129", "msg": "", "rc": 0, "start": "2025-12-17 14:40:20.737155", "stderr": "", "stderr_lines": [], "stdout": "21.1%", "stdout_lines": ["21.1%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005195", "end": "2025-12-17 14:40:20.491208", "msg": "", "rc": 0, "start": "2025-12-17 14:40:20.486013", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004845", "end": "2025-12-17 14:40:20.512131", "msg": "", "rc": 0, "start": "2025-12-17 14:40:20.507286", "stderr": "", "stderr_lines": [], "stdout": "46.0°C", "stdout_lines": ["46.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005767", "end": "2025-12-17 14:40:20.555165", "msg": "", "rc": 0, "start": "2025-12-17 14:40:20.549398", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003263", "end": "2025-12-17 14:40:20.584946", "msg": "", "rc": 0, "start": "2025-12-17 14:40:20.581683", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006860", "end": "2025-12-17 14:40:20.588882", "msg": "", "rc": 0, "start": "2025-12-17 14:40:20.582022", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002469", "end": "2025-12-17 14:39:54.645291", "msg": "", "rc": 0, "start": "2025-12-17 14:39:54.642822", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003197", "end": "2025-12-17 14:39:48.201818", "msg": "", "rc": 0, "start": "2025-12-17 14:39:48.198621", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011869", "end": "2025-12-17 14:40:21.377069", "msg": "", "rc": 0, "start": "2025-12-17 14:40:21.365200", "stderr": "", "stderr_lines": [], "stdout": "31.2°C", "stdout_lines": ["31.2°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012944", "end": "2025-12-17 14:40:21.394564", "msg": "", "rc": 0, "start": "2025-12-17 14:40:21.381620", "stderr": "", "stderr_lines": [], "stdout": "36.5°C", "stdout_lines": ["36.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003127", "end": "2025-12-17 14:40:21.672507", "msg": "", "rc": 0, "start": "2025-12-17 14:40:21.669380", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002984", "end": "2025-12-17 14:39:51.433246", "msg": "", "rc": 0, "start": "2025-12-17 14:39:51.430262", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002688", "end": "2025-12-17 14:39:58.078399", "msg": "", "rc": 0, "start": "2025-12-17 14:39:58.075711", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003828", "end": "2025-12-17 11:40:21.989717", "msg": "", "rc": 0, "start": "2025-12-17 11:40:21.985889", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028773", "end": "2025-12-17 14:40:22.002986", "msg": "", "rc": 0, "start": "2025-12-17 14:40:21.974213", "stderr": "", "stderr_lines": [], "stdout": "35.4°C", "stdout_lines": ["35.4°C"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003002", "end": "2025-12-17 14:40:22.221150", "msg": "", "rc": 0, "start": "2025-12-17 14:40:22.218148", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.009345", "end": "2025-12-17 14:40:23.191480", "msg": "", "rc": 0, "start": "2025-12-17 14:40:23.182135", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004137", "end": "2025-12-17 14:40:22.841444", "msg": "", "rc": 0, "start": "2025-12-17 14:40:22.837307", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004212", "end": "2025-12-17 14:40:22.857451", "msg": "", "rc": 0, "start": "2025-12-17 14:40:22.853239", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004418", "end": "2025-12-17 14:40:22.849887", "msg": "", "rc": 0, "start": "2025-12-17 14:40:22.845469", "stderr": "", "stderr_lines": [], "stdout": "0.85", "stdout_lines": ["0.85"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004992", "end": "2025-12-17 14:40:22.883146", "msg": "", "rc": 0, "start": "2025-12-17 14:40:22.878154", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005557", "end": "2025-12-17 14:40:22.937891", "msg": "", "rc": 0, "start": "2025-12-17 14:40:22.932334", "stderr": "", "stderr_lines": [], "stdout": "0.93", "stdout_lines": ["0.93"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004112", "end": "2025-12-17 14:39:56.897147", "msg": "", "rc": 0, "start": "2025-12-17 14:39:56.893035", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005233", "end": "2025-12-17 14:39:50.491192", "msg": "", "rc": 0, "start": "2025-12-17 14:39:50.485959", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010181", "end": "2025-12-17 14:40:23.590639", "msg": "", "rc": 0, "start": "2025-12-17 14:40:23.580458", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011065", "end": "2025-12-17 14:40:23.637483", "msg": "", "rc": 0, "start": "2025-12-17 14:40:23.626418", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005649", "end": "2025-12-17 14:40:23.957254", "msg": "", "rc": 0, "start": "2025-12-17 14:40:23.951605", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005138", "end": "2025-12-17 14:39:53.756973", "msg": "", "rc": 0, "start": "2025-12-17 14:39:53.751835", "stderr": "", "stderr_lines": [], "stdout": "0.51", "stdout_lines": ["0.51"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004005", "end": "2025-12-17 14:40:00.305787", "msg": "", "rc": 0, "start": "2025-12-17 14:40:00.301782", "stderr": "", "stderr_lines": [], "stdout": "0.30", "stdout_lines": ["0.30"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006392", "end": "2025-12-17 11:40:24.206800", "msg": "", "rc": 0, "start": "2025-12-17 11:40:24.200408", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024294", "end": "2025-12-17 14:40:24.286193", "msg": "", "rc": 0, "start": "2025-12-17 14:40:24.261899", "stderr": "", "stderr_lines": [], "stdout": "0.39", "stdout_lines": ["0.39"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005600", "end": "2025-12-17 14:40:24.476920", "msg": "", "rc": 0, "start": "2025-12-17 14:40:24.471320", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011291", "end": "2025-12-17 14:40:25.650093", "msg": "", "rc": 0, "start": "2025-12-17 14:40:25.638802", "stderr": "", "stderr_lines": [], "stdout": "1.39", "stdout_lines": ["1.39"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:12 up 3 days, 4:12, 1 user, load average: 0.25, 0.23, 0.19\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.21\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:12 up 22 days, 1:31, 1 user, load average: 0.29, 0.20, 0.13\nDisk Usage: 23%\nMemory Usage: 77.2%\nCPU Load: 0.25\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:12 up 22 days, 1:51, 1 user, load average: 0.82, 0.71, 0.78\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.85\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:12 up 22 days, 3:04, 1 user, load average: 1.01, 0.67, 0.62\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.93\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:12 up 22 days, 3:50, 1 user, load average: 0.02, 0.04, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:14 up 15 days, 4:06, 1 user, load average: 0.28, 0.16, 0.10\nDisk Usage: 21%\nMemory Usage: 19.7%\nCPU Load: 0.39\nCPU Temp: 35.4°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:13 up 194 days, 6:13, 1 user, load average: 0.41, 0.28, 0.26\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.35\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:13 up 194 days, 6:13, 1 user, load average: 0.21, 0.20, 0.18\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.25\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:39:47 up 11 days, 2:29, 0 user, load average: 0.25, 0.14, 0.12\nDisk Usage: 48%\nMemory Usage: 70.7%\nCPU Load: 0.29\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:39:41 up 17 days, 22:41, 0 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 68.5%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:14 up 3 days, 4:11, 1 user, load average: 0.01, 0.02, 0.00\nDisk Usage: 1%\nMemory Usage: 35.5%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:39:43 up 20 days, 17:34, 0 user, load average: 0.51, 0.46, 0.45\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.51\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:39:50 up 17 days, 3:55, 0 user, load average: 0.16, 0.21, 0.24\nDisk Usage: 76%\nMemory Usage: 57.8%\nCPU Load: 0.30\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40AM up 22 days, 1:30, 1 user, load averages: 0.30, 0.18, 0.16\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:14 up 3 days, 4:11, 1 user, load average: 0.20, 0.15, 0.10\nDisk Usage: 79%\nMemory Usage: 13.7%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:40:15 up 1:41, 1 user, load average: 1.29, 1.24, 1.21\nDisk Usage: 1%\nMemory Usage: 21.1%\nCPU Load: 1.39\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T19:40:27.187574+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `ec6acb48b5694c5bbf20c9011062d0ab` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T19:45:00.003210+00:00 |
| **Fin** | 2025-12-17T19:45:22.117833+00:00 |
| **Durée** | 22.1s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003125", "end": "2025-12-17 14:45:11.594554", "msg": "", "rc": 0, "start": "2025-12-17 14:45:11.591429", "stderr": "", "stderr_lines": [], "stdout": " 14:45:11 up 22 days, 1:36, 1 user, load average: 0.25, 0.19, 0.13", "stdout_lines": [" 14:45:11 up 22 days, 1:36, 1 user, load average: 0.25, 0.19, 0.13"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003208", "end": "2025-12-17 14:45:11.596220", "msg": "", "rc": 0, "start": "2025-12-17 14:45:11.593012", "stderr": "", "stderr_lines": [], "stdout": " 14:45:11 up 22 days, 1:56, 1 user, load average: 0.51, 0.59, 0.70", "stdout_lines": [" 14:45:11 up 22 days, 1:56, 1 user, load average: 0.51, 0.59, 0.70"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004107", "end": "2025-12-17 14:45:11.609333", "msg": "", "rc": 0, "start": "2025-12-17 14:45:11.605226", "stderr": "", "stderr_lines": [], "stdout": " 14:45:11 up 22 days, 3:55, 1 user, load average: 0.06, 0.04, 0.00", "stdout_lines": [" 14:45:11 up 22 days, 3:55, 1 user, load average: 0.06, 0.04, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002845", "end": "2025-12-17 14:45:11.638222", "msg": "", "rc": 0, "start": "2025-12-17 14:45:11.635377", "stderr": "", "stderr_lines": [], "stdout": " 14:45:11 up 3 days, 4:17, 1 user, load average: 0.23, 0.18, 0.18", "stdout_lines": [" 14:45:11 up 3 days, 4:17, 1 user, load average: 0.23, 0.18, 0.18"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002772", "end": "2025-12-17 14:44:45.660819", "msg": "", "rc": 0, "start": "2025-12-17 14:44:45.658047", "stderr": "", "stderr_lines": [], "stdout": " 14:44:45 up 11 days, 2:34, 0 user, load average: 0.03, 0.09, 0.10", "stdout_lines": [" 14:44:45 up 11 days, 2:34, 0 user, load average: 0.03, 0.09, 0.10"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008439", "end": "2025-12-17 14:45:12.329548", "msg": "", "rc": 0, "start": "2025-12-17 14:45:12.321109", "stderr": "", "stderr_lines": [], "stdout": " 14:45:12 up 194 days, 6:18, 1 user, load average: 0.16, 0.20, 0.18", "stdout_lines": [" 14:45:12 up 194 days, 6:18, 1 user, load average: 0.16, 0.20, 0.18"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.010300", "end": "2025-12-17 14:45:12.376700", "msg": "", "rc": 0, "start": "2025-12-17 14:45:12.366400", "stderr": "", "stderr_lines": [], "stdout": " 14:45:12 up 194 days, 6:18, 1 user, load average: 0.17, 0.29, 0.27", "stdout_lines": [" 14:45:12 up 194 days, 6:18, 1 user, load average: 0.17, 0.29, 0.27"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.005015", "end": "2025-12-17 14:45:12.631836", "msg": "", "rc": 0, "start": "2025-12-17 14:45:11.626821", "stderr": "", "stderr_lines": [], "stdout": " 14:45:11 up 22 days, 3:09, 1 user, load average: 0.49, 0.58, 0.61", "stdout_lines": [" 14:45:11 up 22 days, 3:09, 1 user, load average: 0.49, 0.58, 0.61"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003447", "end": "2025-12-17 14:44:39.641285", "msg": "", "rc": 0, "start": "2025-12-17 14:44:39.637838", "stderr": "", "stderr_lines": [], "stdout": " 14:44:39 up 17 days, 22:46, 0 user, load average: 0.07, 0.03, 0.00", "stdout_lines": [" 14:44:39 up 17 days, 22:46, 0 user, load average: 0.07, 0.03, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004746", "end": "2025-12-17 14:45:12.842052", "msg": "", "rc": 0, "start": "2025-12-17 14:45:12.837306", "stderr": "", "stderr_lines": [], "stdout": " 14:45:12 up 3 days, 4:16, 1 user, load average: 0.08, 0.04, 0.01", "stdout_lines": [" 14:45:12 up 3 days, 4:16, 1 user, load average: 0.08, 0.04, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003429", "end": "2025-12-17 14:44:42.549580", "msg": "", "rc": 0, "start": "2025-12-17 14:44:42.546151", "stderr": "", "stderr_lines": [], "stdout": " 14:44:42 up 20 days, 17:39, 0 user, load average: 0.39, 0.39, 0.43", "stdout_lines": [" 14:44:42 up 20 days, 17:39, 0 user, load average: 0.39, 0.39, 0.43"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019681", "end": "2025-12-17 14:45:13.029700", "msg": "", "rc": 0, "start": "2025-12-17 14:45:13.010019", "stderr": "", "stderr_lines": [], "stdout": " 14:45:13 up 15 days, 4:11, 1 user, load average: 0.20, 0.15, 0.10", "stdout_lines": [" 14:45:13 up 15 days, 4:11, 1 user, load average: 0.20, 0.15, 0.10"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002919", "end": "2025-12-17 14:44:49.331329", "msg": "", "rc": 0, "start": "2025-12-17 14:44:49.328410", "stderr": "", "stderr_lines": [], "stdout": " 14:44:49 up 17 days, 4:00, 0 user, load average: 0.04, 0.16, 0.21", "stdout_lines": [" 14:44:49 up 17 days, 4:00, 0 user, load average: 0.04, 0.16, 0.21"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004289", "end": "2025-12-17 11:45:13.322927", "msg": "", "rc": 0, "start": "2025-12-17 11:45:13.318638", "stderr": "", "stderr_lines": [], "stdout": "11:45AM up 22 days, 1:35, 1 user, load averages: 0.20, 0.23, 0.18", "stdout_lines": ["11:45AM up 22 days, 1:35, 1 user, load averages: 0.20, 0.23, 0.18"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.010011", "end": "2025-12-17 14:45:14.370474", "msg": "", "rc": 0, "start": "2025-12-17 14:45:14.360463", "stderr": "", "stderr_lines": [], "stdout": " 14:45:14 up 1:46, 1 user, load average: 1.49, 1.33, 1.25", "stdout_lines": [" 14:45:14 up 1:46, 1 user, load average: 1.49, 1.33, 1.25"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003751", "end": "2025-12-17 14:45:13.486918", "msg": "", "rc": 0, "start": "2025-12-17 14:45:13.483167", "stderr": "", "stderr_lines": [], "stdout": " 14:45:13 up 3 days, 4:16, 1 user, load average: 0.07, 0.06, 0.07", "stdout_lines": [" 14:45:13 up 3 days, 4:16, 1 user, load average: 0.07, 0.06, 0.07"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004247", "end": "2025-12-17 14:45:13.884480", "msg": "", "rc": 0, "start": "2025-12-17 14:45:13.880233", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004226", "end": "2025-12-17 14:45:13.910126", "msg": "", "rc": 0, "start": "2025-12-17 14:45:13.905900", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004637", "end": "2025-12-17 14:45:13.915593", "msg": "", "rc": 0, "start": "2025-12-17 14:45:13.910956", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004662", "end": "2025-12-17 14:45:13.953977", "msg": "", "rc": 0, "start": "2025-12-17 14:45:13.949315", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005351", "end": "2025-12-17 14:45:13.949003", "msg": "", "rc": 0, "start": "2025-12-17 14:45:13.943652", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005235", "end": "2025-12-17 14:44:47.898333", "msg": "", "rc": 0, "start": "2025-12-17 14:44:47.893098", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005505", "end": "2025-12-17 14:44:41.456765", "msg": "", "rc": 0, "start": "2025-12-17 14:44:41.451260", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010855", "end": "2025-12-17 14:45:14.701241", "msg": "", "rc": 0, "start": "2025-12-17 14:45:14.690386", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011574", "end": "2025-12-17 14:45:14.730074", "msg": "", "rc": 0, "start": "2025-12-17 14:45:14.718500", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007031", "end": "2025-12-17 14:45:14.870202", "msg": "", "rc": 0, "start": "2025-12-17 14:45:14.863171", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005438", "end": "2025-12-17 14:44:44.632512", "msg": "", "rc": 0, "start": "2025-12-17 14:44:44.627074", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004677", "end": "2025-12-17 14:44:51.325734", "msg": "", "rc": 0, "start": "2025-12-17 14:44:51.321057", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005676", "end": "2025-12-17 11:45:15.208318", "msg": "", "rc": 0, "start": "2025-12-17 11:45:15.202642", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005344", "end": "2025-12-17 14:45:15.303134", "msg": "", "rc": 0, "start": "2025-12-17 14:45:15.297790", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.009527", "end": "2025-12-17 14:45:16.341661", "msg": "", "rc": 0, "start": "2025-12-17 14:45:16.332134", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025752", "end": "2025-12-17 14:45:15.292311", "msg": "", "rc": 0, "start": "2025-12-17 14:45:15.266559", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004297", "end": "2025-12-17 14:45:15.826060", "msg": "", "rc": 0, "start": "2025-12-17 14:45:15.821763", "stderr": "", "stderr_lines": [], "stdout": "77.3%", "stdout_lines": ["77.3%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004119", "end": "2025-12-17 14:45:15.830463", "msg": "", "rc": 0, "start": "2025-12-17 14:45:15.826344", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004634", "end": "2025-12-17 14:45:15.834079", "msg": "", "rc": 0, "start": "2025-12-17 14:45:15.829445", "stderr": "", "stderr_lines": [], "stdout": "49.2%", "stdout_lines": ["49.2%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005345", "end": "2025-12-17 14:45:15.870354", "msg": "", "rc": 0, "start": "2025-12-17 14:45:15.865009", "stderr": "", "stderr_lines": [], "stdout": "9.1%", "stdout_lines": ["9.1%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005734", "end": "2025-12-17 14:45:15.878260", "msg": "", "rc": 0, "start": "2025-12-17 14:45:15.872526", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003852", "end": "2025-12-17 14:44:49.839199", "msg": "", "rc": 0, "start": "2025-12-17 14:44:49.835347", "stderr": "", "stderr_lines": [], "stdout": "71.0%", "stdout_lines": ["71.0%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004592", "end": "2025-12-17 14:44:43.376924", "msg": "", "rc": 0, "start": "2025-12-17 14:44:43.372332", "stderr": "", "stderr_lines": [], "stdout": "68.4%", "stdout_lines": ["68.4%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010802", "end": "2025-12-17 14:45:16.535062", "msg": "", "rc": 0, "start": "2025-12-17 14:45:16.524260", "stderr": "", "stderr_lines": [], "stdout": "6.8%", "stdout_lines": ["6.8%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012184", "end": "2025-12-17 14:45:16.560367", "msg": "", "rc": 0, "start": "2025-12-17 14:45:16.548183", "stderr": "", "stderr_lines": [], "stdout": "12.7%", "stdout_lines": ["12.7%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005883", "end": "2025-12-17 14:45:16.793963", "msg": "", "rc": 0, "start": "2025-12-17 14:45:16.788080", "stderr": "", "stderr_lines": [], "stdout": "35.5%", "stdout_lines": ["35.5%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004231", "end": "2025-12-17 14:44:46.563236", "msg": "", "rc": 0, "start": "2025-12-17 14:44:46.559005", "stderr": "", "stderr_lines": [], "stdout": "27.1%", "stdout_lines": ["27.1%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005166", "end": "2025-12-17 11:45:17.031846", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 11:45:17.026680", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003916", "end": "2025-12-17 14:44:53.165812", "msg": "", "rc": 0, "start": "2025-12-17 14:44:53.161896", "stderr": "", "stderr_lines": [], "stdout": "56.9%", "stdout_lines": ["56.9%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005389", "end": "2025-12-17 14:45:17.224945", "msg": "", "rc": 0, "start": "2025-12-17 14:45:17.219556", "stderr": "", "stderr_lines": [], "stdout": "14.1%", "stdout_lines": ["14.1%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011078", "end": "2025-12-17 14:45:18.405029", "msg": "", "rc": 0, "start": "2025-12-17 14:45:18.393951", "stderr": "", "stderr_lines": [], "stdout": "21.6%", "stdout_lines": ["21.6%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026385", "end": "2025-12-17 14:45:17.228085", "msg": "", "rc": 0, "start": "2025-12-17 14:45:17.201700", "stderr": "", "stderr_lines": [], "stdout": "19.1%", "stdout_lines": ["19.1%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004887", "end": "2025-12-17 14:45:17.771584", "msg": "", "rc": 0, "start": "2025-12-17 14:45:17.766697", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005034", "end": "2025-12-17 14:45:17.775773", "msg": "", "rc": 0, "start": "2025-12-17 14:45:17.770739", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006400", "end": "2025-12-17 14:45:17.811739", "msg": "", "rc": 0, "start": "2025-12-17 14:45:17.805339", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002978", "end": "2025-12-17 14:45:17.825172", "msg": "", "rc": 0, "start": "2025-12-17 14:45:17.822194", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.007008", "end": "2025-12-17 14:45:17.854134", "msg": "", "rc": 0, "start": "2025-12-17 14:45:17.847126", "stderr": "", "stderr_lines": [], "stdout": "52.5°C", "stdout_lines": ["52.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002813", "end": "2025-12-17 14:44:51.793075", "msg": "", "rc": 0, "start": "2025-12-17 14:44:51.790262", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003107", "end": "2025-12-17 14:44:45.354472", "msg": "", "rc": 0, "start": "2025-12-17 14:44:45.351365", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011825", "end": "2025-12-17 14:45:18.479804", "msg": "", "rc": 0, "start": "2025-12-17 14:45:18.467979", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013181", "end": "2025-12-17 14:45:18.504952", "msg": "", "rc": 0, "start": "2025-12-17 14:45:18.491771", "stderr": "", "stderr_lines": [], "stdout": "36.0°C", "stdout_lines": ["36.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003161", "end": "2025-12-17 14:45:18.755627", "msg": "", "rc": 0, "start": "2025-12-17 14:45:18.752466", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002861", "end": "2025-12-17 14:44:48.531305", "msg": "", "rc": 0, "start": "2025-12-17 14:44:48.528444", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003920", "end": "2025-12-17 11:45:18.967052", "msg": "", "rc": 0, "start": "2025-12-17 11:45:18.963132", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002886", "end": "2025-12-17 14:44:55.104147", "msg": "", "rc": 0, "start": "2025-12-17 14:44:55.101261", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002976", "end": "2025-12-17 14:45:19.180509", "msg": "", "rc": 0, "start": "2025-12-17 14:45:19.177533", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004029", "end": "2025-12-17 14:45:19.274859", "msg": "", "rc": 0, "start": "2025-12-17 14:45:19.270830", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028320", "end": "2025-12-17 14:45:19.180013", "msg": "", "rc": 0, "start": "2025-12-17 14:45:19.151693", "stderr": "", "stderr_lines": [], "stdout": "35.7°C", "stdout_lines": ["35.7°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004065", "end": "2025-12-17 14:45:19.706121", "msg": "", "rc": 0, "start": "2025-12-17 14:45:19.702056", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004133", "end": "2025-12-17 14:45:19.736975", "msg": "", "rc": 0, "start": "2025-12-17 14:45:19.732842", "stderr": "", "stderr_lines": [], "stdout": "0.53", "stdout_lines": ["0.53"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004726", "end": "2025-12-17 14:45:19.734906", "msg": "", "rc": 0, "start": "2025-12-17 14:45:19.730180", "stderr": "", "stderr_lines": [], "stdout": "0.47", "stdout_lines": ["0.47"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005300", "end": "2025-12-17 14:45:19.756025", "msg": "", "rc": 0, "start": "2025-12-17 14:45:19.750725", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005481", "end": "2025-12-17 14:45:19.779311", "msg": "", "rc": 0, "start": "2025-12-17 14:45:19.773830", "stderr": "", "stderr_lines": [], "stdout": "0.64", "stdout_lines": ["0.64"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005150", "end": "2025-12-17 14:44:53.747286", "msg": "", "rc": 0, "start": "2025-12-17 14:44:53.742136", "stderr": "", "stderr_lines": [], "stdout": "0.03", "stdout_lines": ["0.03"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005810", "end": "2025-12-17 14:44:47.285997", "msg": "", "rc": 0, "start": "2025-12-17 14:44:47.280187", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010153", "end": "2025-12-17 14:45:20.524439", "msg": "", "rc": 0, "start": "2025-12-17 14:45:20.514286", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011080", "end": "2025-12-17 14:45:20.547008", "msg": "", "rc": 0, "start": "2025-12-17 14:45:20.535928", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005616", "end": "2025-12-17 14:45:20.737833", "msg": "", "rc": 0, "start": "2025-12-17 14:45:20.732217", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005309", "end": "2025-12-17 14:44:50.469614", "msg": "", "rc": 0, "start": "2025-12-17 14:44:50.464305", "stderr": "", "stderr_lines": [], "stdout": "0.36", "stdout_lines": ["0.36"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006111", "end": "2025-12-17 11:45:21.040482", "msg": "", "rc": 0, "start": "2025-12-17 11:45:21.034371", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004154", "end": "2025-12-17 14:44:57.162022", "msg": "", "rc": 0, "start": "2025-12-17 14:44:57.157868", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008714", "end": "2025-12-17 14:45:21.305824", "msg": "", "rc": 0, "start": "2025-12-17 14:45:21.297110", "stderr": "", "stderr_lines": [], "stdout": "1.58", "stdout_lines": ["1.58"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024171", "end": "2025-12-17 14:45:21.106891", "msg": "", "rc": 0, "start": "2025-12-17 14:45:21.082720", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005265", "end": "2025-12-17 14:45:21.232225", "msg": "", "rc": 0, "start": "2025-12-17 14:45:21.226960", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:11 up 3 days, 4:17, 1 user, load average: 0.23, 0.18, 0.18\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.53\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:11 up 22 days, 1:36, 1 user, load average: 0.25, 0.19, 0.13\nDisk Usage: 23%\nMemory Usage: 77.3%\nCPU Load: 0.21\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:11 up 22 days, 1:56, 1 user, load average: 0.51, 0.59, 0.70\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.47\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:11 up 22 days, 3:09, 1 user, load average: 0.49, 0.58, 0.61\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.64\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:11 up 22 days, 3:55, 1 user, load average: 0.06, 0.04, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:13 up 15 days, 4:11, 1 user, load average: 0.20, 0.15, 0.10\nDisk Usage: 21%\nMemory Usage: 19.1%\nCPU Load: 0.26\nCPU Temp: 35.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:12 up 194 days, 6:18, 1 user, load average: 0.17, 0.29, 0.27\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.24\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:12 up 194 days, 6:18, 1 user, load average: 0.16, 0.20, 0.18\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.15\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:44:45 up 11 days, 2:34, 0 user, load average: 0.03, 0.09, 0.10\nDisk Usage: 48%\nMemory Usage: 71.0%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:44:39 up 17 days, 22:46, 0 user, load average: 0.07, 0.03, 0.00\nDisk Usage: 24%\nMemory Usage: 68.4%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:12 up 3 days, 4:16, 1 user, load average: 0.08, 0.04, 0.01\nDisk Usage: 1%\nMemory Usage: 35.5%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:44:42 up 20 days, 17:39, 0 user, load average: 0.39, 0.39, 0.43\nDisk Usage: 28%\nMemory Usage: 27.1%\nCPU Load: 0.36\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:44:49 up 17 days, 4:00, 0 user, load average: 0.04, 0.16, 0.21\nDisk Usage: 76%\nMemory Usage: 56.9%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45AM up 22 days, 1:35, 1 user, load averages: 0.20, 0.23, 0.18\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:13 up 3 days, 4:16, 1 user, load average: 0.07, 0.06, 0.07\nDisk Usage: 79%\nMemory Usage: 14.1%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:45:14 up 1:46, 1 user, load average: 1.49, 1.33, 1.25\nDisk Usage: 1%\nMemory Usage: 21.6%\nCPU Load: 1.58\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T19:45:22.170005+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `60c1fe82538f4aa5af9f617f4d731197` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T19:50:00.002045+00:00 |
| **Fin** | 2025-12-17T19:50:22.209639+00:00 |
| **Durée** | 22.2s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp2.i7.home]
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003066", "end": "2025-12-17 14:50:10.995618", "msg": "", "rc": 0, "start": "2025-12-17 14:50:10.992552", "stderr": "", "stderr_lines": [], "stdout": " 14:50:10 up 22 days, 1:41, 1 user, load average: 0.18, 0.20, 0.15", "stdout_lines": [" 14:50:10 up 22 days, 1:41, 1 user, load average: 0.18, 0.20, 0.15"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003726", "end": "2025-12-17 14:50:11.013886", "msg": "", "rc": 0, "start": "2025-12-17 14:50:11.010160", "stderr": "", "stderr_lines": [], "stdout": " 14:50:11 up 22 days, 4:00, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 14:50:11 up 22 days, 4:00, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003942", "end": "2025-12-17 14:50:11.036621", "msg": "", "rc": 0, "start": "2025-12-17 14:50:11.032679", "stderr": "", "stderr_lines": [], "stdout": " 14:50:11 up 22 days, 3:14, 1 user, load average: 1.00, 0.72, 0.66", "stdout_lines": [" 14:50:11 up 22 days, 3:14, 1 user, load average: 1.00, 0.72, 0.66"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003537", "end": "2025-12-17 14:50:11.029521", "msg": "", "rc": 0, "start": "2025-12-17 14:50:11.025984", "stderr": "", "stderr_lines": [], "stdout": " 14:50:11 up 22 days, 2:01, 1 user, load average: 0.48, 0.50, 0.63", "stdout_lines": [" 14:50:11 up 22 days, 2:01, 1 user, load average: 0.48, 0.50, 0.63"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003127", "end": "2025-12-17 14:50:11.043130", "msg": "", "rc": 0, "start": "2025-12-17 14:50:11.040003", "stderr": "", "stderr_lines": [], "stdout": " 14:50:11 up 3 days, 4:22, 1 user, load average: 0.27, 0.23, 0.19", "stdout_lines": [" 14:50:11 up 3 days, 4:22, 1 user, load average: 0.27, 0.23, 0.19"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003580", "end": "2025-12-17 14:49:45.226153", "msg": "", "rc": 0, "start": "2025-12-17 14:49:45.222573", "stderr": "", "stderr_lines": [], "stdout": " 14:49:45 up 11 days, 2:39, 0 user, load average: 0.20, 0.11, 0.10", "stdout_lines": [" 14:49:45 up 11 days, 2:39, 0 user, load average: 0.20, 0.11, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003348", "end": "2025-12-17 14:49:38.747643", "msg": "", "rc": 0, "start": "2025-12-17 14:49:38.744295", "stderr": "", "stderr_lines": [], "stdout": " 14:49:38 up 17 days, 22:51, 0 user, load average: 0.07, 0.04, 0.00", "stdout_lines": [" 14:49:38 up 17 days, 22:51, 0 user, load average: 0.07, 0.04, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008562", "end": "2025-12-17 14:50:11.894712", "msg": "", "rc": 0, "start": "2025-12-17 14:50:11.886150", "stderr": "", "stderr_lines": [], "stdout": " 14:50:11 up 194 days, 6:23, 1 user, load average: 0.05, 0.13, 0.16", "stdout_lines": [" 14:50:11 up 194 days, 6:23, 1 user, load average: 0.05, 0.13, 0.16"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009179", "end": "2025-12-17 14:50:11.920799", "msg": "", "rc": 0, "start": "2025-12-17 14:50:11.911620", "stderr": "", "stderr_lines": [], "stdout": " 14:50:11 up 194 days, 6:23, 1 user, load average: 0.28, 0.26, 0.26", "stdout_lines": [" 14:50:11 up 194 days, 6:23, 1 user, load average: 0.28, 0.26, 0.26"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004872", "end": "2025-12-17 14:50:12.218657", "msg": "", "rc": 0, "start": "2025-12-17 14:50:12.213785", "stderr": "", "stderr_lines": [], "stdout": " 14:50:12 up 3 days, 4:21, 1 user, load average: 0.15, 0.07, 0.01", "stdout_lines": [" 14:50:12 up 3 days, 4:21, 1 user, load average: 0.15, 0.07, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004193", "end": "2025-12-17 14:49:41.932542", "msg": "", "rc": 0, "start": "2025-12-17 14:49:41.928349", "stderr": "", "stderr_lines": [], "stdout": " 14:49:41 up 20 days, 17:43, 0 user, load average: 0.27, 0.39, 0.43", "stdout_lines": [" 14:49:41 up 20 days, 17:43, 0 user, load average: 0.27, 0.39, 0.43"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004505", "end": "2025-12-17 11:50:12.454512", "msg": "", "rc": 0, "start": "2025-12-17 11:50:12.450007", "stderr": "", "stderr_lines": [], "stdout": "11:50AM up 22 days, 1:39, 1 user, load averages: 0.09, 0.17, 0.16", "stdout_lines": ["11:50AM up 22 days, 1:39, 1 user, load averages: 0.09, 0.17, 0.16"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002860", "end": "2025-12-17 14:49:48.562937", "msg": "", "rc": 0, "start": "2025-12-17 14:49:48.560077", "stderr": "", "stderr_lines": [], "stdout": " 14:49:48 up 17 days, 4:05, 0 user, load average: 0.16, 0.12, 0.17", "stdout_lines": [" 14:49:48 up 17 days, 4:05, 0 user, load average: 0.16, 0.12, 0.17"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006139", "end": "2025-12-17 14:50:12.877739", "msg": "", "rc": 0, "start": "2025-12-17 14:50:12.871600", "stderr": "", "stderr_lines": [], "stdout": " 14:50:12 up 1:51, 1 user, load average: 1.70, 1.37, 1.28", "stdout_lines": [" 14:50:12 up 1:51, 1 user, load average: 1.70, 1.37, 1.28"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019483", "end": "2025-12-17 14:50:12.551983", "msg": "", "rc": 0, "start": "2025-12-17 14:50:12.532500", "stderr": "", "stderr_lines": [], "stdout": " 14:50:12 up 15 days, 4:16, 1 user, load average: 0.23, 0.14, 0.10", "stdout_lines": [" 14:50:12 up 15 days, 4:16, 1 user, load average: 0.23, 0.14, 0.10"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003640", "end": "2025-12-17 14:50:12.689661", "msg": "", "rc": 0, "start": "2025-12-17 14:50:12.686021", "stderr": "", "stderr_lines": [], "stdout": " 14:50:12 up 3 days, 4:21, 1 user, load average: 0.01, 0.05, 0.07", "stdout_lines": [" 14:50:12 up 3 days, 4:21, 1 user, load average: 0.01, 0.05, 0.07"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004246", "end": "2025-12-17 14:50:13.194730", "msg": "", "rc": 0, "start": "2025-12-17 14:50:13.190484", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004085", "end": "2025-12-17 14:50:13.206149", "msg": "", "rc": 0, "start": "2025-12-17 14:50:13.202064", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004804", "end": "2025-12-17 14:50:13.208328", "msg": "", "rc": 0, "start": "2025-12-17 14:50:13.203524", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004331", "end": "2025-12-17 14:50:13.303299", "msg": "", "rc": 0, "start": "2025-12-17 14:50:13.298968", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005590", "end": "2025-12-17 14:50:13.316949", "msg": "", "rc": 0, "start": "2025-12-17 14:50:13.311359", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005133", "end": "2025-12-17 14:49:47.475536", "msg": "", "rc": 0, "start": "2025-12-17 14:49:47.470403", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005788", "end": "2025-12-17 14:49:41.006725", "msg": "", "rc": 0, "start": "2025-12-17 14:49:41.000937", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010566", "end": "2025-12-17 14:50:14.260574", "msg": "", "rc": 0, "start": "2025-12-17 14:50:14.250008", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.012647", "end": "2025-12-17 14:50:14.286219", "msg": "", "rc": 0, "start": "2025-12-17 14:50:14.273572", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005684", "end": "2025-12-17 14:50:14.508723", "msg": "", "rc": 0, "start": "2025-12-17 14:50:14.503039", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005134", "end": "2025-12-17 14:49:44.193090", "msg": "", "rc": 0, "start": "2025-12-17 14:49:44.187956", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005585", "end": "2025-12-17 11:50:14.755221", "msg": "", "rc": 0, "start": "2025-12-17 11:50:14.749636", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005143", "end": "2025-12-17 14:49:50.867882", "msg": "", "rc": 0, "start": "2025-12-17 14:49:50.862739", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.009471", "end": "2025-12-17 14:50:15.227628", "msg": "", "rc": 0, "start": "2025-12-17 14:50:15.218157", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005313", "end": "2025-12-17 14:50:14.931819", "msg": "", "rc": 0, "start": "2025-12-17 14:50:14.926506", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025603", "end": "2025-12-17 14:50:14.826980", "msg": "", "rc": 0, "start": "2025-12-17 14:50:14.801377", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004435", "end": "2025-12-17 14:50:15.376197", "msg": "", "rc": 0, "start": "2025-12-17 14:50:15.371762", "stderr": "", "stderr_lines": [], "stdout": "77.3%", "stdout_lines": ["77.3%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004178", "end": "2025-12-17 14:50:15.387033", "msg": "", "rc": 0, "start": "2025-12-17 14:50:15.382855", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004896", "end": "2025-12-17 14:50:15.391251", "msg": "", "rc": 0, "start": "2025-12-17 14:50:15.386355", "stderr": "", "stderr_lines": [], "stdout": "49.4%", "stdout_lines": ["49.4%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005398", "end": "2025-12-17 14:50:15.416665", "msg": "", "rc": 0, "start": "2025-12-17 14:50:15.411267", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005138", "end": "2025-12-17 14:50:15.420016", "msg": "", "rc": 0, "start": "2025-12-17 14:50:15.414878", "stderr": "", "stderr_lines": [], "stdout": "8.9%", "stdout_lines": ["8.9%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005059", "end": "2025-12-17 14:49:49.429419", "msg": "", "rc": 0, "start": "2025-12-17 14:49:49.424360", "stderr": "", "stderr_lines": [], "stdout": "71.0%", "stdout_lines": ["71.0%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004157", "end": "2025-12-17 14:49:42.932408", "msg": "", "rc": 0, "start": "2025-12-17 14:49:42.928251", "stderr": "", "stderr_lines": [], "stdout": "68.3%", "stdout_lines": ["68.3%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011120", "end": "2025-12-17 14:50:16.089245", "msg": "", "rc": 0, "start": "2025-12-17 14:50:16.078125", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012055", "end": "2025-12-17 14:50:16.096551", "msg": "", "rc": 0, "start": "2025-12-17 14:50:16.084496", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.1%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006062", "end": "2025-12-17 14:50:16.445331", "msg": "", "rc": 0, "start": "2025-12-17 14:50:16.439269", "stderr": "", "stderr_lines": [], "stdout": "35.5%", "stdout_lines": ["35.5%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004134", "end": "2025-12-17 14:49:46.121639", "msg": "", "rc": 0, "start": "2025-12-17 14:49:46.117505", "stderr": "", "stderr_lines": [], "stdout": "27.1%", "stdout_lines": ["27.1%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005133", "end": "2025-12-17 11:50:16.577948", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 11:50:16.572815", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003872", "end": "2025-12-17 14:49:52.698580", "msg": "", "rc": 0, "start": "2025-12-17 14:49:52.694708", "stderr": "", "stderr_lines": [], "stdout": "54.7%", "stdout_lines": ["54.7%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011193", "end": "2025-12-17 14:50:17.253950", "msg": "", "rc": 0, "start": "2025-12-17 14:50:17.242757", "stderr": "", "stderr_lines": [], "stdout": "21.7%", "stdout_lines": ["21.7%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005649", "end": "2025-12-17 14:50:16.884650", "msg": "", "rc": 0, "start": "2025-12-17 14:50:16.879001", "stderr": "", "stderr_lines": [], "stdout": "13.8%", "stdout_lines": ["13.8%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025863", "end": "2025-12-17 14:50:16.781801", "msg": "", "rc": 0, "start": "2025-12-17 14:50:16.755938", "stderr": "", "stderr_lines": [], "stdout": "19.7%", "stdout_lines": ["19.7%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005406", "end": "2025-12-17 14:50:17.335541", "msg": "", "rc": 0, "start": "2025-12-17 14:50:17.330135", "stderr": "", "stderr_lines": [], "stdout": "46.0°C", "stdout_lines": ["46.0°C"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005020", "end": "2025-12-17 14:50:17.342555", "msg": "", "rc": 0, "start": "2025-12-17 14:50:17.337535", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005688", "end": "2025-12-17 14:50:17.356639", "msg": "", "rc": 0, "start": "2025-12-17 14:50:17.350951", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003563", "end": "2025-12-17 14:50:17.370256", "msg": "", "rc": 0, "start": "2025-12-17 14:50:17.366693", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006624", "end": "2025-12-17 14:50:17.396349", "msg": "", "rc": 0, "start": "2025-12-17 14:50:17.389725", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003080", "end": "2025-12-17 14:49:51.387838", "msg": "", "rc": 0, "start": "2025-12-17 14:49:51.384758", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003892", "end": "2025-12-17 14:49:44.891116", "msg": "", "rc": 0, "start": "2025-12-17 14:49:44.887224", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012143", "end": "2025-12-17 14:50:18.032481", "msg": "", "rc": 0, "start": "2025-12-17 14:50:18.020338", "stderr": "", "stderr_lines": [], "stdout": "31.6°C", "stdout_lines": ["31.6°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012993", "end": "2025-12-17 14:50:18.082554", "msg": "", "rc": 0, "start": "2025-12-17 14:50:18.069561", "stderr": "", "stderr_lines": [], "stdout": "36.0°C", "stdout_lines": ["36.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003164", "end": "2025-12-17 14:50:18.348659", "msg": "", "rc": 0, "start": "2025-12-17 14:50:18.345495", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002865", "end": "2025-12-17 14:49:48.075544", "msg": "", "rc": 0, "start": "2025-12-17 14:49:48.072679", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002688", "end": "2025-12-17 14:49:54.651909", "msg": "", "rc": 0, "start": "2025-12-17 14:49:54.649221", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003873", "end": "2025-12-17 11:50:18.557074", "msg": "", "rc": 0, "start": "2025-12-17 11:50:18.553201", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002946", "end": "2025-12-17 14:50:18.777094", "msg": "", "rc": 0, "start": "2025-12-17 14:50:18.774148", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004281", "end": "2025-12-17 14:50:19.253997", "msg": "", "rc": 0, "start": "2025-12-17 14:50:19.249716", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028733", "end": "2025-12-17 14:50:18.755926", "msg": "", "rc": 0, "start": "2025-12-17 14:50:18.727193", "stderr": "", "stderr_lines": [], "stdout": "35.7°C", "stdout_lines": ["35.7°C"]}
TASK [Get CPU load] ************************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004009", "end": "2025-12-17 14:50:19.285040", "msg": "", "rc": 0, "start": "2025-12-17 14:50:19.281031", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004200", "end": "2025-12-17 14:50:19.286407", "msg": "", "rc": 0, "start": "2025-12-17 14:50:19.282207", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004813", "end": "2025-12-17 14:50:19.309430", "msg": "", "rc": 0, "start": "2025-12-17 14:50:19.304617", "stderr": "", "stderr_lines": [], "stdout": "0.52", "stdout_lines": ["0.52"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004742", "end": "2025-12-17 14:50:19.336771", "msg": "", "rc": 0, "start": "2025-12-17 14:50:19.332029", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005410", "end": "2025-12-17 14:50:19.337186", "msg": "", "rc": 0, "start": "2025-12-17 14:50:19.331776", "stderr": "", "stderr_lines": [], "stdout": "1.00", "stdout_lines": ["1.00"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004147", "end": "2025-12-17 14:49:53.283585", "msg": "", "rc": 0, "start": "2025-12-17 14:49:53.279438", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005406", "end": "2025-12-17 14:49:46.826190", "msg": "", "rc": 0, "start": "2025-12-17 14:49:46.820784", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010109", "end": "2025-12-17 14:50:20.066547", "msg": "", "rc": 0, "start": "2025-12-17 14:50:20.056438", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011301", "end": "2025-12-17 14:50:20.105448", "msg": "", "rc": 0, "start": "2025-12-17 14:50:20.094147", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005557", "end": "2025-12-17 14:50:20.268186", "msg": "", "rc": 0, "start": "2025-12-17 14:50:20.262629", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005023", "end": "2025-12-17 14:49:50.001575", "msg": "", "rc": 0, "start": "2025-12-17 14:49:49.996552", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006418", "end": "2025-12-17 11:50:20.580087", "msg": "", "rc": 0, "start": "2025-12-17 11:50:20.573669", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004701", "end": "2025-12-17 14:49:56.691920", "msg": "", "rc": 0, "start": "2025-12-17 14:49:56.687219", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005209", "end": "2025-12-17 14:50:20.688695", "msg": "", "rc": 0, "start": "2025-12-17 14:50:20.683486", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008902", "end": "2025-12-17 14:50:21.269514", "msg": "", "rc": 0, "start": "2025-12-17 14:50:21.260612", "stderr": "", "stderr_lines": [], "stdout": "1.98", "stdout_lines": ["1.98"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024340", "end": "2025-12-17 14:50:20.672232", "msg": "", "rc": 0, "start": "2025-12-17 14:50:20.647892", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:11 up 3 days, 4:22, 1 user, load average: 0.27, 0.23, 0.19\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.25\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:10 up 22 days, 1:41, 1 user, load average: 0.18, 0.20, 0.15\nDisk Usage: 23%\nMemory Usage: 77.3%\nCPU Load: 0.31\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:11 up 22 days, 2:01, 1 user, load average: 0.48, 0.50, 0.63\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.52\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:11 up 22 days, 3:14, 1 user, load average: 1.00, 0.72, 0.66\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 1.00\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:11 up 22 days, 4:00, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 9%\nMemory Usage: 8.9%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:12 up 15 days, 4:16, 1 user, load average: 0.23, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 19.7%\nCPU Load: 0.29\nCPU Temp: 35.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:11 up 194 days, 6:23, 1 user, load average: 0.28, 0.26, 0.26\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.26\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:49:45 up 11 days, 2:39, 0 user, load average: 0.20, 0.11, 0.10\nDisk Usage: 48%\nMemory Usage: 71.0%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:49:38 up 17 days, 22:51, 0 user, load average: 0.07, 0.04, 0.00\nDisk Usage: 24%\nMemory Usage: 68.3%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:11 up 194 days, 6:23, 1 user, load average: 0.05, 0.13, 0.16\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.04\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:12 up 3 days, 4:21, 1 user, load average: 0.15, 0.07, 0.01\nDisk Usage: 1%\nMemory Usage: 35.5%\nCPU Load: 0.21\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:49:41 up 20 days, 17:43, 0 user, load average: 0.27, 0.39, 0.43\nDisk Usage: 28%\nMemory Usage: 27.1%\nCPU Load: 0.25\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:49:48 up 17 days, 4:05, 0 user, load average: 0.16, 0.12, 0.17\nDisk Usage: 76%\nMemory Usage: 54.7%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:50AM up 22 days, 1:39, 1 user, load averages: 0.09, 0.17, 0.16\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:12 up 3 days, 4:21, 1 user, load average: 0.01, 0.05, 0.07\nDisk Usage: 79%\nMemory Usage: 13.8%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:50:12 up 1:51, 1 user, load average: 1.70, 1.37, 1.28\nDisk Usage: 1%\nMemory Usage: 21.7%\nCPU Load: 1.98\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T19:50:22.245121+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `b8cd2e3cb87f4b109c6542ebac2607ab` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T19:55:00.000923+00:00 |
| **Fin** | 2025-12-17T19:55:22.678850+00:00 |
| **Durée** | 22.7s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003283", "end": "2025-12-17 14:55:11.433526", "msg": "", "rc": 0, "start": "2025-12-17 14:55:11.430243", "stderr": "", "stderr_lines": [], "stdout": " 14:55:11 up 22 days, 1:46, 1 user, load average: 0.34, 0.25, 0.19", "stdout_lines": [" 14:55:11 up 22 days, 1:46, 1 user, load average: 0.34, 0.25, 0.19"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003805", "end": "2025-12-17 14:55:11.446085", "msg": "", "rc": 0, "start": "2025-12-17 14:55:11.442280", "stderr": "", "stderr_lines": [], "stdout": " 14:55:11 up 22 days, 4:05, 1 user, load average: 0.07, 0.02, 0.00", "stdout_lines": [" 14:55:11 up 22 days, 4:05, 1 user, load average: 0.07, 0.02, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003182", "end": "2025-12-17 14:55:11.440691", "msg": "", "rc": 0, "start": "2025-12-17 14:55:11.437509", "stderr": "", "stderr_lines": [], "stdout": " 14:55:11 up 22 days, 2:06, 1 user, load average: 0.45, 0.42, 0.55", "stdout_lines": [" 14:55:11 up 22 days, 2:06, 1 user, load average: 0.45, 0.42, 0.55"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002901", "end": "2025-12-17 14:55:11.467262", "msg": "", "rc": 0, "start": "2025-12-17 14:55:11.464361", "stderr": "", "stderr_lines": [], "stdout": " 14:55:11 up 3 days, 4:27, 1 user, load average: 0.21, 0.17, 0.17", "stdout_lines": [" 14:55:11 up 3 days, 4:27, 1 user, load average: 0.21, 0.17, 0.17"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002945", "end": "2025-12-17 14:54:45.398680", "msg": "", "rc": 0, "start": "2025-12-17 14:54:45.395735", "stderr": "", "stderr_lines": [], "stdout": " 14:54:45 up 11 days, 2:44, 0 user, load average: 0.10, 0.08, 0.09", "stdout_lines": [" 14:54:45 up 11 days, 2:44, 0 user, load average: 0.10, 0.08, 0.09"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008536", "end": "2025-12-17 14:55:12.109036", "msg": "", "rc": 0, "start": "2025-12-17 14:55:12.100500", "stderr": "", "stderr_lines": [], "stdout": " 14:55:12 up 194 days, 6:28, 1 user, load average: 0.11, 0.14, 0.16", "stdout_lines": [" 14:55:12 up 194 days, 6:28, 1 user, load average: 0.11, 0.14, 0.16"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009150", "end": "2025-12-17 14:55:12.152905", "msg": "", "rc": 0, "start": "2025-12-17 14:55:12.143755", "stderr": "", "stderr_lines": [], "stdout": " 14:55:12 up 194 days, 6:28, 1 user, load average: 0.12, 0.21, 0.24", "stdout_lines": [" 14:55:12 up 194 days, 6:28, 1 user, load average: 0.12, 0.21, 0.24"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003325", "end": "2025-12-17 14:54:39.376639", "msg": "", "rc": 0, "start": "2025-12-17 14:54:39.373314", "stderr": "", "stderr_lines": [], "stdout": " 14:54:39 up 17 days, 22:56, 0 user, load average: 0.06, 0.05, 0.00", "stdout_lines": [" 14:54:39 up 17 days, 22:56, 0 user, load average: 0.06, 0.05, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004973", "end": "2025-12-17 14:55:12.469081", "msg": "", "rc": 0, "start": "2025-12-17 14:55:11.464108", "stderr": "", "stderr_lines": [], "stdout": " 14:55:11 up 22 days, 3:19, 1 user, load average: 0.62, 0.68, 0.67", "stdout_lines": [" 14:55:11 up 22 days, 3:19, 1 user, load average: 0.62, 0.68, 0.67"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004717", "end": "2025-12-17 14:55:12.614057", "msg": "", "rc": 0, "start": "2025-12-17 14:55:12.609340", "stderr": "", "stderr_lines": [], "stdout": " 14:55:12 up 3 days, 4:26, 1 user, load average: 0.17, 0.10, 0.02", "stdout_lines": [" 14:55:12 up 3 days, 4:26, 1 user, load average: 0.17, 0.10, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003343", "end": "2025-12-17 14:54:42.312941", "msg": "", "rc": 0, "start": "2025-12-17 14:54:42.309598", "stderr": "", "stderr_lines": [], "stdout": " 14:54:42 up 20 days, 17:49, 0 user, load average: 0.49, 0.43, 0.44", "stdout_lines": [" 14:54:42 up 20 days, 17:49, 0 user, load average: 0.49, 0.43, 0.44"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004076", "end": "2025-12-17 11:55:12.891902", "msg": "", "rc": 0, "start": "2025-12-17 11:55:12.887826", "stderr": "", "stderr_lines": [], "stdout": "11:55AM up 22 days, 1:45, 1 user, load averages: 0.24, 0.22, 0.18", "stdout_lines": ["11:55AM up 22 days, 1:45, 1 user, load averages: 0.24, 0.22, 0.18"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002735", "end": "2025-12-17 14:54:49.017569", "msg": "", "rc": 0, "start": "2025-12-17 14:54:49.014834", "stderr": "", "stderr_lines": [], "stdout": " 14:54:49 up 17 days, 4:10, 0 user, load average: 0.00, 0.06, 0.13", "stdout_lines": [" 14:54:49 up 17 days, 4:10, 0 user, load average: 0.00, 0.06, 0.13"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019309", "end": "2025-12-17 14:55:12.796697", "msg": "", "rc": 0, "start": "2025-12-17 14:55:12.777388", "stderr": "", "stderr_lines": [], "stdout": " 14:55:12 up 15 days, 4:21, 1 user, load average: 0.23, 0.14, 0.10", "stdout_lines": [" 14:55:12 up 15 days, 4:21, 1 user, load average: 0.23, 0.14, 0.10"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005977", "end": "2025-12-17 14:55:13.740576", "msg": "", "rc": 0, "start": "2025-12-17 14:55:13.734599", "stderr": "", "stderr_lines": [], "stdout": " 14:55:13 up 1:56, 1 user, load average: 1.75, 1.43, 1.31", "stdout_lines": [" 14:55:13 up 1:56, 1 user, load average: 1.75, 1.43, 1.31"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003841", "end": "2025-12-17 14:55:13.045840", "msg": "", "rc": 0, "start": "2025-12-17 14:55:13.041999", "stderr": "", "stderr_lines": [], "stdout": " 14:55:13 up 3 days, 4:26, 1 user, load average: 0.06, 0.06, 0.07", "stdout_lines": [" 14:55:13 up 3 days, 4:26, 1 user, load average: 0.06, 0.06, 0.07"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004281", "end": "2025-12-17 14:55:13.485787", "msg": "", "rc": 0, "start": "2025-12-17 14:55:13.481506", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004145", "end": "2025-12-17 14:55:13.494585", "msg": "", "rc": 0, "start": "2025-12-17 14:55:13.490440", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004948", "end": "2025-12-17 14:55:13.520217", "msg": "", "rc": 0, "start": "2025-12-17 14:55:13.515269", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004838", "end": "2025-12-17 14:55:13.540658", "msg": "", "rc": 0, "start": "2025-12-17 14:55:13.535820", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005561", "end": "2025-12-17 14:55:13.566514", "msg": "", "rc": 0, "start": "2025-12-17 14:55:13.560953", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004960", "end": "2025-12-17 14:54:47.507007", "msg": "", "rc": 0, "start": "2025-12-17 14:54:47.502047", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005359", "end": "2025-12-17 14:54:41.041768", "msg": "", "rc": 0, "start": "2025-12-17 14:54:41.036409", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010529", "end": "2025-12-17 14:55:14.223655", "msg": "", "rc": 0, "start": "2025-12-17 14:55:14.213126", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011636", "end": "2025-12-17 14:55:14.258720", "msg": "", "rc": 0, "start": "2025-12-17 14:55:14.247084", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005797", "end": "2025-12-17 14:55:14.491097", "msg": "", "rc": 0, "start": "2025-12-17 14:55:14.485300", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005208", "end": "2025-12-17 14:54:44.223567", "msg": "", "rc": 0, "start": "2025-12-17 14:54:44.218359", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005405", "end": "2025-12-17 11:55:14.710367", "msg": "", "rc": 0, "start": "2025-12-17 11:55:14.704962", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004646", "end": "2025-12-17 14:54:50.822942", "msg": "", "rc": 0, "start": "2025-12-17 14:54:50.818296", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005442", "end": "2025-12-17 14:55:14.922912", "msg": "", "rc": 0, "start": "2025-12-17 14:55:14.917470", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010549", "end": "2025-12-17 14:55:15.735496", "msg": "", "rc": 0, "start": "2025-12-17 14:55:15.724947", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025187", "end": "2025-12-17 14:55:14.878600", "msg": "", "rc": 0, "start": "2025-12-17 14:55:14.853413", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004226", "end": "2025-12-17 14:55:15.401675", "msg": "", "rc": 0, "start": "2025-12-17 14:55:15.397449", "stderr": "", "stderr_lines": [], "stdout": "77.4%", "stdout_lines": ["77.4%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004140", "end": "2025-12-17 14:55:15.431463", "msg": "", "rc": 0, "start": "2025-12-17 14:55:15.427323", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004742", "end": "2025-12-17 14:55:15.443629", "msg": "", "rc": 0, "start": "2025-12-17 14:55:15.438887", "stderr": "", "stderr_lines": [], "stdout": "49.4%", "stdout_lines": ["49.4%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004996", "end": "2025-12-17 14:55:15.458427", "msg": "", "rc": 0, "start": "2025-12-17 14:55:15.453431", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005861", "end": "2025-12-17 14:55:15.467997", "msg": "", "rc": 0, "start": "2025-12-17 14:55:15.462136", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005176", "end": "2025-12-17 14:54:49.434602", "msg": "", "rc": 0, "start": "2025-12-17 14:54:49.429426", "stderr": "", "stderr_lines": [], "stdout": "71.0%", "stdout_lines": ["71.0%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004551", "end": "2025-12-17 14:54:42.946630", "msg": "", "rc": 0, "start": "2025-12-17 14:54:42.942079", "stderr": "", "stderr_lines": [], "stdout": "68.3%", "stdout_lines": ["68.3%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011373", "end": "2025-12-17 14:55:16.100214", "msg": "", "rc": 0, "start": "2025-12-17 14:55:16.088841", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011968", "end": "2025-12-17 14:55:16.156169", "msg": "", "rc": 0, "start": "2025-12-17 14:55:16.144201", "stderr": "", "stderr_lines": [], "stdout": "13.0%", "stdout_lines": ["13.0%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006064", "end": "2025-12-17 14:55:16.443827", "msg": "", "rc": 0, "start": "2025-12-17 14:55:16.437763", "stderr": "", "stderr_lines": [], "stdout": "35.4%", "stdout_lines": ["35.4%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004355", "end": "2025-12-17 14:54:46.111744", "msg": "", "rc": 0, "start": "2025-12-17 14:54:46.107389", "stderr": "", "stderr_lines": [], "stdout": "27.2%", "stdout_lines": ["27.2%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005204", "end": "2025-12-17 11:55:16.621321", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 11:55:16.616117", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003624", "end": "2025-12-17 14:54:52.733623", "msg": "", "rc": 0, "start": "2025-12-17 14:54:52.729999", "stderr": "", "stderr_lines": [], "stdout": "54.8%", "stdout_lines": ["54.8%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009693", "end": "2025-12-17 14:55:17.702352", "msg": "", "rc": 0, "start": "2025-12-17 14:55:17.692659", "stderr": "", "stderr_lines": [], "stdout": "21.9%", "stdout_lines": ["21.9%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005362", "end": "2025-12-17 14:55:16.882430", "msg": "", "rc": 0, "start": "2025-12-17 14:55:16.877068", "stderr": "", "stderr_lines": [], "stdout": "13.9%", "stdout_lines": ["13.9%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025749", "end": "2025-12-17 14:55:16.790400", "msg": "", "rc": 0, "start": "2025-12-17 14:55:16.764651", "stderr": "", "stderr_lines": [], "stdout": "19.8%", "stdout_lines": ["19.8%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005451", "end": "2025-12-17 14:55:17.299480", "msg": "", "rc": 0, "start": "2025-12-17 14:55:17.294029", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004916", "end": "2025-12-17 14:55:17.306228", "msg": "", "rc": 0, "start": "2025-12-17 14:55:17.301312", "stderr": "", "stderr_lines": [], "stdout": "48.0°C", "stdout_lines": ["48.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005464", "end": "2025-12-17 14:55:17.330596", "msg": "", "rc": 0, "start": "2025-12-17 14:55:17.325132", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003411", "end": "2025-12-17 14:55:17.363819", "msg": "", "rc": 0, "start": "2025-12-17 14:55:17.360408", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006783", "end": "2025-12-17 14:55:17.366730", "msg": "", "rc": 0, "start": "2025-12-17 14:55:17.359947", "stderr": "", "stderr_lines": [], "stdout": "52.5°C", "stdout_lines": ["52.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002745", "end": "2025-12-17 14:54:51.368907", "msg": "", "rc": 0, "start": "2025-12-17 14:54:51.366162", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003042", "end": "2025-12-17 14:54:44.847210", "msg": "", "rc": 0, "start": "2025-12-17 14:54:44.844168", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011832", "end": "2025-12-17 14:55:18.009662", "msg": "", "rc": 0, "start": "2025-12-17 14:55:17.997830", "stderr": "", "stderr_lines": [], "stdout": "31.6°C", "stdout_lines": ["31.6°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013010", "end": "2025-12-17 14:55:18.034252", "msg": "", "rc": 0, "start": "2025-12-17 14:55:18.021242", "stderr": "", "stderr_lines": [], "stdout": "36.5°C", "stdout_lines": ["36.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003129", "end": "2025-12-17 14:55:18.342031", "msg": "", "rc": 0, "start": "2025-12-17 14:55:18.338902", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003413", "end": "2025-12-17 14:54:48.021570", "msg": "", "rc": 0, "start": "2025-12-17 14:54:48.018157", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002534", "end": "2025-12-17 14:54:54.610580", "msg": "", "rc": 0, "start": "2025-12-17 14:54:54.608046", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004055", "end": "2025-12-17 11:55:18.500857", "msg": "", "rc": 0, "start": "2025-12-17 11:55:18.496802", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003834", "end": "2025-12-17 14:55:19.691271", "msg": "", "rc": 0, "start": "2025-12-17 14:55:19.687437", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003173", "end": "2025-12-17 14:55:18.771936", "msg": "", "rc": 0, "start": "2025-12-17 14:55:18.768763", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028557", "end": "2025-12-17 14:55:18.694237", "msg": "", "rc": 0, "start": "2025-12-17 14:55:18.665680", "stderr": "", "stderr_lines": [], "stdout": "36.0°C", "stdout_lines": ["36.0°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004165", "end": "2025-12-17 14:55:19.219774", "msg": "", "rc": 0, "start": "2025-12-17 14:55:19.215609", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003994", "end": "2025-12-17 14:55:19.247031", "msg": "", "rc": 0, "start": "2025-12-17 14:55:19.243037", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005014", "end": "2025-12-17 14:55:19.251437", "msg": "", "rc": 0, "start": "2025-12-17 14:55:19.246423", "stderr": "", "stderr_lines": [], "stdout": "0.58", "stdout_lines": ["0.58"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005469", "end": "2025-12-17 14:55:19.278338", "msg": "", "rc": 0, "start": "2025-12-17 14:55:19.272869", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005703", "end": "2025-12-17 14:55:19.290394", "msg": "", "rc": 0, "start": "2025-12-17 14:55:19.284691", "stderr": "", "stderr_lines": [], "stdout": "0.65", "stdout_lines": ["0.65"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004610", "end": "2025-12-17 14:54:53.226260", "msg": "", "rc": 0, "start": "2025-12-17 14:54:53.221650", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005035", "end": "2025-12-17 14:54:46.778942", "msg": "", "rc": 0, "start": "2025-12-17 14:54:46.773907", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010124", "end": "2025-12-17 14:55:20.021447", "msg": "", "rc": 0, "start": "2025-12-17 14:55:20.011323", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011110", "end": "2025-12-17 14:55:20.054353", "msg": "", "rc": 0, "start": "2025-12-17 14:55:20.043243", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005866", "end": "2025-12-17 14:55:20.181372", "msg": "", "rc": 0, "start": "2025-12-17 14:55:20.175506", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005135", "end": "2025-12-17 14:54:49.952306", "msg": "", "rc": 0, "start": "2025-12-17 14:54:49.947171", "stderr": "", "stderr_lines": [], "stdout": "0.53", "stdout_lines": ["0.53"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004873", "end": "2025-12-17 14:54:56.627481", "msg": "", "rc": 0, "start": "2025-12-17 14:54:56.622608", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005924", "end": "2025-12-17 11:55:20.523641", "msg": "", "rc": 0, "start": "2025-12-17 11:55:20.517717", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005221", "end": "2025-12-17 14:55:20.619468", "msg": "", "rc": 0, "start": "2025-12-17 14:55:20.614247", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010290", "end": "2025-12-17 14:55:21.706744", "msg": "", "rc": 0, "start": "2025-12-17 14:55:21.696454", "stderr": "", "stderr_lines": [], "stdout": "1.69", "stdout_lines": ["1.69"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024611", "end": "2025-12-17 14:55:20.624116", "msg": "", "rc": 0, "start": "2025-12-17 14:55:20.599505", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:11 up 3 days, 4:27, 1 user, load average: 0.21, 0.17, 0.17\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.19\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:11 up 22 days, 1:46, 1 user, load average: 0.34, 0.25, 0.19\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.29\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:11 up 22 days, 2:06, 1 user, load average: 0.45, 0.42, 0.55\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.58\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:11 up 22 days, 3:19, 1 user, load average: 0.62, 0.68, 0.67\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.65\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:11 up 22 days, 4:05, 1 user, load average: 0.07, 0.02, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:12 up 15 days, 4:21, 1 user, load average: 0.23, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 19.8%\nCPU Load: 0.29\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:12 up 194 days, 6:28, 1 user, load average: 0.11, 0.14, 0.16\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.10\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:12 up 194 days, 6:28, 1 user, load average: 0.12, 0.21, 0.24\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.11\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:54:45 up 11 days, 2:44, 0 user, load average: 0.10, 0.08, 0.09\nDisk Usage: 48%\nMemory Usage: 71.0%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:54:39 up 17 days, 22:56, 0 user, load average: 0.06, 0.05, 0.00\nDisk Usage: 24%\nMemory Usage: 68.3%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:12 up 3 days, 4:26, 1 user, load average: 0.17, 0.10, 0.02\nDisk Usage: 1%\nMemory Usage: 35.4%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:54:42 up 20 days, 17:49, 0 user, load average: 0.49, 0.43, 0.44\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.53\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:54:49 up 17 days, 4:10, 0 user, load average: 0.00, 0.06, 0.13\nDisk Usage: 76%\nMemory Usage: 54.8%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:55AM up 22 days, 1:45, 1 user, load averages: 0.24, 0.22, 0.18\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:13 up 3 days, 4:26, 1 user, load average: 0.06, 0.06, 0.07\nDisk Usage: 79%\nMemory Usage: 13.9%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:55:13 up 1:56, 1 user, load average: 1.75, 1.43, 1.31\nDisk Usage: 1%\nMemory Usage: 21.9%\nCPU Load: 1.69\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T19:55:22.723926+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `cc52ece8d22f4da78e5ebe3602ede586` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T20:00:00.002925+00:00 |
| **Fin** | 2025-12-17T20:00:23.103647+00:00 |
| **Durée** | 23.1s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003417", "end": "2025-12-17 15:00:12.493940", "msg": "", "rc": 0, "start": "2025-12-17 15:00:12.490523", "stderr": "", "stderr_lines": [], "stdout": " 15:00:12 up 22 days, 1:51, 1 user, load average: 0.23, 0.23, 0.18", "stdout_lines": [" 15:00:12 up 22 days, 1:51, 1 user, load average: 0.23, 0.23, 0.18"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003445", "end": "2025-12-17 15:00:12.506956", "msg": "", "rc": 0, "start": "2025-12-17 15:00:12.503511", "stderr": "", "stderr_lines": [], "stdout": " 15:00:12 up 22 days, 2:11, 1 user, load average: 0.97, 0.67, 0.61", "stdout_lines": [" 15:00:12 up 22 days, 2:11, 1 user, load average: 0.97, 0.67, 0.61"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004141", "end": "2025-12-17 15:00:12.512530", "msg": "", "rc": 0, "start": "2025-12-17 15:00:12.508389", "stderr": "", "stderr_lines": [], "stdout": " 15:00:12 up 22 days, 4:10, 1 user, load average: 0.13, 0.05, 0.01", "stdout_lines": [" 15:00:12 up 22 days, 4:10, 1 user, load average: 0.13, 0.05, 0.01"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002810", "end": "2025-12-17 15:00:12.533351", "msg": "", "rc": 0, "start": "2025-12-17 15:00:12.530541", "stderr": "", "stderr_lines": [], "stdout": " 15:00:12 up 3 days, 4:32, 1 user, load average: 0.38, 0.22, 0.19", "stdout_lines": [" 15:00:12 up 3 days, 4:32, 1 user, load average: 0.38, 0.22, 0.19"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004635", "end": "2025-12-17 15:00:12.546126", "msg": "", "rc": 0, "start": "2025-12-17 15:00:12.541491", "stderr": "", "stderr_lines": [], "stdout": " 15:00:12 up 22 days, 3:24, 1 user, load average: 0.86, 0.72, 0.67", "stdout_lines": [" 15:00:12 up 22 days, 3:24, 1 user, load average: 0.86, 0.72, 0.67"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002842", "end": "2025-12-17 14:59:46.486247", "msg": "", "rc": 0, "start": "2025-12-17 14:59:46.483405", "stderr": "", "stderr_lines": [], "stdout": " 14:59:46 up 11 days, 2:49, 0 user, load average: 0.18, 0.13, 0.10", "stdout_lines": [" 14:59:46 up 11 days, 2:49, 0 user, load average: 0.18, 0.13, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003846", "end": "2025-12-17 14:59:40.052980", "msg": "", "rc": 0, "start": "2025-12-17 14:59:40.049134", "stderr": "", "stderr_lines": [], "stdout": " 14:59:40 up 17 days, 23:01, 0 user, load average: 0.01, 0.02, 0.00", "stdout_lines": [" 14:59:40 up 17 days, 23:01, 0 user, load average: 0.01, 0.02, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008572", "end": "2025-12-17 15:00:13.205755", "msg": "", "rc": 0, "start": "2025-12-17 15:00:13.197183", "stderr": "", "stderr_lines": [], "stdout": " 15:00:13 up 194 days, 6:33, 1 user, load average: 0.09, 0.11, 0.14", "stdout_lines": [" 15:00:13 up 194 days, 6:33, 1 user, load average: 0.09, 0.11, 0.14"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009435", "end": "2025-12-17 15:00:13.230607", "msg": "", "rc": 0, "start": "2025-12-17 15:00:13.221172", "stderr": "", "stderr_lines": [], "stdout": " 15:00:13 up 194 days, 6:33, 1 user, load average: 0.23, 0.26, 0.25", "stdout_lines": [" 15:00:13 up 194 days, 6:33, 1 user, load average: 0.23, 0.26, 0.25"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004923", "end": "2025-12-17 15:00:13.471137", "msg": "", "rc": 0, "start": "2025-12-17 15:00:13.466214", "stderr": "", "stderr_lines": [], "stdout": " 15:00:13 up 3 days, 4:31, 1 user, load average: 0.11, 0.16, 0.07", "stdout_lines": [" 15:00:13 up 3 days, 4:31, 1 user, load average: 0.11, 0.16, 0.07"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003148", "end": "2025-12-17 14:59:43.241922", "msg": "", "rc": 0, "start": "2025-12-17 14:59:43.238774", "stderr": "", "stderr_lines": [], "stdout": " 14:59:43 up 20 days, 17:54, 0 user, load average: 0.58, 0.47, 0.45", "stdout_lines": [" 14:59:43 up 20 days, 17:54, 0 user, load average: 0.58, 0.47, 0.45"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003255", "end": "2025-12-17 14:59:49.829919", "msg": "", "rc": 0, "start": "2025-12-17 14:59:49.826664", "stderr": "", "stderr_lines": [], "stdout": " 14:59:49 up 17 days, 4:15, 0 user, load average: 0.08, 0.09, 0.13", "stdout_lines": [" 14:59:49 up 17 days, 4:15, 0 user, load average: 0.08, 0.09, 0.13"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004622", "end": "2025-12-17 12:00:13.726386", "msg": "", "rc": 0, "start": "2025-12-17 12:00:13.721764", "stderr": "", "stderr_lines": [], "stdout": "12:00PM up 22 days, 1:50, 1 user, load averages: 0.27, 0.25, 0.18", "stdout_lines": ["12:00PM up 22 days, 1:50, 1 user, load averages: 0.27, 0.25, 0.18"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003619", "end": "2025-12-17 15:00:13.964395", "msg": "", "rc": 0, "start": "2025-12-17 15:00:13.960776", "stderr": "", "stderr_lines": [], "stdout": " 15:00:13 up 3 days, 4:31, 1 user, load average: 0.12, 0.24, 0.16", "stdout_lines": [" 15:00:13 up 3 days, 4:31, 1 user, load average: 0.12, 0.24, 0.16"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019298", "end": "2025-12-17 15:00:13.886906", "msg": "", "rc": 0, "start": "2025-12-17 15:00:13.867608", "stderr": "", "stderr_lines": [], "stdout": " 15:00:13 up 15 days, 4:26, 1 user, load average: 0.08, 0.10, 0.09", "stdout_lines": [" 15:00:13 up 15 days, 4:26, 1 user, load average: 0.08, 0.10, 0.09"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006751", "end": "2025-12-17 15:00:14.075664", "msg": "", "rc": 0, "start": "2025-12-17 15:00:14.068913", "stderr": "", "stderr_lines": [], "stdout": " 15:00:14 up 2:02, 1 user, load average: 1.23, 1.27, 1.27", "stdout_lines": [" 15:00:14 up 2:02, 1 user, load average: 1.23, 1.27, 1.27"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004191", "end": "2025-12-17 15:00:14.438315", "msg": "", "rc": 0, "start": "2025-12-17 15:00:14.434124", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004122", "end": "2025-12-17 15:00:14.443108", "msg": "", "rc": 0, "start": "2025-12-17 15:00:14.438986", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004682", "end": "2025-12-17 15:00:14.461900", "msg": "", "rc": 0, "start": "2025-12-17 15:00:14.457218", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004876", "end": "2025-12-17 15:00:14.488466", "msg": "", "rc": 0, "start": "2025-12-17 15:00:14.483590", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005500", "end": "2025-12-17 15:00:14.505265", "msg": "", "rc": 0, "start": "2025-12-17 15:00:14.499765", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006490", "end": "2025-12-17 14:59:48.461692", "msg": "", "rc": 0, "start": "2025-12-17 14:59:48.455202", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005773", "end": "2025-12-17 14:59:41.979563", "msg": "", "rc": 0, "start": "2025-12-17 14:59:41.973790", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010640", "end": "2025-12-17 15:00:15.211896", "msg": "", "rc": 0, "start": "2025-12-17 15:00:15.201256", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011386", "end": "2025-12-17 15:00:15.253951", "msg": "", "rc": 0, "start": "2025-12-17 15:00:15.242565", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005866", "end": "2025-12-17 15:00:15.446327", "msg": "", "rc": 0, "start": "2025-12-17 15:00:15.440461", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005234", "end": "2025-12-17 14:59:45.164641", "msg": "", "rc": 0, "start": "2025-12-17 14:59:45.159407", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005460", "end": "2025-12-17 12:00:15.726577", "msg": "", "rc": 0, "start": "2025-12-17 12:00:15.721117", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005048", "end": "2025-12-17 14:59:51.848512", "msg": "", "rc": 0, "start": "2025-12-17 14:59:51.843464", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005304", "end": "2025-12-17 15:00:15.880880", "msg": "", "rc": 0, "start": "2025-12-17 15:00:15.875576", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010834", "end": "2025-12-17 15:00:16.040359", "msg": "", "rc": 0, "start": "2025-12-17 15:00:16.029525", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025105", "end": "2025-12-17 15:00:15.853246", "msg": "", "rc": 0, "start": "2025-12-17 15:00:15.828141", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004284", "end": "2025-12-17 15:00:16.389020", "msg": "", "rc": 0, "start": "2025-12-17 15:00:16.384736", "stderr": "", "stderr_lines": [], "stdout": "77.5%", "stdout_lines": ["77.5%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004314", "end": "2025-12-17 15:00:16.396661", "msg": "", "rc": 0, "start": "2025-12-17 15:00:16.392347", "stderr": "", "stderr_lines": [], "stdout": "22.4%", "stdout_lines": ["22.4%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004317", "end": "2025-12-17 15:00:16.428199", "msg": "", "rc": 0, "start": "2025-12-17 15:00:16.423882", "stderr": "", "stderr_lines": [], "stdout": "9.1%", "stdout_lines": ["9.1%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004828", "end": "2025-12-17 15:00:16.427545", "msg": "", "rc": 0, "start": "2025-12-17 15:00:16.422717", "stderr": "", "stderr_lines": [], "stdout": "49.4%", "stdout_lines": ["49.4%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005631", "end": "2025-12-17 15:00:16.456978", "msg": "", "rc": 0, "start": "2025-12-17 15:00:16.451347", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004490", "end": "2025-12-17 14:59:50.392413", "msg": "", "rc": 0, "start": "2025-12-17 14:59:50.387923", "stderr": "", "stderr_lines": [], "stdout": "71.1%", "stdout_lines": ["71.1%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004636", "end": "2025-12-17 14:59:43.936969", "msg": "", "rc": 0, "start": "2025-12-17 14:59:43.932333", "stderr": "", "stderr_lines": [], "stdout": "68.3%", "stdout_lines": ["68.3%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011144", "end": "2025-12-17 15:00:17.080308", "msg": "", "rc": 0, "start": "2025-12-17 15:00:17.069164", "stderr": "", "stderr_lines": [], "stdout": "6.8%", "stdout_lines": ["6.8%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012109", "end": "2025-12-17 15:00:17.117885", "msg": "", "rc": 0, "start": "2025-12-17 15:00:17.105776", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.9%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005705", "end": "2025-12-17 15:00:17.380854", "msg": "", "rc": 0, "start": "2025-12-17 15:00:17.375149", "stderr": "", "stderr_lines": [], "stdout": "35.5%", "stdout_lines": ["35.5%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004160", "end": "2025-12-17 14:59:47.112770", "msg": "", "rc": 0, "start": "2025-12-17 14:59:47.108610", "stderr": "", "stderr_lines": [], "stdout": "27.2%", "stdout_lines": ["27.2%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005280", "end": "2025-12-17 12:00:17.592168", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 12:00:17.586888", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003539", "end": "2025-12-17 14:59:53.703918", "msg": "", "rc": 0, "start": "2025-12-17 14:59:53.700379", "stderr": "", "stderr_lines": [], "stdout": "57.9%", "stdout_lines": ["57.9%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005406", "end": "2025-12-17 15:00:17.819235", "msg": "", "rc": 0, "start": "2025-12-17 15:00:17.813829", "stderr": "", "stderr_lines": [], "stdout": "13.7%", "stdout_lines": ["13.7%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025851", "end": "2025-12-17 15:00:17.774264", "msg": "", "rc": 0, "start": "2025-12-17 15:00:17.748413", "stderr": "", "stderr_lines": [], "stdout": "19.5%", "stdout_lines": ["19.5%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011870", "end": "2025-12-17 15:00:18.099542", "msg": "", "rc": 0, "start": "2025-12-17 15:00:18.087672", "stderr": "", "stderr_lines": [], "stdout": "21.5%", "stdout_lines": ["21.5%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005655", "end": "2025-12-17 15:00:18.318037", "msg": "", "rc": 0, "start": "2025-12-17 15:00:18.312382", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004946", "end": "2025-12-17 15:00:18.326656", "msg": "", "rc": 0, "start": "2025-12-17 15:00:18.321710", "stderr": "", "stderr_lines": [], "stdout": "48.0°C", "stdout_lines": ["48.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006082", "end": "2025-12-17 15:00:18.339460", "msg": "", "rc": 0, "start": "2025-12-17 15:00:18.333378", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003060", "end": "2025-12-17 15:00:18.348253", "msg": "", "rc": 0, "start": "2025-12-17 15:00:18.345193", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006737", "end": "2025-12-17 15:00:18.366849", "msg": "", "rc": 0, "start": "2025-12-17 15:00:18.360112", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002813", "end": "2025-12-17 14:59:52.323768", "msg": "", "rc": 0, "start": "2025-12-17 14:59:52.320955", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002831", "end": "2025-12-17 14:59:45.861102", "msg": "", "rc": 0, "start": "2025-12-17 14:59:45.858271", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011875", "end": "2025-12-17 15:00:19.023135", "msg": "", "rc": 0, "start": "2025-12-17 15:00:19.011260", "stderr": "", "stderr_lines": [], "stdout": "32.6°C", "stdout_lines": ["32.6°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012865", "end": "2025-12-17 15:00:19.054591", "msg": "", "rc": 0, "start": "2025-12-17 15:00:19.041726", "stderr": "", "stderr_lines": [], "stdout": "37.0°C", "stdout_lines": ["37.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003174", "end": "2025-12-17 15:00:19.299584", "msg": "", "rc": 0, "start": "2025-12-17 15:00:19.296410", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002962", "end": "2025-12-17 14:59:49.043949", "msg": "", "rc": 0, "start": "2025-12-17 14:59:49.040987", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003874", "end": "2025-12-17 12:00:19.517071", "msg": "", "rc": 0, "start": "2025-12-17 12:00:19.513197", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002581", "end": "2025-12-17 14:59:55.641613", "msg": "", "rc": 0, "start": "2025-12-17 14:59:55.639032", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002931", "end": "2025-12-17 15:00:19.754414", "msg": "", "rc": 0, "start": "2025-12-17 15:00:19.751483", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004070", "end": "2025-12-17 15:00:20.081605", "msg": "", "rc": 0, "start": "2025-12-17 15:00:20.077535", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028743", "end": "2025-12-17 15:00:19.735190", "msg": "", "rc": 0, "start": "2025-12-17 15:00:19.706447", "stderr": "", "stderr_lines": [], "stdout": "36.1°C", "stdout_lines": ["36.1°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004083", "end": "2025-12-17 15:00:20.272591", "msg": "", "rc": 0, "start": "2025-12-17 15:00:20.268508", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004070", "end": "2025-12-17 15:00:20.292358", "msg": "", "rc": 0, "start": "2025-12-17 15:00:20.288288", "stderr": "", "stderr_lines": [], "stdout": "0.63", "stdout_lines": ["0.63"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004623", "end": "2025-12-17 15:00:20.309437", "msg": "", "rc": 0, "start": "2025-12-17 15:00:20.304814", "stderr": "", "stderr_lines": [], "stdout": "0.97", "stdout_lines": ["0.97"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005239", "end": "2025-12-17 15:00:20.340272", "msg": "", "rc": 0, "start": "2025-12-17 15:00:20.335033", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005360", "end": "2025-12-17 15:00:20.358820", "msg": "", "rc": 0, "start": "2025-12-17 15:00:20.353460", "stderr": "", "stderr_lines": [], "stdout": "0.73", "stdout_lines": ["0.73"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004074", "end": "2025-12-17 14:59:54.301127", "msg": "", "rc": 0, "start": "2025-12-17 14:59:54.297053", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005088", "end": "2025-12-17 14:59:47.843123", "msg": "", "rc": 0, "start": "2025-12-17 14:59:47.838035", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010379", "end": "2025-12-17 15:00:21.075285", "msg": "", "rc": 0, "start": "2025-12-17 15:00:21.064906", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011210", "end": "2025-12-17 15:00:21.125089", "msg": "", "rc": 0, "start": "2025-12-17 15:00:21.113879", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005629", "end": "2025-12-17 15:00:21.295522", "msg": "", "rc": 0, "start": "2025-12-17 15:00:21.289893", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004762", "end": "2025-12-17 14:59:51.016153", "msg": "", "rc": 0, "start": "2025-12-17 14:59:51.011391", "stderr": "", "stderr_lines": [], "stdout": "0.53", "stdout_lines": ["0.53"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004463", "end": "2025-12-17 14:59:57.678171", "msg": "", "rc": 0, "start": "2025-12-17 14:59:57.673708", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006015", "end": "2025-12-17 12:00:21.587866", "msg": "", "rc": 0, "start": "2025-12-17 12:00:21.581851", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006378", "end": "2025-12-17 15:00:21.763285", "msg": "", "rc": 0, "start": "2025-12-17 15:00:21.756907", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024090", "end": "2025-12-17 15:00:21.676178", "msg": "", "rc": 0, "start": "2025-12-17 15:00:21.652088", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010265", "end": "2025-12-17 15:00:22.229271", "msg": "", "rc": 0, "start": "2025-12-17 15:00:22.219006", "stderr": "", "stderr_lines": [], "stdout": "1.28", "stdout_lines": ["1.28"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:12 up 3 days, 4:32, 1 user, load average: 0.38, 0.22, 0.19\nDisk Usage: 22%\nMemory Usage: 22.4%\nCPU Load: 0.63\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:12 up 22 days, 1:51, 1 user, load average: 0.23, 0.23, 0.18\nDisk Usage: 23%\nMemory Usage: 77.5%\nCPU Load: 0.29\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:12 up 22 days, 2:11, 1 user, load average: 0.97, 0.67, 0.61\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.97\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:12 up 22 days, 3:24, 1 user, load average: 0.86, 0.72, 0.67\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.73\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:12 up 22 days, 4:10, 1 user, load average: 0.13, 0.05, 0.01\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:13 up 15 days, 4:26, 1 user, load average: 0.08, 0.10, 0.09\nDisk Usage: 21%\nMemory Usage: 19.5%\nCPU Load: 0.15\nCPU Temp: 36.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:13 up 194 days, 6:33, 1 user, load average: 0.23, 0.26, 0.25\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.29\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:13 up 194 days, 6:33, 1 user, load average: 0.09, 0.11, 0.14\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.08\nCPU Temp: 32.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:59:46 up 11 days, 2:49, 0 user, load average: 0.18, 0.13, 0.10\nDisk Usage: 48%\nMemory Usage: 71.1%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:59:40 up 17 days, 23:01, 0 user, load average: 0.01, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 68.3%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:13 up 3 days, 4:31, 1 user, load average: 0.11, 0.16, 0.07\nDisk Usage: 1%\nMemory Usage: 35.5%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:59:43 up 20 days, 17:54, 0 user, load average: 0.58, 0.47, 0.45\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.53\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 14:59:49 up 17 days, 4:15, 0 user, load average: 0.08, 0.09, 0.13\nDisk Usage: 76%\nMemory Usage: 57.9%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:00PM up 22 days, 1:50, 1 user, load averages: 0.27, 0.25, 0.18\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:13 up 3 days, 4:31, 1 user, load average: 0.12, 0.24, 0.16\nDisk Usage: 79%\nMemory Usage: 13.7%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:00:14 up 2:02, 1 user, load average: 1.23, 1.27, 1.27\nDisk Usage: 1%\nMemory Usage: 21.5%\nCPU Load: 1.28\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T20:00:23.145932+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `a22cf8f9ef0f4edcb0ca200bdfe704d2` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T20:05:00.002405+00:00 |
| **Fin** | 2025-12-17T20:05:21.708009+00:00 |
| **Durée** | 21.7s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003338", "end": "2025-12-17 15:05:10.762971", "msg": "", "rc": 0, "start": "2025-12-17 15:05:10.759633", "stderr": "", "stderr_lines": [], "stdout": " 15:05:10 up 22 days, 1:56, 1 user, load average: 0.40, 0.27, 0.20", "stdout_lines": [" 15:05:10 up 22 days, 1:56, 1 user, load average: 0.40, 0.27, 0.20"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003533", "end": "2025-12-17 15:05:10.763442", "msg": "", "rc": 0, "start": "2025-12-17 15:05:10.759909", "stderr": "", "stderr_lines": [], "stdout": " 15:05:10 up 22 days, 2:16, 1 user, load average: 0.67, 0.68, 0.63", "stdout_lines": [" 15:05:10 up 22 days, 2:16, 1 user, load average: 0.67, 0.68, 0.63"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003769", "end": "2025-12-17 15:05:10.772284", "msg": "", "rc": 0, "start": "2025-12-17 15:05:10.768515", "stderr": "", "stderr_lines": [], "stdout": " 15:05:10 up 22 days, 4:15, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 15:05:10 up 22 days, 4:15, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003965", "end": "2025-12-17 15:05:10.793891", "msg": "", "rc": 0, "start": "2025-12-17 15:05:10.789926", "stderr": "", "stderr_lines": [], "stdout": " 15:05:10 up 22 days, 3:29, 1 user, load average: 0.74, 0.65, 0.65", "stdout_lines": [" 15:05:10 up 22 days, 3:29, 1 user, load average: 0.74, 0.65, 0.65"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002902", "end": "2025-12-17 15:05:10.798407", "msg": "", "rc": 0, "start": "2025-12-17 15:05:10.795505", "stderr": "", "stderr_lines": [], "stdout": " 15:05:10 up 3 days, 4:37, 1 user, load average: 0.15, 0.16, 0.17", "stdout_lines": [" 15:05:10 up 3 days, 4:37, 1 user, load average: 0.15, 0.16, 0.17"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003034", "end": "2025-12-17 15:04:44.754648", "msg": "", "rc": 0, "start": "2025-12-17 15:04:44.751614", "stderr": "", "stderr_lines": [], "stdout": " 15:04:44 up 11 days, 2:54, 0 user, load average: 0.03, 0.07, 0.08", "stdout_lines": [" 15:04:44 up 11 days, 2:54, 0 user, load average: 0.03, 0.07, 0.08"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003657", "end": "2025-12-17 15:04:38.298519", "msg": "", "rc": 0, "start": "2025-12-17 15:04:38.294862", "stderr": "", "stderr_lines": [], "stdout": " 15:04:38 up 17 days, 23:06, 0 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 15:04:38 up 17 days, 23:06, 0 user, load average: 0.00, 0.01, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008493", "end": "2025-12-17 15:05:11.458449", "msg": "", "rc": 0, "start": "2025-12-17 15:05:11.449956", "stderr": "", "stderr_lines": [], "stdout": " 15:05:11 up 194 days, 6:38, 1 user, load average: 0.21, 0.12, 0.12", "stdout_lines": [" 15:05:11 up 194 days, 6:38, 1 user, load average: 0.21, 0.12, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009372", "end": "2025-12-17 15:05:11.495864", "msg": "", "rc": 0, "start": "2025-12-17 15:05:11.486492", "stderr": "", "stderr_lines": [], "stdout": " 15:05:11 up 194 days, 6:38, 1 user, load average: 0.34, 0.29, 0.27", "stdout_lines": [" 15:05:11 up 194 days, 6:38, 1 user, load average: 0.34, 0.29, 0.27"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004809", "end": "2025-12-17 15:05:11.763563", "msg": "", "rc": 0, "start": "2025-12-17 15:05:11.758754", "stderr": "", "stderr_lines": [], "stdout": " 15:05:11 up 3 days, 4:36, 1 user, load average: 0.16, 0.12, 0.07", "stdout_lines": [" 15:05:11 up 3 days, 4:36, 1 user, load average: 0.16, 0.12, 0.07"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003415", "end": "2025-12-17 15:04:41.530381", "msg": "", "rc": 0, "start": "2025-12-17 15:04:41.526966", "stderr": "", "stderr_lines": [], "stdout": " 15:04:41 up 20 days, 17:58, 0 user, load average: 0.43, 0.42, 0.44", "stdout_lines": [" 15:04:41 up 20 days, 17:58, 0 user, load average: 0.43, 0.42, 0.44"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004116", "end": "2025-12-17 12:05:12.017617", "msg": "", "rc": 0, "start": "2025-12-17 12:05:12.013501", "stderr": "", "stderr_lines": [], "stdout": "12:05PM up 22 days, 1:54, 1 user, load averages: 0.46, 0.31, 0.21", "stdout_lines": ["12:05PM up 22 days, 1:54, 1 user, load averages: 0.46, 0.31, 0.21"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003917", "end": "2025-12-17 15:04:48.141288", "msg": "", "rc": 0, "start": "2025-12-17 15:04:48.137371", "stderr": "", "stderr_lines": [], "stdout": " 15:04:48 up 17 days, 4:20, 0 user, load average: 0.11, 0.11, 0.12", "stdout_lines": [" 15:04:48 up 17 days, 4:20, 0 user, load average: 0.11, 0.11, 0.12"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003600", "end": "2025-12-17 15:05:12.205185", "msg": "", "rc": 0, "start": "2025-12-17 15:05:12.201585", "stderr": "", "stderr_lines": [], "stdout": " 15:05:12 up 3 days, 4:36, 1 user, load average: 0.05, 0.11, 0.12", "stdout_lines": [" 15:05:12 up 3 days, 4:36, 1 user, load average: 0.05, 0.11, 0.12"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019505", "end": "2025-12-17 15:05:12.158201", "msg": "", "rc": 0, "start": "2025-12-17 15:05:12.138696", "stderr": "", "stderr_lines": [], "stdout": " 15:05:12 up 15 days, 4:31, 1 user, load average: 0.16, 0.12, 0.09", "stdout_lines": [" 15:05:12 up 15 days, 4:31, 1 user, load average: 0.16, 0.12, 0.09"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007285", "end": "2025-12-17 15:05:12.741696", "msg": "", "rc": 0, "start": "2025-12-17 15:05:12.734411", "stderr": "", "stderr_lines": [], "stdout": " 15:05:12 up 2:07, 1 user, load average: 1.19, 1.24, 1.26", "stdout_lines": [" 15:05:12 up 2:07, 1 user, load average: 1.19, 1.24, 1.26"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004264", "end": "2025-12-17 15:05:12.731057", "msg": "", "rc": 0, "start": "2025-12-17 15:05:12.726793", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004435", "end": "2025-12-17 15:05:12.764011", "msg": "", "rc": 0, "start": "2025-12-17 15:05:12.759576", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004352", "end": "2025-12-17 15:05:12.782448", "msg": "", "rc": 0, "start": "2025-12-17 15:05:12.778096", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004603", "end": "2025-12-17 15:05:12.787144", "msg": "", "rc": 0, "start": "2025-12-17 15:05:12.782541", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005530", "end": "2025-12-17 15:05:12.812271", "msg": "", "rc": 0, "start": "2025-12-17 15:05:12.806741", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004789", "end": "2025-12-17 15:04:46.750843", "msg": "", "rc": 0, "start": "2025-12-17 15:04:46.746054", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.009414", "end": "2025-12-17 15:04:40.355473", "msg": "", "rc": 0, "start": "2025-12-17 15:04:40.346059", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010504", "end": "2025-12-17 15:05:13.520222", "msg": "", "rc": 0, "start": "2025-12-17 15:05:13.509718", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011513", "end": "2025-12-17 15:05:13.533188", "msg": "", "rc": 0, "start": "2025-12-17 15:05:13.521675", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005879", "end": "2025-12-17 15:05:13.854817", "msg": "", "rc": 0, "start": "2025-12-17 15:05:13.848938", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005388", "end": "2025-12-17 12:05:14.046994", "msg": "", "rc": 0, "start": "2025-12-17 12:05:14.041606", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004917", "end": "2025-12-17 15:04:50.155380", "msg": "", "rc": 0, "start": "2025-12-17 15:04:50.150463", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.012156", "end": "2025-12-17 15:04:43.625216", "msg": "", "rc": 0, "start": "2025-12-17 15:04:43.613060", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.024973", "end": "2025-12-17 15:05:14.152654", "msg": "", "rc": 0, "start": "2025-12-17 15:05:14.127681", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006341", "end": "2025-12-17 15:05:14.354453", "msg": "", "rc": 0, "start": "2025-12-17 15:05:14.348112", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011292", "end": "2025-12-17 15:05:14.901927", "msg": "", "rc": 0, "start": "2025-12-17 15:05:14.890635", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004298", "end": "2025-12-17 15:05:14.770062", "msg": "", "rc": 0, "start": "2025-12-17 15:05:14.765764", "stderr": "", "stderr_lines": [], "stdout": "77.4%", "stdout_lines": ["77.4%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004288", "end": "2025-12-17 15:05:14.786764", "msg": "", "rc": 0, "start": "2025-12-17 15:05:14.782476", "stderr": "", "stderr_lines": [], "stdout": "22.4%", "stdout_lines": ["22.4%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004966", "end": "2025-12-17 15:05:14.817982", "msg": "", "rc": 0, "start": "2025-12-17 15:05:14.813016", "stderr": "", "stderr_lines": [], "stdout": "49.0%", "stdout_lines": ["49.0%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005107", "end": "2025-12-17 15:05:14.837031", "msg": "", "rc": 0, "start": "2025-12-17 15:05:14.831924", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005489", "end": "2025-12-17 15:05:14.855649", "msg": "", "rc": 0, "start": "2025-12-17 15:05:14.850160", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003634", "end": "2025-12-17 15:04:48.800995", "msg": "", "rc": 0, "start": "2025-12-17 15:04:48.797361", "stderr": "", "stderr_lines": [], "stdout": "70.8%", "stdout_lines": ["70.8%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004419", "end": "2025-12-17 15:04:42.335027", "msg": "", "rc": 0, "start": "2025-12-17 15:04:42.330608", "stderr": "", "stderr_lines": [], "stdout": "68.3%", "stdout_lines": ["68.3%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010872", "end": "2025-12-17 15:05:15.501986", "msg": "", "rc": 0, "start": "2025-12-17 15:05:15.491114", "stderr": "", "stderr_lines": [], "stdout": "6.9%", "stdout_lines": ["6.9%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012826", "end": "2025-12-17 15:05:15.525556", "msg": "", "rc": 0, "start": "2025-12-17 15:05:15.512730", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.1%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005988", "end": "2025-12-17 15:05:15.776753", "msg": "", "rc": 0, "start": "2025-12-17 15:05:15.770765", "stderr": "", "stderr_lines": [], "stdout": "35.4%", "stdout_lines": ["35.4%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004256", "end": "2025-12-17 15:04:45.511198", "msg": "", "rc": 0, "start": "2025-12-17 15:04:45.506942", "stderr": "", "stderr_lines": [], "stdout": "27.2%", "stdout_lines": ["27.2%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005296", "end": "2025-12-17 12:05:15.989987", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 12:05:15.984691", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003701", "end": "2025-12-17 15:04:52.118468", "msg": "", "rc": 0, "start": "2025-12-17 15:04:52.114767", "stderr": "", "stderr_lines": [], "stdout": "56.2%", "stdout_lines": ["56.2%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005515", "end": "2025-12-17 15:05:16.188525", "msg": "", "rc": 0, "start": "2025-12-17 15:05:16.183010", "stderr": "", "stderr_lines": [], "stdout": "14.0%", "stdout_lines": ["14.0%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009492", "end": "2025-12-17 15:05:16.842712", "msg": "", "rc": 0, "start": "2025-12-17 15:05:16.833220", "stderr": "", "stderr_lines": [], "stdout": "21.7%", "stdout_lines": ["21.7%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025589", "end": "2025-12-17 15:05:16.161025", "msg": "", "rc": 0, "start": "2025-12-17 15:05:16.135436", "stderr": "", "stderr_lines": [], "stdout": "19.8%", "stdout_lines": ["19.8%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006157", "end": "2025-12-17 15:05:16.682471", "msg": "", "rc": 0, "start": "2025-12-17 15:05:16.676314", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004910", "end": "2025-12-17 15:05:16.698002", "msg": "", "rc": 0, "start": "2025-12-17 15:05:16.693092", "stderr": "", "stderr_lines": [], "stdout": "48.0°C", "stdout_lines": ["48.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005466", "end": "2025-12-17 15:05:16.708152", "msg": "", "rc": 0, "start": "2025-12-17 15:05:16.702686", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003591", "end": "2025-12-17 15:05:16.732192", "msg": "", "rc": 0, "start": "2025-12-17 15:05:16.728601", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.007106", "end": "2025-12-17 15:05:16.745304", "msg": "", "rc": 0, "start": "2025-12-17 15:05:16.738198", "stderr": "", "stderr_lines": [], "stdout": "52.5°C", "stdout_lines": ["52.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002965", "end": "2025-12-17 15:04:50.676701", "msg": "", "rc": 0, "start": "2025-12-17 15:04:50.673736", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003082", "end": "2025-12-17 15:04:44.231961", "msg": "", "rc": 0, "start": "2025-12-17 15:04:44.228879", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011875", "end": "2025-12-17 15:05:17.376837", "msg": "", "rc": 0, "start": "2025-12-17 15:05:17.364962", "stderr": "", "stderr_lines": [], "stdout": "32.1°C", "stdout_lines": ["32.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013092", "end": "2025-12-17 15:05:17.436742", "msg": "", "rc": 0, "start": "2025-12-17 15:05:17.423650", "stderr": "", "stderr_lines": [], "stdout": "36.5°C", "stdout_lines": ["36.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003152", "end": "2025-12-17 15:05:17.667682", "msg": "", "rc": 0, "start": "2025-12-17 15:05:17.664530", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003010", "end": "2025-12-17 15:04:47.415807", "msg": "", "rc": 0, "start": "2025-12-17 15:04:47.412797", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004107", "end": "2025-12-17 12:05:17.892408", "msg": "", "rc": 0, "start": "2025-12-17 12:05:17.888301", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002927", "end": "2025-12-17 15:04:54.009824", "msg": "", "rc": 0, "start": "2025-12-17 15:04:54.006897", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002900", "end": "2025-12-17 15:05:18.092804", "msg": "", "rc": 0, "start": "2025-12-17 15:05:18.089904", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003918", "end": "2025-12-17 15:05:18.833641", "msg": "", "rc": 0, "start": "2025-12-17 15:05:18.829723", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028698", "end": "2025-12-17 15:05:18.064212", "msg": "", "rc": 0, "start": "2025-12-17 15:05:18.035514", "stderr": "", "stderr_lines": [], "stdout": "35.8°C", "stdout_lines": ["35.8°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004155", "end": "2025-12-17 15:05:18.589731", "msg": "", "rc": 0, "start": "2025-12-17 15:05:18.585576", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003990", "end": "2025-12-17 15:05:18.605295", "msg": "", "rc": 0, "start": "2025-12-17 15:05:18.601305", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004622", "end": "2025-12-17 15:05:18.621494", "msg": "", "rc": 0, "start": "2025-12-17 15:05:18.616872", "stderr": "", "stderr_lines": [], "stdout": "0.80", "stdout_lines": ["0.80"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005121", "end": "2025-12-17 15:05:18.651755", "msg": "", "rc": 0, "start": "2025-12-17 15:05:18.646634", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005910", "end": "2025-12-17 15:05:18.661946", "msg": "", "rc": 0, "start": "2025-12-17 15:05:18.656036", "stderr": "", "stderr_lines": [], "stdout": "0.84", "stdout_lines": ["0.84"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004085", "end": "2025-12-17 15:04:52.601506", "msg": "", "rc": 0, "start": "2025-12-17 15:04:52.597421", "stderr": "", "stderr_lines": [], "stdout": "0.03", "stdout_lines": ["0.03"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005087", "end": "2025-12-17 15:04:46.121049", "msg": "", "rc": 0, "start": "2025-12-17 15:04:46.115962", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010113", "end": "2025-12-17 15:05:19.407018", "msg": "", "rc": 0, "start": "2025-12-17 15:05:19.396905", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011227", "end": "2025-12-17 15:05:19.434390", "msg": "", "rc": 0, "start": "2025-12-17 15:05:19.423163", "stderr": "", "stderr_lines": [], "stdout": "0.37", "stdout_lines": ["0.37"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005495", "end": "2025-12-17 15:05:19.582736", "msg": "", "rc": 0, "start": "2025-12-17 15:05:19.577241", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005101", "end": "2025-12-17 15:04:49.312144", "msg": "", "rc": 0, "start": "2025-12-17 15:04:49.307043", "stderr": "", "stderr_lines": [], "stdout": "0.39", "stdout_lines": ["0.39"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006136", "end": "2025-12-17 12:05:19.912288", "msg": "", "rc": 0, "start": "2025-12-17 12:05:19.906152", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004282", "end": "2025-12-17 15:04:56.019536", "msg": "", "rc": 0, "start": "2025-12-17 15:04:56.015254", "stderr": "", "stderr_lines": [], "stdout": "0.18", "stdout_lines": ["0.18"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005182", "end": "2025-12-17 15:05:20.016036", "msg": "", "rc": 0, "start": "2025-12-17 15:05:20.010854", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.007766", "end": "2025-12-17 15:05:20.795747", "msg": "", "rc": 0, "start": "2025-12-17 15:05:20.787981", "stderr": "", "stderr_lines": [], "stdout": "1.47", "stdout_lines": ["1.47"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024439", "end": "2025-12-17 15:05:19.990703", "msg": "", "rc": 0, "start": "2025-12-17 15:05:19.966264", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:05:10 up 3 days, 4:37, 1 user, load average: 0.15, 0.16, 0.17\nDisk Usage: 22%\nMemory Usage: 22.4%\nCPU Load: 0.14\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:05:10 up 22 days, 1:56, 1 user, load average: 0.40, 0.27, 0.20\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.42\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:05:10 up 22 days, 2:16, 1 user, load average: 0.67, 0.68, 0.63\nDisk Usage: 14%\nMemory Usage: 49.0%\nCPU Load: 0.80\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:05:10 up 22 days, 3:29, 1 user, load average: 0.74, 0.65, 0.65\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.84\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:05:10 up 22 days, 4:15, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:05:12 up 15 days, 4:31, 1 user, load average: 0.16, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 19.8%\nCPU Load: 0.29\nCPU Temp: 35.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:05:11 up 194 days, 6:38, 1 user, load average: 0.34, 0.29, 0.27\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.37\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:05:11 up 194 days, 6:38, 1 user, load average: 0.21, 0.12, 0.12\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.17\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:04:44 up 11 days, 2:54, 0 user, load average: 0.03, 0.07, 0.08\nDisk Usage: 48%\nMemory Usage: 70.8%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:04:38 up 17 days, 23:06, 0 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 24%\nMemory Usage: 68.3%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:05:11 up 3 days, 4:36, 1 user, load average: 0.16, 0.12, 0.07\nDisk Usage: 1%\nMemory Usage: 35.4%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:04:41 up 20 days, 17:58, 0 user, load average: 0.43, 0.42, 0.44\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.39\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:04:48 up 17 days, 4:20, 0 user, load average: 0.11, 0.11, 0.12\nDisk Usage: 76%\nMemory Usage: 56.2%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:05PM up 22 days, 1:54, 1 user, load averages: 0.46, 0.31, 0.21\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:05:12 up 3 days, 4:36, 1 user, load average: 0.05, 0.11, 0.12\nDisk Usage: 79%\nMemory Usage: 14.0%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:05:12 up 2:07, 1 user, load average: 1.19, 1.24, 1.26\nDisk Usage: 1%\nMemory Usage: 21.7%\nCPU Load: 1.47\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T20:05:21.746630+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `a932100ebbf448cba75a6c7d81067cc3` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T20:10:00.001322+00:00 |
| **Fin** | 2025-12-17T20:10:21.317041+00:00 |
| **Durée** | 21.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp2.i7.home]
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003304", "end": "2025-12-17 15:10:11.081657", "msg": "", "rc": 0, "start": "2025-12-17 15:10:11.078353", "stderr": "", "stderr_lines": [], "stdout": " 15:10:11 up 22 days, 2:01, 1 user, load average: 0.38, 0.31, 0.22", "stdout_lines": [" 15:10:11 up 22 days, 2:01, 1 user, load average: 0.38, 0.31, 0.22"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003563", "end": "2025-12-17 15:10:11.090430", "msg": "", "rc": 0, "start": "2025-12-17 15:10:11.086867", "stderr": "", "stderr_lines": [], "stdout": " 15:10:11 up 22 days, 4:20, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 15:10:11 up 22 days, 4:20, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003331", "end": "2025-12-17 15:10:11.090494", "msg": "", "rc": 0, "start": "2025-12-17 15:10:11.087163", "stderr": "", "stderr_lines": [], "stdout": " 15:10:11 up 22 days, 2:21, 1 user, load average: 0.62, 0.58, 0.60", "stdout_lines": [" 15:10:11 up 22 days, 2:21, 1 user, load average: 0.62, 0.58, 0.60"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004218", "end": "2025-12-17 15:10:11.109064", "msg": "", "rc": 0, "start": "2025-12-17 15:10:11.104846", "stderr": "", "stderr_lines": [], "stdout": " 15:10:11 up 22 days, 3:34, 1 user, load average: 0.61, 0.61, 0.63", "stdout_lines": [" 15:10:11 up 22 days, 3:34, 1 user, load average: 0.61, 0.61, 0.63"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002951", "end": "2025-12-17 15:10:11.119837", "msg": "", "rc": 0, "start": "2025-12-17 15:10:11.116886", "stderr": "", "stderr_lines": [], "stdout": " 15:10:11 up 3 days, 4:42, 1 user, load average: 0.25, 0.16, 0.16", "stdout_lines": [" 15:10:11 up 3 days, 4:42, 1 user, load average: 0.25, 0.16, 0.16"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002795", "end": "2025-12-17 15:09:45.054210", "msg": "", "rc": 0, "start": "2025-12-17 15:09:45.051415", "stderr": "", "stderr_lines": [], "stdout": " 15:09:45 up 11 days, 2:59, 0 user, load average: 0.09, 0.07, 0.08", "stdout_lines": [" 15:09:45 up 11 days, 2:59, 0 user, load average: 0.09, 0.07, 0.08"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003560", "end": "2025-12-17 15:09:38.586031", "msg": "", "rc": 0, "start": "2025-12-17 15:09:38.582471", "stderr": "", "stderr_lines": [], "stdout": " 15:09:38 up 17 days, 23:11, 0 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 15:09:38 up 17 days, 23:11, 0 user, load average: 0.00, 0.00, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008439", "end": "2025-12-17 15:10:11.775065", "msg": "", "rc": 0, "start": "2025-12-17 15:10:11.766626", "stderr": "", "stderr_lines": [], "stdout": " 15:10:11 up 194 days, 6:43, 1 user, load average: 0.19, 0.11, 0.10", "stdout_lines": [" 15:10:11 up 194 days, 6:43, 1 user, load average: 0.19, 0.11, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009226", "end": "2025-12-17 15:10:11.808067", "msg": "", "rc": 0, "start": "2025-12-17 15:10:11.798841", "stderr": "", "stderr_lines": [], "stdout": " 15:10:11 up 194 days, 6:43, 1 user, load average: 0.23, 0.22, 0.25", "stdout_lines": [" 15:10:11 up 194 days, 6:43, 1 user, load average: 0.23, 0.22, 0.25"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005034", "end": "2025-12-17 15:10:12.043893", "msg": "", "rc": 0, "start": "2025-12-17 15:10:12.038859", "stderr": "", "stderr_lines": [], "stdout": " 15:10:12 up 3 days, 4:41, 1 user, load average: 0.16, 0.10, 0.07", "stdout_lines": [" 15:10:12 up 3 days, 4:41, 1 user, load average: 0.16, 0.10, 0.07"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003055", "end": "2025-12-17 15:09:41.757960", "msg": "", "rc": 0, "start": "2025-12-17 15:09:41.754905", "stderr": "", "stderr_lines": [], "stdout": " 15:09:41 up 20 days, 18:03, 0 user, load average: 0.56, 0.64, 0.53", "stdout_lines": [" 15:09:41 up 20 days, 18:03, 0 user, load average: 0.56, 0.64, 0.53"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002904", "end": "2025-12-17 15:09:48.392863", "msg": "", "rc": 0, "start": "2025-12-17 15:09:48.389959", "stderr": "", "stderr_lines": [], "stdout": " 15:09:48 up 17 days, 4:25, 0 user, load average: 0.11, 0.11, 0.10", "stdout_lines": [" 15:09:48 up 17 days, 4:25, 0 user, load average: 0.11, 0.11, 0.10"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004280", "end": "2025-12-17 12:10:12.310675", "msg": "", "rc": 0, "start": "2025-12-17 12:10:12.306395", "stderr": "", "stderr_lines": [], "stdout": "12:10PM up 22 days, 1:59, 1 user, load averages: 0.17, 0.21, 0.18", "stdout_lines": ["12:10PM up 22 days, 1:59, 1 user, load averages: 0.17, 0.21, 0.18"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003830", "end": "2025-12-17 15:10:12.477011", "msg": "", "rc": 0, "start": "2025-12-17 15:10:12.473181", "stderr": "", "stderr_lines": [], "stdout": " 15:10:12 up 3 days, 4:41, 1 user, load average: 0.00, 0.03, 0.07", "stdout_lines": [" 15:10:12 up 3 days, 4:41, 1 user, load average: 0.00, 0.03, 0.07"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005954", "end": "2025-12-17 15:10:13.406067", "msg": "", "rc": 0, "start": "2025-12-17 15:10:13.400113", "stderr": "", "stderr_lines": [], "stdout": " 15:10:13 up 2:12, 1 user, load average: 1.09, 1.37, 1.34", "stdout_lines": [" 15:10:13 up 2:12, 1 user, load average: 1.09, 1.37, 1.34"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019475", "end": "2025-12-17 15:10:12.473943", "msg": "", "rc": 0, "start": "2025-12-17 15:10:12.454468", "stderr": "", "stderr_lines": [], "stdout": " 15:10:12 up 15 days, 4:36, 1 user, load average: 0.16, 0.15, 0.10", "stdout_lines": [" 15:10:12 up 15 days, 4:36, 1 user, load average: 0.16, 0.15, 0.10"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004351", "end": "2025-12-17 15:10:13.007977", "msg": "", "rc": 0, "start": "2025-12-17 15:10:13.003626", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004125", "end": "2025-12-17 15:10:13.019270", "msg": "", "rc": 0, "start": "2025-12-17 15:10:13.015145", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004520", "end": "2025-12-17 15:10:13.026290", "msg": "", "rc": 0, "start": "2025-12-17 15:10:13.021770", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004666", "end": "2025-12-17 15:10:13.053861", "msg": "", "rc": 0, "start": "2025-12-17 15:10:13.049195", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005503", "end": "2025-12-17 15:10:13.094356", "msg": "", "rc": 0, "start": "2025-12-17 15:10:13.088853", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005402", "end": "2025-12-17 15:09:47.009344", "msg": "", "rc": 0, "start": "2025-12-17 15:09:47.003942", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005961", "end": "2025-12-17 15:09:40.579373", "msg": "", "rc": 0, "start": "2025-12-17 15:09:40.573412", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010506", "end": "2025-12-17 15:10:13.770487", "msg": "", "rc": 0, "start": "2025-12-17 15:10:13.759981", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011650", "end": "2025-12-17 15:10:13.790409", "msg": "", "rc": 0, "start": "2025-12-17 15:10:13.778759", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005701", "end": "2025-12-17 15:10:13.980841", "msg": "", "rc": 0, "start": "2025-12-17 15:10:13.975140", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005653", "end": "2025-12-17 15:09:43.782494", "msg": "", "rc": 0, "start": "2025-12-17 15:09:43.776841", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004861", "end": "2025-12-17 15:09:50.384251", "msg": "", "rc": 0, "start": "2025-12-17 15:09:50.379390", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005772", "end": "2025-12-17 12:10:14.304631", "msg": "", "rc": 0, "start": "2025-12-17 12:10:14.298859", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005425", "end": "2025-12-17 15:10:14.464314", "msg": "", "rc": 0, "start": "2025-12-17 15:10:14.458889", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010366", "end": "2025-12-17 15:10:15.534944", "msg": "", "rc": 0, "start": "2025-12-17 15:10:15.524578", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025818", "end": "2025-12-17 15:10:14.411512", "msg": "", "rc": 0, "start": "2025-12-17 15:10:14.385694", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004090", "end": "2025-12-17 15:10:14.953119", "msg": "", "rc": 0, "start": "2025-12-17 15:10:14.949029", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004796", "end": "2025-12-17 15:10:14.962606", "msg": "", "rc": 0, "start": "2025-12-17 15:10:14.957810", "stderr": "", "stderr_lines": [], "stdout": "49.1%", "stdout_lines": ["49.1%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004734", "end": "2025-12-17 15:10:14.986866", "msg": "", "rc": 0, "start": "2025-12-17 15:10:14.982132", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004182", "end": "2025-12-17 15:10:15.005527", "msg": "", "rc": 0, "start": "2025-12-17 15:10:15.001345", "stderr": "", "stderr_lines": [], "stdout": "77.4%", "stdout_lines": ["77.4%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005765", "end": "2025-12-17 15:10:15.014287", "msg": "", "rc": 0, "start": "2025-12-17 15:10:15.008522", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004063", "end": "2025-12-17 15:09:48.946148", "msg": "", "rc": 0, "start": "2025-12-17 15:09:48.942085", "stderr": "", "stderr_lines": [], "stdout": "70.8%", "stdout_lines": ["70.8%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.007067", "end": "2025-12-17 15:09:42.495977", "msg": "", "rc": 0, "start": "2025-12-17 15:09:42.488910", "stderr": "", "stderr_lines": [], "stdout": "68.4%", "stdout_lines": ["68.4%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011192", "end": "2025-12-17 15:10:15.663071", "msg": "", "rc": 0, "start": "2025-12-17 15:10:15.651879", "stderr": "", "stderr_lines": [], "stdout": "6.9%", "stdout_lines": ["6.9%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011742", "end": "2025-12-17 15:10:15.663842", "msg": "", "rc": 0, "start": "2025-12-17 15:10:15.652100", "stderr": "", "stderr_lines": [], "stdout": "13.0%", "stdout_lines": ["13.0%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005984", "end": "2025-12-17 15:10:15.945128", "msg": "", "rc": 0, "start": "2025-12-17 15:10:15.939144", "stderr": "", "stderr_lines": [], "stdout": "35.4%", "stdout_lines": ["35.4%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005370", "end": "2025-12-17 12:10:16.131596", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 12:10:16.126226", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005107", "end": "2025-12-17 15:09:45.721033", "msg": "", "rc": 0, "start": "2025-12-17 15:09:45.715926", "stderr": "", "stderr_lines": [], "stdout": "27.0%", "stdout_lines": ["27.0%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003596", "end": "2025-12-17 15:09:52.285374", "msg": "", "rc": 0, "start": "2025-12-17 15:09:52.281778", "stderr": "", "stderr_lines": [], "stdout": "57.4%", "stdout_lines": ["57.4%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005554", "end": "2025-12-17 15:10:16.414714", "msg": "", "rc": 0, "start": "2025-12-17 15:10:16.409160", "stderr": "", "stderr_lines": [], "stdout": "13.8%", "stdout_lines": ["13.8%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009447", "end": "2025-12-17 15:10:17.501325", "msg": "", "rc": 0, "start": "2025-12-17 15:10:17.491878", "stderr": "", "stderr_lines": [], "stdout": "21.9%", "stdout_lines": ["21.9%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026305", "end": "2025-12-17 15:10:16.342779", "msg": "", "rc": 0, "start": "2025-12-17 15:10:16.316474", "stderr": "", "stderr_lines": [], "stdout": "19.6%", "stdout_lines": ["19.6%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004917", "end": "2025-12-17 15:10:16.882382", "msg": "", "rc": 0, "start": "2025-12-17 15:10:16.877465", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005549", "end": "2025-12-17 15:10:16.892121", "msg": "", "rc": 0, "start": "2025-12-17 15:10:16.886572", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003207", "end": "2025-12-17 15:10:16.908972", "msg": "", "rc": 0, "start": "2025-12-17 15:10:16.905765", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006927", "end": "2025-12-17 15:10:16.937742", "msg": "", "rc": 0, "start": "2025-12-17 15:10:16.930815", "stderr": "", "stderr_lines": [], "stdout": "52.5°C", "stdout_lines": ["52.5°C"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013098", "end": "2025-12-17 15:10:17.125469", "msg": "", "rc": 0, "start": "2025-12-17 15:10:17.112371", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002767", "end": "2025-12-17 15:09:50.876940", "msg": "", "rc": 0, "start": "2025-12-17 15:09:50.874173", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012252", "end": "2025-12-17 15:10:17.581717", "msg": "", "rc": 0, "start": "2025-12-17 15:10:17.569465", "stderr": "", "stderr_lines": [], "stdout": "32.1°C", "stdout_lines": ["32.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012916", "end": "2025-12-17 15:10:17.609830", "msg": "", "rc": 0, "start": "2025-12-17 15:10:17.596914", "stderr": "", "stderr_lines": [], "stdout": "36.0°C", "stdout_lines": ["36.0°C"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003032", "end": "2025-12-17 15:09:44.592891", "msg": "", "rc": 0, "start": "2025-12-17 15:09:44.589859", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003477", "end": "2025-12-17 15:10:17.855359", "msg": "", "rc": 0, "start": "2025-12-17 15:10:17.851882", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003836", "end": "2025-12-17 12:10:18.103784", "msg": "", "rc": 0, "start": "2025-12-17 12:10:18.099948", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003429", "end": "2025-12-17 15:09:54.247833", "msg": "", "rc": 0, "start": "2025-12-17 15:09:54.244404", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003273", "end": "2025-12-17 15:09:47.725547", "msg": "", "rc": 0, "start": "2025-12-17 15:09:47.722274", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002984", "end": "2025-12-17 15:10:18.274515", "msg": "", "rc": 0, "start": "2025-12-17 15:10:18.271531", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.029153", "end": "2025-12-17 15:10:18.274386", "msg": "", "rc": 0, "start": "2025-12-17 15:10:18.245233", "stderr": "", "stderr_lines": [], "stdout": "35.7°C", "stdout_lines": ["35.7°C"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004295", "end": "2025-12-17 15:10:19.568024", "msg": "", "rc": 0, "start": "2025-12-17 15:10:19.563729", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
TASK [Get CPU load] ************************************************************
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004701", "end": "2025-12-17 15:10:18.819772", "msg": "", "rc": 0, "start": "2025-12-17 15:10:18.815071", "stderr": "", "stderr_lines": [], "stdout": "0.73", "stdout_lines": ["0.73"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003985", "end": "2025-12-17 15:10:18.825010", "msg": "", "rc": 0, "start": "2025-12-17 15:10:18.821025", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005266", "end": "2025-12-17 15:10:18.866683", "msg": "", "rc": 0, "start": "2025-12-17 15:10:18.861417", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005459", "end": "2025-12-17 15:10:18.867584", "msg": "", "rc": 0, "start": "2025-12-17 15:10:18.862125", "stderr": "", "stderr_lines": [], "stdout": "0.64", "stdout_lines": ["0.64"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004105", "end": "2025-12-17 15:10:19.017690", "msg": "", "rc": 0, "start": "2025-12-17 15:10:19.013585", "stderr": "", "stderr_lines": [], "stdout": "0.40", "stdout_lines": ["0.40"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004203", "end": "2025-12-17 15:09:52.809757", "msg": "", "rc": 0, "start": "2025-12-17 15:09:52.805554", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004888", "end": "2025-12-17 15:09:46.461635", "msg": "", "rc": 0, "start": "2025-12-17 15:09:46.456747", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010217", "end": "2025-12-17 15:10:19.621334", "msg": "", "rc": 0, "start": "2025-12-17 15:10:19.611117", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010929", "end": "2025-12-17 15:10:19.653596", "msg": "", "rc": 0, "start": "2025-12-17 15:10:19.642667", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006207", "end": "2025-12-17 15:10:19.805558", "msg": "", "rc": 0, "start": "2025-12-17 15:10:19.799351", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005070", "end": "2025-12-17 15:09:49.632535", "msg": "", "rc": 0, "start": "2025-12-17 15:09:49.627465", "stderr": "", "stderr_lines": [], "stdout": "0.60", "stdout_lines": ["0.60"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005839", "end": "2025-12-17 12:10:20.121639", "msg": "", "rc": 0, "start": "2025-12-17 12:10:20.115800", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004623", "end": "2025-12-17 15:09:56.234991", "msg": "", "rc": 0, "start": "2025-12-17 15:09:56.230368", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005199", "end": "2025-12-17 15:10:20.238893", "msg": "", "rc": 0, "start": "2025-12-17 15:10:20.233694", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024650", "end": "2025-12-17 15:10:20.210099", "msg": "", "rc": 0, "start": "2025-12-17 15:10:20.185449", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.009341", "end": "2025-12-17 15:10:20.503620", "msg": "", "rc": 0, "start": "2025-12-17 15:10:20.494279", "stderr": "", "stderr_lines": [], "stdout": "1.31", "stdout_lines": ["1.31"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:11 up 3 days, 4:42, 1 user, load average: 0.25, 0.16, 0.16\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.23\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:11 up 22 days, 2:01, 1 user, load average: 0.38, 0.31, 0.22\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.40\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:11 up 22 days, 2:21, 1 user, load average: 0.62, 0.58, 0.60\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 0.73\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:11 up 22 days, 3:34, 1 user, load average: 0.61, 0.61, 0.63\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.64\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:11 up 22 days, 4:20, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:12 up 15 days, 4:36, 1 user, load average: 0.16, 0.15, 0.10\nDisk Usage: 21%\nMemory Usage: 19.6%\nCPU Load: 0.29\nCPU Temp: 35.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:11 up 194 days, 6:43, 1 user, load average: 0.23, 0.22, 0.25\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.28\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:11 up 194 days, 6:43, 1 user, load average: 0.19, 0.11, 0.10\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.16\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:09:45 up 11 days, 2:59, 0 user, load average: 0.09, 0.07, 0.08\nDisk Usage: 48%\nMemory Usage: 70.8%\nCPU Load: 0.31\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:09:38 up 17 days, 23:11, 0 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 24%\nMemory Usage: 68.4%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:12 up 3 days, 4:41, 1 user, load average: 0.16, 0.10, 0.07\nDisk Usage: 1%\nMemory Usage: 35.4%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:09:41 up 20 days, 18:03, 0 user, load average: 0.56, 0.64, 0.53\nDisk Usage: 28%\nMemory Usage: 27.0%\nCPU Load: 0.60\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:09:48 up 17 days, 4:25, 0 user, load average: 0.11, 0.11, 0.10\nDisk Usage: 76%\nMemory Usage: 57.4%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:10PM up 22 days, 1:59, 1 user, load averages: 0.17, 0.21, 0.18\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:12 up 3 days, 4:41, 1 user, load average: 0.00, 0.03, 0.07\nDisk Usage: 79%\nMemory Usage: 13.8%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:10:13 up 2:12, 1 user, load average: 1.09, 1.37, 1.34\nDisk Usage: 1%\nMemory Usage: 21.9%\nCPU Load: 1.31\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T20:10:21.357909+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `f653d3a16cf8476a8718c1af91fe39f1` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T20:15:00.000857+00:00 |
| **Fin** | 2025-12-17T20:15:21.059555+00:00 |
| **Durée** | 21.1s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [hp.nas.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003285", "end": "2025-12-17 15:15:10.491879", "msg": "", "rc": 0, "start": "2025-12-17 15:15:10.488594", "stderr": "", "stderr_lines": [], "stdout": " 15:15:10 up 22 days, 2:06, 1 user, load average: 1.07, 0.73, 0.42", "stdout_lines": [" 15:15:10 up 22 days, 2:06, 1 user, load average: 1.07, 0.73, 0.42"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003561", "end": "2025-12-17 15:15:10.502118", "msg": "", "rc": 0, "start": "2025-12-17 15:15:10.498557", "stderr": "", "stderr_lines": [], "stdout": " 15:15:10 up 22 days, 2:26, 1 user, load average: 1.05, 0.72, 0.65", "stdout_lines": [" 15:15:10 up 22 days, 2:26, 1 user, load average: 1.05, 0.72, 0.65"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003809", "end": "2025-12-17 15:15:10.508227", "msg": "", "rc": 0, "start": "2025-12-17 15:15:10.504418", "stderr": "", "stderr_lines": [], "stdout": " 15:15:10 up 22 days, 4:25, 1 user, load average: 0.06, 0.01, 0.00", "stdout_lines": [" 15:15:10 up 22 days, 4:25, 1 user, load average: 0.06, 0.01, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004077", "end": "2025-12-17 15:15:10.524923", "msg": "", "rc": 0, "start": "2025-12-17 15:15:10.520846", "stderr": "", "stderr_lines": [], "stdout": " 15:15:10 up 22 days, 3:39, 1 user, load average: 0.57, 0.61, 0.62", "stdout_lines": [" 15:15:10 up 22 days, 3:39, 1 user, load average: 0.57, 0.61, 0.62"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002866", "end": "2025-12-17 15:15:10.531056", "msg": "", "rc": 0, "start": "2025-12-17 15:15:10.528190", "stderr": "", "stderr_lines": [], "stdout": " 15:15:10 up 3 days, 4:47, 1 user, load average: 0.66, 0.31, 0.22", "stdout_lines": [" 15:15:10 up 3 days, 4:47, 1 user, load average: 0.66, 0.31, 0.22"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002839", "end": "2025-12-17 15:14:44.480042", "msg": "", "rc": 0, "start": "2025-12-17 15:14:44.477203", "stderr": "", "stderr_lines": [], "stdout": " 15:14:44 up 11 days, 3:04, 0 user, load average: 0.18, 0.20, 0.13", "stdout_lines": [" 15:14:44 up 11 days, 3:04, 0 user, load average: 0.18, 0.20, 0.13"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003288", "end": "2025-12-17 15:14:37.988703", "msg": "", "rc": 0, "start": "2025-12-17 15:14:37.985415", "stderr": "", "stderr_lines": [], "stdout": " 15:14:37 up 17 days, 23:16, 0 user, load average: 0.08, 0.04, 0.00", "stdout_lines": [" 15:14:37 up 17 days, 23:16, 0 user, load average: 0.08, 0.04, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008556", "end": "2025-12-17 15:15:11.175760", "msg": "", "rc": 0, "start": "2025-12-17 15:15:11.167204", "stderr": "", "stderr_lines": [], "stdout": " 15:15:11 up 194 days, 6:48, 1 user, load average: 0.24, 0.12, 0.10", "stdout_lines": [" 15:15:11 up 194 days, 6:48, 1 user, load average: 0.24, 0.12, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009489", "end": "2025-12-17 15:15:11.209123", "msg": "", "rc": 0, "start": "2025-12-17 15:15:11.199634", "stderr": "", "stderr_lines": [], "stdout": " 15:15:11 up 194 days, 6:48, 1 user, load average: 0.48, 0.31, 0.28", "stdout_lines": [" 15:15:11 up 194 days, 6:48, 1 user, load average: 0.48, 0.31, 0.28"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005013", "end": "2025-12-17 15:15:11.472735", "msg": "", "rc": 0, "start": "2025-12-17 15:15:11.467722", "stderr": "", "stderr_lines": [], "stdout": " 15:15:11 up 3 days, 4:46, 1 user, load average: 0.14, 0.10, 0.08", "stdout_lines": [" 15:15:11 up 3 days, 4:46, 1 user, load average: 0.14, 0.10, 0.08"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003108", "end": "2025-12-17 15:14:41.153201", "msg": "", "rc": 0, "start": "2025-12-17 15:14:41.150093", "stderr": "", "stderr_lines": [], "stdout": " 15:14:41 up 20 days, 18:08, 0 user, load average: 0.20, 0.43, 0.47", "stdout_lines": [" 15:14:41 up 20 days, 18:08, 0 user, load average: 0.20, 0.43, 0.47"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002761", "end": "2025-12-17 15:14:47.758927", "msg": "", "rc": 0, "start": "2025-12-17 15:14:47.756166", "stderr": "", "stderr_lines": [], "stdout": " 15:14:47 up 17 days, 4:30, 0 user, load average: 0.41, 0.21, 0.13", "stdout_lines": [" 15:14:47 up 17 days, 4:30, 0 user, load average: 0.41, 0.21, 0.13"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004101", "end": "2025-12-17 12:15:11.670202", "msg": "", "rc": 0, "start": "2025-12-17 12:15:11.666101", "stderr": "", "stderr_lines": [], "stdout": "12:15PM up 22 days, 2:04, 1 user, load averages: 0.37, 0.26, 0.19", "stdout_lines": ["12:15PM up 22 days, 2:04, 1 user, load averages: 0.37, 0.26, 0.19"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006437", "end": "2025-12-17 15:15:12.093467", "msg": "", "rc": 0, "start": "2025-12-17 15:15:12.087030", "stderr": "", "stderr_lines": [], "stdout": " 15:15:12 up 2:17, 1 user, load average: 1.70, 1.36, 1.32", "stdout_lines": [" 15:15:12 up 2:17, 1 user, load average: 1.70, 1.36, 1.32"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003736", "end": "2025-12-17 15:15:11.902613", "msg": "", "rc": 0, "start": "2025-12-17 15:15:11.898877", "stderr": "", "stderr_lines": [], "stdout": " 15:15:11 up 3 days, 4:46, 1 user, load average: 0.01, 0.07, 0.08", "stdout_lines": [" 15:15:11 up 3 days, 4:46, 1 user, load average: 0.01, 0.07, 0.08"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019332", "end": "2025-12-17 15:15:11.889470", "msg": "", "rc": 0, "start": "2025-12-17 15:15:11.870138", "stderr": "", "stderr_lines": [], "stdout": " 15:15:11 up 15 days, 4:41, 1 user, load average: 0.16, 0.14, 0.10", "stdout_lines": [" 15:15:11 up 15 days, 4:41, 1 user, load average: 0.16, 0.14, 0.10"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004198", "end": "2025-12-17 15:15:12.445751", "msg": "", "rc": 0, "start": "2025-12-17 15:15:12.441553", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004136", "end": "2025-12-17 15:15:12.480809", "msg": "", "rc": 0, "start": "2025-12-17 15:15:12.476673", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004995", "end": "2025-12-17 15:15:12.483217", "msg": "", "rc": 0, "start": "2025-12-17 15:15:12.478222", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004756", "end": "2025-12-17 15:15:12.515359", "msg": "", "rc": 0, "start": "2025-12-17 15:15:12.510603", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005784", "end": "2025-12-17 15:15:12.542498", "msg": "", "rc": 0, "start": "2025-12-17 15:15:12.536714", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005885", "end": "2025-12-17 15:14:46.472876", "msg": "", "rc": 0, "start": "2025-12-17 15:14:46.466991", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005318", "end": "2025-12-17 15:14:40.004583", "msg": "", "rc": 0, "start": "2025-12-17 15:14:39.999265", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010635", "end": "2025-12-17 15:15:13.209531", "msg": "", "rc": 0, "start": "2025-12-17 15:15:13.198896", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011679", "end": "2025-12-17 15:15:13.244961", "msg": "", "rc": 0, "start": "2025-12-17 15:15:13.233282", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006068", "end": "2025-12-17 15:15:13.467685", "msg": "", "rc": 0, "start": "2025-12-17 15:15:13.461617", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005305", "end": "2025-12-17 15:14:43.173067", "msg": "", "rc": 0, "start": "2025-12-17 15:14:43.167762", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004884", "end": "2025-12-17 15:14:49.790339", "msg": "", "rc": 0, "start": "2025-12-17 15:14:49.785455", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005363", "end": "2025-12-17 12:15:13.698056", "msg": "", "rc": 0, "start": "2025-12-17 12:15:13.692693", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.009671", "end": "2025-12-17 15:15:14.174272", "msg": "", "rc": 0, "start": "2025-12-17 15:15:14.164601", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005313", "end": "2025-12-17 15:15:13.897024", "msg": "", "rc": 0, "start": "2025-12-17 15:15:13.891711", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025440", "end": "2025-12-17 15:15:13.833842", "msg": "", "rc": 0, "start": "2025-12-17 15:15:13.808402", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004372", "end": "2025-12-17 15:15:14.362408", "msg": "", "rc": 0, "start": "2025-12-17 15:15:14.358036", "stderr": "", "stderr_lines": [], "stdout": "77.4%", "stdout_lines": ["77.4%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004262", "end": "2025-12-17 15:15:14.362882", "msg": "", "rc": 0, "start": "2025-12-17 15:15:14.358620", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004546", "end": "2025-12-17 15:15:14.391495", "msg": "", "rc": 0, "start": "2025-12-17 15:15:14.386949", "stderr": "", "stderr_lines": [], "stdout": "49.0%", "stdout_lines": ["49.0%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004952", "end": "2025-12-17 15:15:14.431483", "msg": "", "rc": 0, "start": "2025-12-17 15:15:14.426531", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005435", "end": "2025-12-17 15:15:14.433336", "msg": "", "rc": 0, "start": "2025-12-17 15:15:14.427901", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004060", "end": "2025-12-17 15:14:48.382227", "msg": "", "rc": 0, "start": "2025-12-17 15:14:48.378167", "stderr": "", "stderr_lines": [], "stdout": "71.4%", "stdout_lines": ["71.4%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005350", "end": "2025-12-17 15:14:41.952229", "msg": "", "rc": 0, "start": "2025-12-17 15:14:41.946879", "stderr": "", "stderr_lines": [], "stdout": "68.3%", "stdout_lines": ["68.3%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010923", "end": "2025-12-17 15:15:15.108966", "msg": "", "rc": 0, "start": "2025-12-17 15:15:15.098043", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012013", "end": "2025-12-17 15:15:15.140676", "msg": "", "rc": 0, "start": "2025-12-17 15:15:15.128663", "stderr": "", "stderr_lines": [], "stdout": "12.7%", "stdout_lines": ["12.7%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006003", "end": "2025-12-17 15:15:15.378137", "msg": "", "rc": 0, "start": "2025-12-17 15:15:15.372134", "stderr": "", "stderr_lines": [], "stdout": "35.6%", "stdout_lines": ["35.6%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004389", "end": "2025-12-17 15:14:51.697587", "msg": "", "rc": 0, "start": "2025-12-17 15:14:51.693198", "stderr": "", "stderr_lines": [], "stdout": "57.6%", "stdout_lines": ["57.6%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004278", "end": "2025-12-17 15:14:45.150487", "msg": "", "rc": 0, "start": "2025-12-17 15:14:45.146209", "stderr": "", "stderr_lines": [], "stdout": "26.0%", "stdout_lines": ["26.0%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005091", "end": "2025-12-17 12:15:15.609813", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 12:15:15.604722", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005502", "end": "2025-12-17 15:15:15.801673", "msg": "", "rc": 0, "start": "2025-12-17 15:15:15.796171", "stderr": "", "stderr_lines": [], "stdout": "13.8%", "stdout_lines": ["13.8%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009521", "end": "2025-12-17 15:15:16.252147", "msg": "", "rc": 0, "start": "2025-12-17 15:15:16.242626", "stderr": "", "stderr_lines": [], "stdout": "21.6%", "stdout_lines": ["21.6%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025621", "end": "2025-12-17 15:15:15.790709", "msg": "", "rc": 0, "start": "2025-12-17 15:15:15.765088", "stderr": "", "stderr_lines": [], "stdout": "19.7%", "stdout_lines": ["19.7%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005338", "end": "2025-12-17 15:15:16.331282", "msg": "", "rc": 0, "start": "2025-12-17 15:15:16.325944", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005061", "end": "2025-12-17 15:15:16.341753", "msg": "", "rc": 0, "start": "2025-12-17 15:15:16.336692", "stderr": "", "stderr_lines": [], "stdout": "48.0°C", "stdout_lines": ["48.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005604", "end": "2025-12-17 15:15:16.345707", "msg": "", "rc": 0, "start": "2025-12-17 15:15:16.340103", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003048", "end": "2025-12-17 15:15:16.377650", "msg": "", "rc": 0, "start": "2025-12-17 15:15:16.374602", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006878", "end": "2025-12-17 15:15:16.411077", "msg": "", "rc": 0, "start": "2025-12-17 15:15:16.404199", "stderr": "", "stderr_lines": [], "stdout": "52.5°C", "stdout_lines": ["52.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002480", "end": "2025-12-17 15:14:50.290790", "msg": "", "rc": 0, "start": "2025-12-17 15:14:50.288310", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003220", "end": "2025-12-17 15:14:43.894196", "msg": "", "rc": 0, "start": "2025-12-17 15:14:43.890976", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011740", "end": "2025-12-17 15:15:17.022668", "msg": "", "rc": 0, "start": "2025-12-17 15:15:17.010928", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012654", "end": "2025-12-17 15:15:17.057053", "msg": "", "rc": 0, "start": "2025-12-17 15:15:17.044399", "stderr": "", "stderr_lines": [], "stdout": "36.5°C", "stdout_lines": ["36.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003144", "end": "2025-12-17 15:15:17.277601", "msg": "", "rc": 0, "start": "2025-12-17 15:15:17.274457", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003721", "end": "2025-12-17 12:15:17.527435", "msg": "", "rc": 0, "start": "2025-12-17 12:15:17.523714", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002643", "end": "2025-12-17 15:14:53.620391", "msg": "", "rc": 0, "start": "2025-12-17 15:14:53.617748", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003078", "end": "2025-12-17 15:14:47.094838", "msg": "", "rc": 0, "start": "2025-12-17 15:14:47.091760", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002925", "end": "2025-12-17 15:15:17.697632", "msg": "", "rc": 0, "start": "2025-12-17 15:15:17.694707", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003819", "end": "2025-12-17 15:15:18.240471", "msg": "", "rc": 0, "start": "2025-12-17 15:15:18.236652", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028871", "end": "2025-12-17 15:15:17.718880", "msg": "", "rc": 0, "start": "2025-12-17 15:15:17.690009", "stderr": "", "stderr_lines": [], "stdout": "35.6°C", "stdout_lines": ["35.6°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004114", "end": "2025-12-17 15:15:18.260893", "msg": "", "rc": 0, "start": "2025-12-17 15:15:18.256779", "stderr": "", "stderr_lines": [], "stdout": "0.90", "stdout_lines": ["0.90"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.003997", "end": "2025-12-17 15:15:18.267256", "msg": "", "rc": 0, "start": "2025-12-17 15:15:18.263259", "stderr": "", "stderr_lines": [], "stdout": "0.85", "stdout_lines": ["0.85"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004568", "end": "2025-12-17 15:15:18.272436", "msg": "", "rc": 0, "start": "2025-12-17 15:15:18.267868", "stderr": "", "stderr_lines": [], "stdout": "0.97", "stdout_lines": ["0.97"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005117", "end": "2025-12-17 15:15:18.299780", "msg": "", "rc": 0, "start": "2025-12-17 15:15:18.294663", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005818", "end": "2025-12-17 15:15:18.317541", "msg": "", "rc": 0, "start": "2025-12-17 15:15:18.311723", "stderr": "", "stderr_lines": [], "stdout": "0.60", "stdout_lines": ["0.60"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004899", "end": "2025-12-17 15:14:52.246762", "msg": "", "rc": 0, "start": "2025-12-17 15:14:52.241863", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006736", "end": "2025-12-17 15:14:45.811985", "msg": "", "rc": 0, "start": "2025-12-17 15:14:45.805249", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010269", "end": "2025-12-17 15:15:19.035422", "msg": "", "rc": 0, "start": "2025-12-17 15:15:19.025153", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011190", "end": "2025-12-17 15:15:19.095952", "msg": "", "rc": 0, "start": "2025-12-17 15:15:19.084762", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005869", "end": "2025-12-17 15:15:19.228514", "msg": "", "rc": 0, "start": "2025-12-17 15:15:19.222645", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005438", "end": "2025-12-17 15:14:48.993524", "msg": "", "rc": 0, "start": "2025-12-17 15:14:48.988086", "stderr": "", "stderr_lines": [], "stdout": "0.40", "stdout_lines": ["0.40"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004688", "end": "2025-12-17 15:14:55.629612", "msg": "", "rc": 0, "start": "2025-12-17 15:14:55.624924", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006071", "end": "2025-12-17 12:15:19.576471", "msg": "", "rc": 0, "start": "2025-12-17 12:15:19.570400", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005424", "end": "2025-12-17 15:15:19.666354", "msg": "", "rc": 0, "start": "2025-12-17 15:15:19.660930", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.008018", "end": "2025-12-17 15:15:20.246240", "msg": "", "rc": 0, "start": "2025-12-17 15:15:20.238222", "stderr": "", "stderr_lines": [], "stdout": "1.59", "stdout_lines": ["1.59"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024481", "end": "2025-12-17 15:15:19.652254", "msg": "", "rc": 0, "start": "2025-12-17 15:15:19.627773", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:10 up 3 days, 4:47, 1 user, load average: 0.66, 0.31, 0.22\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.85\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:10 up 22 days, 2:06, 1 user, load average: 1.07, 0.73, 0.42\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.90\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:10 up 22 days, 2:26, 1 user, load average: 1.05, 0.72, 0.65\nDisk Usage: 14%\nMemory Usage: 49.0%\nCPU Load: 0.97\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:10 up 22 days, 3:39, 1 user, load average: 0.57, 0.61, 0.62\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.60\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:10 up 22 days, 4:25, 1 user, load average: 0.06, 0.01, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:11 up 15 days, 4:41, 1 user, load average: 0.16, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 19.7%\nCPU Load: 0.21\nCPU Temp: 35.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:11 up 194 days, 6:48, 1 user, load average: 0.48, 0.31, 0.28\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.41\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:11 up 194 days, 6:48, 1 user, load average: 0.24, 0.12, 0.10\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.28\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:14:44 up 11 days, 3:04, 0 user, load average: 0.18, 0.20, 0.13\nDisk Usage: 48%\nMemory Usage: 71.4%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:14:37 up 17 days, 23:16, 0 user, load average: 0.08, 0.04, 0.00\nDisk Usage: 24%\nMemory Usage: 68.3%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:11 up 3 days, 4:46, 1 user, load average: 0.14, 0.10, 0.08\nDisk Usage: 1%\nMemory Usage: 35.6%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:14:41 up 20 days, 18:08, 0 user, load average: 0.20, 0.43, 0.47\nDisk Usage: 28%\nMemory Usage: 26.0%\nCPU Load: 0.40\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:14:47 up 17 days, 4:30, 0 user, load average: 0.41, 0.21, 0.13\nDisk Usage: 76%\nMemory Usage: 57.6%\nCPU Load: 0.35\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:15PM up 22 days, 2:04, 1 user, load averages: 0.37, 0.26, 0.19\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:11 up 3 days, 4:46, 1 user, load average: 0.01, 0.07, 0.08\nDisk Usage: 79%\nMemory Usage: 13.8%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:15:12 up 2:17, 1 user, load average: 1.70, 1.36, 1.32\nDisk Usage: 1%\nMemory Usage: 21.6%\nCPU Load: 1.59\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T20:15:21.104517+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `59a63de24c4947da9d484f37f2c8d1c0` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T20:20:00.000941+00:00 |
| **Fin** | 2025-12-17T20:20:24.267361+00:00 |
| **Durée** | 24.3s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003405", "end": "2025-12-17 15:20:12.558763", "msg": "", "rc": 0, "start": "2025-12-17 15:20:12.555358", "stderr": "", "stderr_lines": [], "stdout": " 15:20:12 up 22 days, 2:11, 1 user, load average: 0.48, 0.57, 0.43", "stdout_lines": [" 15:20:12 up 22 days, 2:11, 1 user, load average: 0.48, 0.57, 0.43"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003921", "end": "2025-12-17 15:20:12.581512", "msg": "", "rc": 0, "start": "2025-12-17 15:20:12.577591", "stderr": "", "stderr_lines": [], "stdout": " 15:20:12 up 22 days, 4:30, 1 user, load average: 0.07, 0.02, 0.00", "stdout_lines": [" 15:20:12 up 22 days, 4:30, 1 user, load average: 0.07, 0.02, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003343", "end": "2025-12-17 15:20:12.597158", "msg": "", "rc": 0, "start": "2025-12-17 15:20:12.593815", "stderr": "", "stderr_lines": [], "stdout": " 15:20:12 up 22 days, 2:31, 1 user, load average: 1.03, 0.76, 0.67", "stdout_lines": [" 15:20:12 up 22 days, 2:31, 1 user, load average: 1.03, 0.76, 0.67"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002843", "end": "2025-12-17 15:20:12.605549", "msg": "", "rc": 0, "start": "2025-12-17 15:20:12.602706", "stderr": "", "stderr_lines": [], "stdout": " 15:20:12 up 3 days, 4:52, 1 user, load average: 0.17, 0.21, 0.19", "stdout_lines": [" 15:20:12 up 3 days, 4:52, 1 user, load average: 0.17, 0.21, 0.19"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003524", "end": "2025-12-17 15:19:46.584904", "msg": "", "rc": 0, "start": "2025-12-17 15:19:46.581380", "stderr": "", "stderr_lines": [], "stdout": " 15:19:46 up 11 days, 3:09, 0 user, load average: 0.13, 0.17, 0.12", "stdout_lines": [" 15:19:46 up 11 days, 3:09, 0 user, load average: 0.13, 0.17, 0.12"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008377", "end": "2025-12-17 15:20:13.278367", "msg": "", "rc": 0, "start": "2025-12-17 15:20:13.269990", "stderr": "", "stderr_lines": [], "stdout": " 15:20:13 up 194 days, 6:53, 1 user, load average: 0.03, 0.09, 0.08", "stdout_lines": [" 15:20:13 up 194 days, 6:53, 1 user, load average: 0.03, 0.09, 0.08"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009357", "end": "2025-12-17 15:20:13.334407", "msg": "", "rc": 0, "start": "2025-12-17 15:20:13.325050", "stderr": "", "stderr_lines": [], "stdout": " 15:20:13 up 194 days, 6:53, 1 user, load average: 0.17, 0.19, 0.23", "stdout_lines": [" 15:20:13 up 194 days, 6:53, 1 user, load average: 0.17, 0.19, 0.23"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004799", "end": "2025-12-17 15:20:13.598488", "msg": "", "rc": 0, "start": "2025-12-17 15:20:12.593689", "stderr": "", "stderr_lines": [], "stdout": " 15:20:12 up 22 days, 3:44, 1 user, load average: 0.56, 0.57, 0.61", "stdout_lines": [" 15:20:12 up 22 days, 3:44, 1 user, load average: 0.56, 0.57, 0.61"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003736", "end": "2025-12-17 15:19:40.572346", "msg": "", "rc": 0, "start": "2025-12-17 15:19:40.568610", "stderr": "", "stderr_lines": [], "stdout": " 15:19:40 up 17 days, 23:21, 0 user, load average: 0.12, 0.08, 0.02", "stdout_lines": [" 15:19:40 up 17 days, 23:21, 0 user, load average: 0.12, 0.08, 0.02"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004986", "end": "2025-12-17 15:20:13.805385", "msg": "", "rc": 0, "start": "2025-12-17 15:20:13.800399", "stderr": "", "stderr_lines": [], "stdout": " 15:20:13 up 3 days, 4:51, 1 user, load average: 0.13, 0.07, 0.07", "stdout_lines": [" 15:20:13 up 3 days, 4:51, 1 user, load average: 0.13, 0.07, 0.07"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006120", "end": "2025-12-17 15:19:43.495541", "msg": "", "rc": 0, "start": "2025-12-17 15:19:43.489421", "stderr": "", "stderr_lines": [], "stdout": " 15:19:43 up 20 days, 18:14, 0 user, load average: 0.49, 0.42, 0.45", "stdout_lines": [" 15:19:43 up 20 days, 18:14, 0 user, load average: 0.49, 0.42, 0.45"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003055", "end": "2025-12-17 15:19:50.165014", "msg": "", "rc": 0, "start": "2025-12-17 15:19:50.161959", "stderr": "", "stderr_lines": [], "stdout": " 15:19:50 up 17 days, 4:35, 0 user, load average: 0.43, 0.28, 0.17", "stdout_lines": [" 15:19:50 up 17 days, 4:35, 0 user, load average: 0.43, 0.28, 0.17"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019863", "end": "2025-12-17 15:20:13.972990", "msg": "", "rc": 0, "start": "2025-12-17 15:20:13.953127", "stderr": "", "stderr_lines": [], "stdout": " 15:20:13 up 15 days, 4:46, 1 user, load average: 0.23, 0.14, 0.10", "stdout_lines": [" 15:20:13 up 15 days, 4:46, 1 user, load average: 0.23, 0.14, 0.10"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004180", "end": "2025-12-17 12:20:14.109431", "msg": "", "rc": 0, "start": "2025-12-17 12:20:14.105251", "stderr": "", "stderr_lines": [], "stdout": "12:20PM up 22 days, 2:10, 1 user, load averages: 0.44, 0.31, 0.21", "stdout_lines": ["12:20PM up 22 days, 2:10, 1 user, load averages: 0.44, 0.31, 0.21"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003777", "end": "2025-12-17 15:20:14.238931", "msg": "", "rc": 0, "start": "2025-12-17 15:20:14.235154", "stderr": "", "stderr_lines": [], "stdout": " 15:20:14 up 3 days, 4:51, 1 user, load average: 0.07, 0.05, 0.07", "stdout_lines": [" 15:20:14 up 3 days, 4:51, 1 user, load average: 0.07, 0.05, 0.07"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009666", "end": "2025-12-17 15:20:15.038018", "msg": "", "rc": 0, "start": "2025-12-17 15:20:15.028352", "stderr": "", "stderr_lines": [], "stdout": " 15:20:15 up 2:22, 1 user, load average: 1.31, 1.22, 1.26", "stdout_lines": [" 15:20:15 up 2:22, 1 user, load average: 1.31, 1.22, 1.26"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004324", "end": "2025-12-17 15:20:14.736950", "msg": "", "rc": 0, "start": "2025-12-17 15:20:14.732626", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004092", "end": "2025-12-17 15:20:14.739084", "msg": "", "rc": 0, "start": "2025-12-17 15:20:14.734992", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004592", "end": "2025-12-17 15:20:14.752144", "msg": "", "rc": 0, "start": "2025-12-17 15:20:14.747552", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005522", "end": "2025-12-17 15:20:14.798143", "msg": "", "rc": 0, "start": "2025-12-17 15:20:14.792621", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004566", "end": "2025-12-17 15:20:14.818617", "msg": "", "rc": 0, "start": "2025-12-17 15:20:14.814051", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004948", "end": "2025-12-17 15:19:48.791977", "msg": "", "rc": 0, "start": "2025-12-17 15:19:48.787029", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005805", "end": "2025-12-17 15:19:42.311423", "msg": "", "rc": 0, "start": "2025-12-17 15:19:42.305618", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010275", "end": "2025-12-17 15:20:15.547041", "msg": "", "rc": 0, "start": "2025-12-17 15:20:15.536766", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011350", "end": "2025-12-17 15:20:15.584132", "msg": "", "rc": 0, "start": "2025-12-17 15:20:15.572782", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006306", "end": "2025-12-17 15:20:15.789229", "msg": "", "rc": 0, "start": "2025-12-17 15:20:15.782923", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005489", "end": "2025-12-17 15:19:45.501193", "msg": "", "rc": 0, "start": "2025-12-17 15:19:45.495704", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005450", "end": "2025-12-17 12:20:16.051071", "msg": "", "rc": 0, "start": "2025-12-17 12:20:16.045621", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004853", "end": "2025-12-17 15:19:52.141856", "msg": "", "rc": 0, "start": "2025-12-17 15:19:52.137003", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008540", "end": "2025-12-17 15:20:16.246090", "msg": "", "rc": 0, "start": "2025-12-17 15:20:16.237550", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025470", "end": "2025-12-17 15:20:16.176699", "msg": "", "rc": 0, "start": "2025-12-17 15:20:16.151229", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.024408", "end": "2025-12-17 15:20:17.159014", "msg": "", "rc": 0, "start": "2025-12-17 15:20:17.134606", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004400", "end": "2025-12-17 15:20:16.728935", "msg": "", "rc": 0, "start": "2025-12-17 15:20:16.724535", "stderr": "", "stderr_lines": [], "stdout": "77.3%", "stdout_lines": ["77.3%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004288", "end": "2025-12-17 15:20:16.745049", "msg": "", "rc": 0, "start": "2025-12-17 15:20:16.740761", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004817", "end": "2025-12-17 15:20:16.753737", "msg": "", "rc": 0, "start": "2025-12-17 15:20:16.748920", "stderr": "", "stderr_lines": [], "stdout": "49.0%", "stdout_lines": ["49.0%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004902", "end": "2025-12-17 15:20:16.778807", "msg": "", "rc": 0, "start": "2025-12-17 15:20:16.773905", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005650", "end": "2025-12-17 15:20:16.814819", "msg": "", "rc": 0, "start": "2025-12-17 15:20:16.809169", "stderr": "", "stderr_lines": [], "stdout": "59.8%", "stdout_lines": ["59.8%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003748", "end": "2025-12-17 15:19:50.725677", "msg": "", "rc": 0, "start": "2025-12-17 15:19:50.721929", "stderr": "", "stderr_lines": [], "stdout": "71.2%", "stdout_lines": ["71.2%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.007353", "end": "2025-12-17 15:19:44.313596", "msg": "", "rc": 0, "start": "2025-12-17 15:19:44.306243", "stderr": "", "stderr_lines": [], "stdout": "68.4%", "stdout_lines": ["68.4%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011006", "end": "2025-12-17 15:20:17.441404", "msg": "", "rc": 0, "start": "2025-12-17 15:20:17.430398", "stderr": "", "stderr_lines": [], "stdout": "6.7%", "stdout_lines": ["6.7%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011688", "end": "2025-12-17 15:20:17.488118", "msg": "", "rc": 0, "start": "2025-12-17 15:20:17.476430", "stderr": "", "stderr_lines": [], "stdout": "13.0%", "stdout_lines": ["13.0%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005808", "end": "2025-12-17 15:20:17.734569", "msg": "", "rc": 0, "start": "2025-12-17 15:20:17.728761", "stderr": "", "stderr_lines": [], "stdout": "35.5%", "stdout_lines": ["35.5%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005294", "end": "2025-12-17 12:20:17.965273", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 12:20:17.959979", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003929", "end": "2025-12-17 15:19:54.079548", "msg": "", "rc": 0, "start": "2025-12-17 15:19:54.075619", "stderr": "", "stderr_lines": [], "stdout": "59.1%", "stdout_lines": ["59.1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004183", "end": "2025-12-17 15:19:47.537053", "msg": "", "rc": 0, "start": "2025-12-17 15:19:47.532870", "stderr": "", "stderr_lines": [], "stdout": "26.4%", "stdout_lines": ["26.4%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005727", "end": "2025-12-17 15:20:18.170658", "msg": "", "rc": 0, "start": "2025-12-17 15:20:18.164931", "stderr": "", "stderr_lines": [], "stdout": "13.5%", "stdout_lines": ["13.5%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025909", "end": "2025-12-17 15:20:18.126993", "msg": "", "rc": 0, "start": "2025-12-17 15:20:18.101084", "stderr": "", "stderr_lines": [], "stdout": "19.3%", "stdout_lines": ["19.3%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011560", "end": "2025-12-17 15:20:19.223721", "msg": "", "rc": 0, "start": "2025-12-17 15:20:19.212161", "stderr": "", "stderr_lines": [], "stdout": "21.4%", "stdout_lines": ["21.4%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005055", "end": "2025-12-17 15:20:18.716453", "msg": "", "rc": 0, "start": "2025-12-17 15:20:18.711398", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005734", "end": "2025-12-17 15:20:18.725392", "msg": "", "rc": 0, "start": "2025-12-17 15:20:18.719658", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006220", "end": "2025-12-17 15:20:18.738077", "msg": "", "rc": 0, "start": "2025-12-17 15:20:18.731857", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003173", "end": "2025-12-17 15:20:18.781202", "msg": "", "rc": 0, "start": "2025-12-17 15:20:18.778029", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006769", "end": "2025-12-17 15:20:18.805307", "msg": "", "rc": 0, "start": "2025-12-17 15:20:18.798538", "stderr": "", "stderr_lines": [], "stdout": "52.5°C", "stdout_lines": ["52.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002602", "end": "2025-12-17 15:19:52.742686", "msg": "", "rc": 0, "start": "2025-12-17 15:19:52.740084", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003411", "end": "2025-12-17 15:19:46.287344", "msg": "", "rc": 0, "start": "2025-12-17 15:19:46.283933", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012321", "end": "2025-12-17 15:20:19.460308", "msg": "", "rc": 0, "start": "2025-12-17 15:20:19.447987", "stderr": "", "stderr_lines": [], "stdout": "32.1°C", "stdout_lines": ["32.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012992", "end": "2025-12-17 15:20:19.481928", "msg": "", "rc": 0, "start": "2025-12-17 15:20:19.468936", "stderr": "", "stderr_lines": [], "stdout": "37.0°C", "stdout_lines": ["37.0°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003102", "end": "2025-12-17 15:20:19.762406", "msg": "", "rc": 0, "start": "2025-12-17 15:20:19.759304", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003809", "end": "2025-12-17 12:20:19.945562", "msg": "", "rc": 0, "start": "2025-12-17 12:20:19.941753", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002742", "end": "2025-12-17 15:19:56.054417", "msg": "", "rc": 0, "start": "2025-12-17 15:19:56.051675", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002991", "end": "2025-12-17 15:19:49.511452", "msg": "", "rc": 0, "start": "2025-12-17 15:19:49.508461", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002835", "end": "2025-12-17 15:20:20.206639", "msg": "", "rc": 0, "start": "2025-12-17 15:20:20.203804", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028940", "end": "2025-12-17 15:20:20.137949", "msg": "", "rc": 0, "start": "2025-12-17 15:20:20.109009", "stderr": "", "stderr_lines": [], "stdout": "35.7°C", "stdout_lines": ["35.7°C"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004937", "end": "2025-12-17 15:20:21.283574", "msg": "", "rc": 0, "start": "2025-12-17 15:20:21.278637", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004097", "end": "2025-12-17 15:20:20.691466", "msg": "", "rc": 0, "start": "2025-12-17 15:20:20.687369", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004025", "end": "2025-12-17 15:20:20.707226", "msg": "", "rc": 0, "start": "2025-12-17 15:20:20.703201", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004618", "end": "2025-12-17 15:20:20.711125", "msg": "", "rc": 0, "start": "2025-12-17 15:20:20.706507", "stderr": "", "stderr_lines": [], "stdout": "1.03", "stdout_lines": ["1.03"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005346", "end": "2025-12-17 15:20:20.745744", "msg": "", "rc": 0, "start": "2025-12-17 15:20:20.740398", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005542", "end": "2025-12-17 15:20:20.757426", "msg": "", "rc": 0, "start": "2025-12-17 15:20:20.751884", "stderr": "", "stderr_lines": [], "stdout": "0.72", "stdout_lines": ["0.72"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004367", "end": "2025-12-17 15:19:54.683969", "msg": "", "rc": 0, "start": "2025-12-17 15:19:54.679602", "stderr": "", "stderr_lines": [], "stdout": "0.92", "stdout_lines": ["0.92"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005426", "end": "2025-12-17 15:19:48.215879", "msg": "", "rc": 0, "start": "2025-12-17 15:19:48.210453", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010244", "end": "2025-12-17 15:20:21.478336", "msg": "", "rc": 0, "start": "2025-12-17 15:20:21.468092", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011258", "end": "2025-12-17 15:20:21.524210", "msg": "", "rc": 0, "start": "2025-12-17 15:20:21.512952", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005561", "end": "2025-12-17 15:20:21.679352", "msg": "", "rc": 0, "start": "2025-12-17 15:20:21.673791", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004976", "end": "2025-12-17 15:19:51.402912", "msg": "", "rc": 0, "start": "2025-12-17 15:19:51.397936", "stderr": "", "stderr_lines": [], "stdout": "0.53", "stdout_lines": ["0.53"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005866", "end": "2025-12-17 12:20:21.993391", "msg": "", "rc": 0, "start": "2025-12-17 12:20:21.987525", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004532", "end": "2025-12-17 15:19:58.086188", "msg": "", "rc": 0, "start": "2025-12-17 15:19:58.081656", "stderr": "", "stderr_lines": [], "stdout": "0.40", "stdout_lines": ["0.40"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005279", "end": "2025-12-17 15:20:22.110710", "msg": "", "rc": 0, "start": "2025-12-17 15:20:22.105431", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.009029", "end": "2025-12-17 15:20:23.269276", "msg": "", "rc": 0, "start": "2025-12-17 15:20:23.260247", "stderr": "", "stderr_lines": [], "stdout": "1.49", "stdout_lines": ["1.49"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024289", "end": "2025-12-17 15:20:22.093746", "msg": "", "rc": 0, "start": "2025-12-17 15:20:22.069457", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:12 up 3 days, 4:52, 1 user, load average: 0.17, 0.21, 0.19\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.15\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:12 up 22 days, 2:11, 1 user, load average: 0.48, 0.57, 0.43\nDisk Usage: 23%\nMemory Usage: 77.3%\nCPU Load: 0.41\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:12 up 22 days, 2:31, 1 user, load average: 1.03, 0.76, 0.67\nDisk Usage: 14%\nMemory Usage: 49.0%\nCPU Load: 1.03\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:12 up 22 days, 3:44, 1 user, load average: 0.56, 0.57, 0.61\nDisk Usage: 14%\nMemory Usage: 59.8%\nCPU Load: 0.72\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:12 up 22 days, 4:30, 1 user, load average: 0.07, 0.02, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:13 up 15 days, 4:46, 1 user, load average: 0.23, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 19.3%\nCPU Load: 0.29\nCPU Temp: 35.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:13 up 194 days, 6:53, 1 user, load average: 0.17, 0.19, 0.23\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.16\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:13 up 194 days, 6:53, 1 user, load average: 0.03, 0.09, 0.08\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.10\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:19:46 up 11 days, 3:09, 0 user, load average: 0.13, 0.17, 0.12\nDisk Usage: 48%\nMemory Usage: 71.2%\nCPU Load: 0.92\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:19:40 up 17 days, 23:21, 0 user, load average: 0.12, 0.08, 0.02\nDisk Usage: 24%\nMemory Usage: 68.4%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:13 up 3 days, 4:51, 1 user, load average: 0.13, 0.07, 0.07\nDisk Usage: 1%\nMemory Usage: 35.5%\nCPU Load: 0.19\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:19:43 up 20 days, 18:14, 0 user, load average: 0.49, 0.42, 0.45\nDisk Usage: 28%\nMemory Usage: 26.4%\nCPU Load: 0.53\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:19:50 up 17 days, 4:35, 0 user, load average: 0.43, 0.28, 0.17\nDisk Usage: 76%\nMemory Usage: 59.1%\nCPU Load: 0.40\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:20PM up 22 days, 2:10, 1 user, load averages: 0.44, 0.31, 0.21\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:14 up 3 days, 4:51, 1 user, load average: 0.07, 0.05, 0.07\nDisk Usage: 79%\nMemory Usage: 13.5%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:20:15 up 2:22, 1 user, load average: 1.31, 1.22, 1.26\nDisk Usage: 1%\nMemory Usage: 21.4%\nCPU Load: 1.49\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T20:20:24.316641+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `fbf8f4226e59491492dd41712e5e340b` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T20:25:00.004144+00:00 |
| **Fin** | 2025-12-17T20:25:22.577356+00:00 |
| **Durée** | 22.6s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp2.i7.home]
ok: [hp.nas.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.4gb.home]
ok: [raspi.8gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003493", "end": "2025-12-17 15:25:11.856182", "msg": "", "rc": 0, "start": "2025-12-17 15:25:11.852689", "stderr": "", "stderr_lines": [], "stdout": " 15:25:11 up 22 days, 2:16, 1 user, load average: 0.80, 0.56, 0.46", "stdout_lines": [" 15:25:11 up 22 days, 2:16, 1 user, load average: 0.80, 0.56, 0.46"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003072", "end": "2025-12-17 15:25:11.876947", "msg": "", "rc": 0, "start": "2025-12-17 15:25:11.873875", "stderr": "", "stderr_lines": [], "stdout": " 15:25:11 up 22 days, 2:36, 1 user, load average: 0.67, 0.75, 0.70", "stdout_lines": [" 15:25:11 up 22 days, 2:36, 1 user, load average: 0.67, 0.75, 0.70"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003873", "end": "2025-12-17 15:25:11.882010", "msg": "", "rc": 0, "start": "2025-12-17 15:25:11.878137", "stderr": "", "stderr_lines": [], "stdout": " 15:25:11 up 22 days, 4:35, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 15:25:11 up 22 days, 4:35, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004244", "end": "2025-12-17 15:25:11.887136", "msg": "", "rc": 0, "start": "2025-12-17 15:25:11.882892", "stderr": "", "stderr_lines": [], "stdout": " 15:25:11 up 22 days, 3:49, 1 user, load average: 0.64, 0.60, 0.61", "stdout_lines": [" 15:25:11 up 22 days, 3:49, 1 user, load average: 0.64, 0.60, 0.61"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002913", "end": "2025-12-17 15:25:11.897821", "msg": "", "rc": 0, "start": "2025-12-17 15:25:11.894908", "stderr": "", "stderr_lines": [], "stdout": " 15:25:11 up 3 days, 4:57, 1 user, load average: 0.17, 0.16, 0.17", "stdout_lines": [" 15:25:11 up 3 days, 4:57, 1 user, load average: 0.17, 0.16, 0.17"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003049", "end": "2025-12-17 15:24:45.846368", "msg": "", "rc": 0, "start": "2025-12-17 15:24:45.843319", "stderr": "", "stderr_lines": [], "stdout": " 15:24:45 up 11 days, 3:14, 0 user, load average: 0.25, 0.31, 0.20", "stdout_lines": [" 15:24:45 up 11 days, 3:14, 0 user, load average: 0.25, 0.31, 0.20"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003261", "end": "2025-12-17 15:24:39.374476", "msg": "", "rc": 0, "start": "2025-12-17 15:24:39.371215", "stderr": "", "stderr_lines": [], "stdout": " 15:24:39 up 17 days, 23:26, 0 user, load average: 0.00, 0.04, 0.00", "stdout_lines": [" 15:24:39 up 17 days, 23:26, 0 user, load average: 0.00, 0.04, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008345", "end": "2025-12-17 15:25:12.553563", "msg": "", "rc": 0, "start": "2025-12-17 15:25:12.545218", "stderr": "", "stderr_lines": [], "stdout": " 15:25:12 up 194 days, 6:58, 1 user, load average: 0.03, 0.08, 0.08", "stdout_lines": [" 15:25:12 up 194 days, 6:58, 1 user, load average: 0.03, 0.08, 0.08"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009202", "end": "2025-12-17 15:25:12.617077", "msg": "", "rc": 0, "start": "2025-12-17 15:25:12.607875", "stderr": "", "stderr_lines": [], "stdout": " 15:25:12 up 194 days, 6:58, 1 user, load average: 0.22, 0.22, 0.23", "stdout_lines": [" 15:25:12 up 194 days, 6:58, 1 user, load average: 0.22, 0.22, 0.23"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004672", "end": "2025-12-17 15:25:12.863977", "msg": "", "rc": 0, "start": "2025-12-17 15:25:12.859305", "stderr": "", "stderr_lines": [], "stdout": " 15:25:12 up 3 days, 4:56, 1 user, load average: 0.13, 0.09, 0.08", "stdout_lines": [" 15:25:12 up 3 days, 4:56, 1 user, load average: 0.13, 0.09, 0.08"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003149", "end": "2025-12-17 15:24:42.597793", "msg": "", "rc": 0, "start": "2025-12-17 15:24:42.594644", "stderr": "", "stderr_lines": [], "stdout": " 15:24:42 up 20 days, 18:19, 0 user, load average: 0.51, 0.47, 0.46", "stdout_lines": [" 15:24:42 up 20 days, 18:19, 0 user, load average: 0.51, 0.47, 0.46"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004244", "end": "2025-12-17 12:25:13.158305", "msg": "", "rc": 0, "start": "2025-12-17 12:25:13.154061", "stderr": "", "stderr_lines": [], "stdout": "12:25PM up 22 days, 2:15, 1 user, load averages: 0.47, 0.32, 0.24", "stdout_lines": ["12:25PM up 22 days, 2:15, 1 user, load averages: 0.47, 0.32, 0.24"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004331", "end": "2025-12-17 15:24:49.257407", "msg": "", "rc": 0, "start": "2025-12-17 15:24:49.253076", "stderr": "", "stderr_lines": [], "stdout": " 15:24:49 up 17 days, 4:40, 0 user, load average: 0.06, 0.16, 0.15", "stdout_lines": [" 15:24:49 up 17 days, 4:40, 0 user, load average: 0.06, 0.16, 0.15"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003788", "end": "2025-12-17 15:25:13.314109", "msg": "", "rc": 0, "start": "2025-12-17 15:25:13.310321", "stderr": "", "stderr_lines": [], "stdout": " 15:25:13 up 3 days, 4:56, 1 user, load average: 0.11, 0.12, 0.09", "stdout_lines": [" 15:25:13 up 3 days, 4:56, 1 user, load average: 0.11, 0.12, 0.09"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009202", "end": "2025-12-17 15:25:13.402596", "msg": "", "rc": 0, "start": "2025-12-17 15:25:13.393394", "stderr": "", "stderr_lines": [], "stdout": " 15:25:13 up 2:28, 1 user, load average: 1.28, 1.18, 1.22", "stdout_lines": [" 15:25:13 up 2:28, 1 user, load average: 1.28, 1.18, 1.22"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019570", "end": "2025-12-17 15:25:13.263839", "msg": "", "rc": 0, "start": "2025-12-17 15:25:13.244269", "stderr": "", "stderr_lines": [], "stdout": " 15:25:13 up 15 days, 4:51, 1 user, load average: 0.34, 0.16, 0.11", "stdout_lines": [" 15:25:13 up 15 days, 4:51, 1 user, load average: 0.34, 0.16, 0.11"]}
TASK [Get disk usage] **********************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004035", "end": "2025-12-17 15:25:13.812045", "msg": "", "rc": 0, "start": "2025-12-17 15:25:13.808010", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004438", "end": "2025-12-17 15:25:13.816465", "msg": "", "rc": 0, "start": "2025-12-17 15:25:13.812027", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005150", "end": "2025-12-17 15:25:13.857956", "msg": "", "rc": 0, "start": "2025-12-17 15:25:13.852806", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005058", "end": "2025-12-17 15:25:13.870301", "msg": "", "rc": 0, "start": "2025-12-17 15:25:13.865243", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005527", "end": "2025-12-17 15:25:13.880516", "msg": "", "rc": 0, "start": "2025-12-17 15:25:13.874989", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005204", "end": "2025-12-17 15:24:47.802684", "msg": "", "rc": 0, "start": "2025-12-17 15:24:47.797480", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005945", "end": "2025-12-17 15:24:41.329327", "msg": "", "rc": 0, "start": "2025-12-17 15:24:41.323382", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010458", "end": "2025-12-17 15:25:14.580106", "msg": "", "rc": 0, "start": "2025-12-17 15:25:14.569648", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011833", "end": "2025-12-17 15:25:14.650365", "msg": "", "rc": 0, "start": "2025-12-17 15:25:14.638532", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005693", "end": "2025-12-17 15:25:14.805783", "msg": "", "rc": 0, "start": "2025-12-17 15:25:14.800090", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005263", "end": "2025-12-17 15:24:44.510132", "msg": "", "rc": 0, "start": "2025-12-17 15:24:44.504869", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005903", "end": "2025-12-17 15:24:51.260357", "msg": "", "rc": 0, "start": "2025-12-17 15:24:51.254454", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005281", "end": "2025-12-17 12:25:15.221150", "msg": "", "rc": 0, "start": "2025-12-17 12:25:15.215869", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005577", "end": "2025-12-17 15:25:15.328285", "msg": "", "rc": 0, "start": "2025-12-17 15:25:15.322708", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025381", "end": "2025-12-17 15:25:15.207612", "msg": "", "rc": 0, "start": "2025-12-17 15:25:15.182231", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.023500", "end": "2025-12-17 15:25:15.511091", "msg": "", "rc": 0, "start": "2025-12-17 15:25:15.487591", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004404", "end": "2025-12-17 15:25:15.814135", "msg": "", "rc": 0, "start": "2025-12-17 15:25:15.809731", "stderr": "", "stderr_lines": [], "stdout": "77.1%", "stdout_lines": ["77.1%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004171", "end": "2025-12-17 15:25:15.823924", "msg": "", "rc": 0, "start": "2025-12-17 15:25:15.819753", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004630", "end": "2025-12-17 15:25:15.838365", "msg": "", "rc": 0, "start": "2025-12-17 15:25:15.833735", "stderr": "", "stderr_lines": [], "stdout": "49.4%", "stdout_lines": ["49.4%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004834", "end": "2025-12-17 15:25:15.866177", "msg": "", "rc": 0, "start": "2025-12-17 15:25:15.861343", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005510", "end": "2025-12-17 15:25:15.884929", "msg": "", "rc": 0, "start": "2025-12-17 15:25:15.879419", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003875", "end": "2025-12-17 15:24:49.811662", "msg": "", "rc": 0, "start": "2025-12-17 15:24:49.807787", "stderr": "", "stderr_lines": [], "stdout": "71.1%", "stdout_lines": ["71.1%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004271", "end": "2025-12-17 15:24:43.337519", "msg": "", "rc": 0, "start": "2025-12-17 15:24:43.333248", "stderr": "", "stderr_lines": [], "stdout": "68.4%", "stdout_lines": ["68.4%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010688", "end": "2025-12-17 15:25:16.496987", "msg": "", "rc": 0, "start": "2025-12-17 15:25:16.486299", "stderr": "", "stderr_lines": [], "stdout": "7.0%", "stdout_lines": ["7.0%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.012119", "end": "2025-12-17 15:25:16.539956", "msg": "", "rc": 0, "start": "2025-12-17 15:25:16.527837", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.9%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005771", "end": "2025-12-17 15:25:16.819595", "msg": "", "rc": 0, "start": "2025-12-17 15:25:16.813824", "stderr": "", "stderr_lines": [], "stdout": "35.5%", "stdout_lines": ["35.5%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004128", "end": "2025-12-17 15:24:46.547703", "msg": "", "rc": 0, "start": "2025-12-17 15:24:46.543575", "stderr": "", "stderr_lines": [], "stdout": "27.7%", "stdout_lines": ["27.7%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004234", "end": "2025-12-17 15:24:53.110910", "msg": "", "rc": 0, "start": "2025-12-17 15:24:53.106676", "stderr": "", "stderr_lines": [], "stdout": "59.4%", "stdout_lines": ["59.4%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005052", "end": "2025-12-17 12:25:17.033053", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 12:25:17.028001", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005409", "end": "2025-12-17 15:25:17.258886", "msg": "", "rc": 0, "start": "2025-12-17 15:25:17.253477", "stderr": "", "stderr_lines": [], "stdout": "14.0%", "stdout_lines": ["14.0%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010586", "end": "2025-12-17 15:25:17.516742", "msg": "", "rc": 0, "start": "2025-12-17 15:25:17.506156", "stderr": "", "stderr_lines": [], "stdout": "21.6%", "stdout_lines": ["21.6%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026487", "end": "2025-12-17 15:25:17.226133", "msg": "", "rc": 0, "start": "2025-12-17 15:25:17.199646", "stderr": "", "stderr_lines": [], "stdout": "20.7%", "stdout_lines": ["20.7%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005473", "end": "2025-12-17 15:25:17.747252", "msg": "", "rc": 0, "start": "2025-12-17 15:25:17.741779", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004858", "end": "2025-12-17 15:25:17.754148", "msg": "", "rc": 0, "start": "2025-12-17 15:25:17.749290", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006414", "end": "2025-12-17 15:25:17.792741", "msg": "", "rc": 0, "start": "2025-12-17 15:25:17.786327", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002933", "end": "2025-12-17 15:25:17.809142", "msg": "", "rc": 0, "start": "2025-12-17 15:25:17.806209", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.007341", "end": "2025-12-17 15:25:17.817711", "msg": "", "rc": 0, "start": "2025-12-17 15:25:17.810370", "stderr": "", "stderr_lines": [], "stdout": "52.5°C", "stdout_lines": ["52.5°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003064", "end": "2025-12-17 15:24:51.783353", "msg": "", "rc": 0, "start": "2025-12-17 15:24:51.780289", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003089", "end": "2025-12-17 15:24:45.329621", "msg": "", "rc": 0, "start": "2025-12-17 15:24:45.326532", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011732", "end": "2025-12-17 15:25:18.471956", "msg": "", "rc": 0, "start": "2025-12-17 15:25:18.460224", "stderr": "", "stderr_lines": [], "stdout": "32.1°C", "stdout_lines": ["32.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.013037", "end": "2025-12-17 15:25:18.527035", "msg": "", "rc": 0, "start": "2025-12-17 15:25:18.513998", "stderr": "", "stderr_lines": [], "stdout": "36.5°C", "stdout_lines": ["36.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003171", "end": "2025-12-17 15:25:18.767794", "msg": "", "rc": 0, "start": "2025-12-17 15:25:18.764623", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003846", "end": "2025-12-17 12:25:18.980885", "msg": "", "rc": 0, "start": "2025-12-17 12:25:18.977039", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003051", "end": "2025-12-17 15:24:48.534673", "msg": "", "rc": 0, "start": "2025-12-17 15:24:48.531622", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002660", "end": "2025-12-17 15:24:55.077762", "msg": "", "rc": 0, "start": "2025-12-17 15:24:55.075102", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002928", "end": "2025-12-17 15:25:19.219750", "msg": "", "rc": 0, "start": "2025-12-17 15:25:19.216822", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028376", "end": "2025-12-17 15:25:19.166138", "msg": "", "rc": 0, "start": "2025-12-17 15:25:19.137762", "stderr": "", "stderr_lines": [], "stdout": "35.8°C", "stdout_lines": ["35.8°C"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004726", "end": "2025-12-17 15:25:19.589875", "msg": "", "rc": 0, "start": "2025-12-17 15:25:19.585149", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004059", "end": "2025-12-17 15:25:19.745067", "msg": "", "rc": 0, "start": "2025-12-17 15:25:19.741008", "stderr": "", "stderr_lines": [], "stdout": "0.83", "stdout_lines": ["0.83"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004008", "end": "2025-12-17 15:25:19.772473", "msg": "", "rc": 0, "start": "2025-12-17 15:25:19.768465", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004490", "end": "2025-12-17 15:25:19.796034", "msg": "", "rc": 0, "start": "2025-12-17 15:25:19.791544", "stderr": "", "stderr_lines": [], "stdout": "0.78", "stdout_lines": ["0.78"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005655", "end": "2025-12-17 15:25:19.804102", "msg": "", "rc": 0, "start": "2025-12-17 15:25:19.798447", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005828", "end": "2025-12-17 15:25:19.838540", "msg": "", "rc": 0, "start": "2025-12-17 15:25:19.832712", "stderr": "", "stderr_lines": [], "stdout": "0.59", "stdout_lines": ["0.59"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005649", "end": "2025-12-17 15:24:53.798382", "msg": "", "rc": 0, "start": "2025-12-17 15:24:53.792733", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006349", "end": "2025-12-17 15:24:47.331584", "msg": "", "rc": 0, "start": "2025-12-17 15:24:47.325235", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010513", "end": "2025-12-17 15:25:20.558840", "msg": "", "rc": 0, "start": "2025-12-17 15:25:20.548327", "stderr": "", "stderr_lines": [], "stdout": "0.03", "stdout_lines": ["0.03"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011373", "end": "2025-12-17 15:25:20.592494", "msg": "", "rc": 0, "start": "2025-12-17 15:25:20.581121", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005772", "end": "2025-12-17 15:25:20.816571", "msg": "", "rc": 0, "start": "2025-12-17 15:25:20.810799", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005199", "end": "2025-12-17 15:24:50.530475", "msg": "", "rc": 0, "start": "2025-12-17 15:24:50.525276", "stderr": "", "stderr_lines": [], "stdout": "0.47", "stdout_lines": ["0.47"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005940", "end": "2025-12-17 12:25:21.062383", "msg": "", "rc": 0, "start": "2025-12-17 12:25:21.056443", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004994", "end": "2025-12-17 15:24:57.177018", "msg": "", "rc": 0, "start": "2025-12-17 15:24:57.172024", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005202", "end": "2025-12-17 15:25:21.254367", "msg": "", "rc": 0, "start": "2025-12-17 15:25:21.249165", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024378", "end": "2025-12-17 15:25:21.158019", "msg": "", "rc": 0, "start": "2025-12-17 15:25:21.133641", "stderr": "", "stderr_lines": [], "stdout": "0.39", "stdout_lines": ["0.39"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011187", "end": "2025-12-17 15:25:21.686039", "msg": "", "rc": 0, "start": "2025-12-17 15:25:21.674852", "stderr": "", "stderr_lines": [], "stdout": "1.54", "stdout_lines": ["1.54"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:11 up 3 days, 4:57, 1 user, load average: 0.17, 0.16, 0.17\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.15\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:11 up 22 days, 2:16, 1 user, load average: 0.80, 0.56, 0.46\nDisk Usage: 23%\nMemory Usage: 77.1%\nCPU Load: 0.83\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:11 up 22 days, 2:36, 1 user, load average: 0.67, 0.75, 0.70\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.78\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:11 up 22 days, 3:49, 1 user, load average: 0.64, 0.60, 0.61\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.59\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:11 up 22 days, 4:35, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:13 up 15 days, 4:51, 1 user, load average: 0.34, 0.16, 0.11\nDisk Usage: 21%\nMemory Usage: 20.7%\nCPU Load: 0.39\nCPU Temp: 35.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:12 up 194 days, 6:58, 1 user, load average: 0.22, 0.22, 0.23\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.27\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:12 up 194 days, 6:58, 1 user, load average: 0.03, 0.08, 0.08\nDisk Usage: 3%\nMemory Usage: 7.0%\nCPU Load: 0.03\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:24:45 up 11 days, 3:14, 0 user, load average: 0.25, 0.31, 0.20\nDisk Usage: 48%\nMemory Usage: 71.1%\nCPU Load: 0.29\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:24:39 up 17 days, 23:26, 0 user, load average: 0.00, 0.04, 0.00\nDisk Usage: 24%\nMemory Usage: 68.4%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:12 up 3 days, 4:56, 1 user, load average: 0.13, 0.09, 0.08\nDisk Usage: 1%\nMemory Usage: 35.5%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:24:42 up 20 days, 18:19, 0 user, load average: 0.51, 0.47, 0.46\nDisk Usage: 28%\nMemory Usage: 27.7%\nCPU Load: 0.47\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:24:49 up 17 days, 4:40, 0 user, load average: 0.06, 0.16, 0.15\nDisk Usage: 76%\nMemory Usage: 59.4%\nCPU Load: 0.21\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:25PM up 22 days, 2:15, 1 user, load averages: 0.47, 0.32, 0.24\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:13 up 3 days, 4:56, 1 user, load average: 0.11, 0.12, 0.09\nDisk Usage: 79%\nMemory Usage: 14.0%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:25:13 up 2:28, 1 user, load average: 1.28, 1.18, 1.22\nDisk Usage: 1%\nMemory Usage: 21.6%\nCPU Load: 1.54\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T20:25:22.629345+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `48e5bc12ea85465eaa162bd1fb6407d3` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T20:30:00.005839+00:00 |
| **Fin** | 2025-12-17T20:30:39.964695+00:00 |
| **Durée** | 40.0s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [ali2v.xeon.home]
ok: [hp3.i5.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [dev.prod.home]
ok: [hp.truenas.home]
ok: [jump.point.home]
ok: [orangepi.pc.home]
ok: [localhost]
TASK [Get system uptime] *******************************************************
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004148", "end": "2025-12-17 15:30:11.461577", "msg": "", "rc": 0, "start": "2025-12-17 15:30:11.457429", "stderr": "", "stderr_lines": [], "stdout": " 15:30:11 up 22 days, 4:40, 1 user, load average: 0.07, 0.02, 0.00", "stdout_lines": [" 15:30:11 up 22 days, 4:40, 1 user, load average: 0.07, 0.02, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003859", "end": "2025-12-17 15:30:11.477477", "msg": "", "rc": 0, "start": "2025-12-17 15:30:11.473618", "stderr": "", "stderr_lines": [], "stdout": " 15:30:11 up 22 days, 3:54, 1 user, load average: 0.67, 0.58, 0.59", "stdout_lines": [" 15:30:11 up 22 days, 3:54, 1 user, load average: 0.67, 0.58, 0.59"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002850", "end": "2025-12-17 15:30:11.488854", "msg": "", "rc": 0, "start": "2025-12-17 15:30:11.486004", "stderr": "", "stderr_lines": [], "stdout": " 15:30:11 up 3 days, 5:02, 1 user, load average: 0.10, 0.14, 0.16", "stdout_lines": [" 15:30:11 up 3 days, 5:02, 1 user, load average: 0.10, 0.14, 0.16"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004663", "end": "2025-12-17 15:30:12.445507", "msg": "", "rc": 0, "start": "2025-12-17 15:30:11.440844", "stderr": "", "stderr_lines": [], "stdout": " 15:30:11 up 22 days, 2:21, 1 user, load average: 0.59, 0.54, 0.47", "stdout_lines": [" 15:30:11 up 22 days, 2:21, 1 user, load average: 0.59, 0.54, 0.47"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004415", "end": "2025-12-17 15:30:12.471599", "msg": "", "rc": 0, "start": "2025-12-17 15:30:11.467184", "stderr": "", "stderr_lines": [], "stdout": " 15:30:11 up 22 days, 2:41, 1 user, load average: 0.60, 0.71, 0.70", "stdout_lines": [" 15:30:11 up 22 days, 2:41, 1 user, load average: 0.60, 0.71, 0.70"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008386", "end": "2025-12-17 15:30:12.588114", "msg": "", "rc": 0, "start": "2025-12-17 15:30:12.579728", "stderr": "", "stderr_lines": [], "stdout": " 15:30:12 up 194 days, 7:03, 1 user, load average: 0.18, 0.14, 0.10", "stdout_lines": [" 15:30:12 up 194 days, 7:03, 1 user, load average: 0.18, 0.14, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009334", "end": "2025-12-17 15:30:12.591098", "msg": "", "rc": 0, "start": "2025-12-17 15:30:12.581764", "stderr": "", "stderr_lines": [], "stdout": " 15:30:12 up 194 days, 7:03, 1 user, load average: 0.08, 0.16, 0.20", "stdout_lines": [" 15:30:12 up 194 days, 7:03, 1 user, load average: 0.08, 0.16, 0.20"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003191", "end": "2025-12-17 15:29:46.586323", "msg": "", "rc": 0, "start": "2025-12-17 15:29:46.583132", "stderr": "", "stderr_lines": [], "stdout": " 15:29:46 up 11 days, 3:19, 0 user, load average: 0.03, 0.18, 0.17", "stdout_lines": [" 15:29:46 up 11 days, 3:19, 0 user, load average: 0.03, 0.18, 0.17"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003653", "end": "2025-12-17 15:29:40.177296", "msg": "", "rc": 0, "start": "2025-12-17 15:29:40.173643", "stderr": "", "stderr_lines": [], "stdout": " 15:29:40 up 17 days, 23:31, 0 user, load average: 0.00, 0.03, 0.00", "stdout_lines": [" 15:29:40 up 17 days, 23:31, 0 user, load average: 0.00, 0.03, 0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019193", "end": "2025-12-17 15:30:13.179719", "msg": "", "rc": 0, "start": "2025-12-17 15:30:13.160526", "stderr": "", "stderr_lines": [], "stdout": " 15:30:13 up 15 days, 4:56, 1 user, load average: 0.24, 0.15, 0.10", "stdout_lines": [" 15:30:13 up 15 days, 4:56, 1 user, load average: 0.24, 0.15, 0.10"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004846", "end": "2025-12-17 15:30:13.671399", "msg": "", "rc": 0, "start": "2025-12-17 15:30:13.666553", "stderr": "", "stderr_lines": [], "stdout": " 15:30:13 up 3 days, 5:01, 1 user, load average: 0.02, 0.03, 0.06", "stdout_lines": [" 15:30:13 up 3 days, 5:01, 1 user, load average: 0.02, 0.03, 0.06"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003310", "end": "2025-12-17 15:29:43.357450", "msg": "", "rc": 0, "start": "2025-12-17 15:29:43.354140", "stderr": "", "stderr_lines": [], "stdout": " 15:29:43 up 20 days, 18:24, 0 user, load average: 0.48, 0.43, 0.45", "stdout_lines": [" 15:29:43 up 20 days, 18:24, 0 user, load average: 0.48, 0.43, 0.45"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002990", "end": "2025-12-17 15:29:50.171777", "msg": "", "rc": 0, "start": "2025-12-17 15:29:50.168787", "stderr": "", "stderr_lines": [], "stdout": " 15:29:50 up 17 days, 4:45, 0 user, load average: 0.37, 0.23, 0.18", "stdout_lines": [" 15:29:50 up 17 days, 4:45, 0 user, load average: 0.37, 0.23, 0.18"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004448", "end": "2025-12-17 12:30:14.159792", "msg": "", "rc": 0, "start": "2025-12-17 12:30:14.155344", "stderr": "", "stderr_lines": [], "stdout": "12:30PM up 22 days, 2:20, 1 user, load averages: 0.29, 0.25, 0.22", "stdout_lines": ["12:30PM up 22 days, 2:20, 1 user, load averages: 0.29, 0.25, 0.22"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003923", "end": "2025-12-17 15:30:14.255968", "msg": "", "rc": 0, "start": "2025-12-17 15:30:14.252045", "stderr": "", "stderr_lines": [], "stdout": " 15:30:14 up 3 days, 5:01, 1 user, load average: 0.00, 0.04, 0.06", "stdout_lines": [" 15:30:14 up 3 days, 5:01, 1 user, load average: 0.00, 0.04, 0.06"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.074403", "end": "2025-12-17 15:30:15.761648", "msg": "", "rc": 0, "start": "2025-12-17 15:30:15.687245", "stderr": "", "stderr_lines": [], "stdout": " 15:30:15 up 2:33, 1 user, load average: 1.46, 1.29, 1.26", "stdout_lines": [" 15:30:15 up 2:33, 1 user, load average: 1.46, 1.29, 1.26"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004403", "end": "2025-12-17 15:30:16.452613", "msg": "", "rc": 0, "start": "2025-12-17 15:30:16.448210", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004194", "end": "2025-12-17 15:30:16.479701", "msg": "", "rc": 0, "start": "2025-12-17 15:30:16.475507", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005633", "end": "2025-12-17 15:30:16.531663", "msg": "", "rc": 0, "start": "2025-12-17 15:30:16.526030", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004867", "end": "2025-12-17 15:30:16.551264", "msg": "", "rc": 0, "start": "2025-12-17 15:30:16.546397", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004845", "end": "2025-12-17 15:30:16.555033", "msg": "", "rc": 0, "start": "2025-12-17 15:30:16.550188", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005369", "end": "2025-12-17 15:29:51.181275", "msg": "", "rc": 0, "start": "2025-12-17 15:29:51.175906", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005710", "end": "2025-12-17 15:29:44.746478", "msg": "", "rc": 0, "start": "2025-12-17 15:29:44.740768", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011661", "end": "2025-12-17 15:30:17.887637", "msg": "", "rc": 0, "start": "2025-12-17 15:30:17.875976", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010470", "end": "2025-12-17 15:30:17.897920", "msg": "", "rc": 0, "start": "2025-12-17 15:30:17.887450", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005823", "end": "2025-12-17 15:30:18.595143", "msg": "", "rc": 0, "start": "2025-12-17 15:30:18.589320", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025454", "end": "2025-12-17 15:30:18.544151", "msg": "", "rc": 0, "start": "2025-12-17 15:30:18.518697", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005350", "end": "2025-12-17 15:29:48.357293", "msg": "", "rc": 0, "start": "2025-12-17 15:29:48.351943", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004849", "end": "2025-12-17 15:29:54.927405", "msg": "", "rc": 0, "start": "2025-12-17 15:29:54.922556", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005400", "end": "2025-12-17 12:30:18.930472", "msg": "", "rc": 0, "start": "2025-12-17 12:30:18.925072", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005447", "end": "2025-12-17 15:30:19.445270", "msg": "", "rc": 0, "start": "2025-12-17 15:30:19.439823", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.057728", "end": "2025-12-17 15:30:21.020118", "msg": "", "rc": 0, "start": "2025-12-17 15:30:20.962390", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004090", "end": "2025-12-17 15:30:21.210887", "msg": "", "rc": 0, "start": "2025-12-17 15:30:21.206797", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004310", "end": "2025-12-17 15:30:21.255478", "msg": "", "rc": 0, "start": "2025-12-17 15:30:21.251168", "stderr": "", "stderr_lines": [], "stdout": "77.4%", "stdout_lines": ["77.4%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005002", "end": "2025-12-17 15:30:21.341599", "msg": "", "rc": 0, "start": "2025-12-17 15:30:21.336597", "stderr": "", "stderr_lines": [], "stdout": "49.2%", "stdout_lines": ["49.2%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004452", "end": "2025-12-17 15:30:21.481454", "msg": "", "rc": 0, "start": "2025-12-17 15:30:21.477002", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006052", "end": "2025-12-17 15:30:21.493934", "msg": "", "rc": 0, "start": "2025-12-17 15:30:21.487882", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004375", "end": "2025-12-17 15:29:55.882435", "msg": "", "rc": 0, "start": "2025-12-17 15:29:55.878060", "stderr": "", "stderr_lines": [], "stdout": "71.3%", "stdout_lines": ["71.3%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011129", "end": "2025-12-17 15:30:22.483424", "msg": "", "rc": 0, "start": "2025-12-17 15:30:22.472295", "stderr": "", "stderr_lines": [], "stdout": "6.8%", "stdout_lines": ["6.8%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011943", "end": "2025-12-17 15:30:22.468445", "msg": "", "rc": 0, "start": "2025-12-17 15:30:22.456502", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.8%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004783", "end": "2025-12-17 15:29:49.488524", "msg": "", "rc": 0, "start": "2025-12-17 15:29:49.483741", "stderr": "", "stderr_lines": [], "stdout": "68.3%", "stdout_lines": ["68.3%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.026326", "end": "2025-12-17 15:30:23.188462", "msg": "", "rc": 0, "start": "2025-12-17 15:30:23.162136", "stderr": "", "stderr_lines": [], "stdout": "19.8%", "stdout_lines": ["19.8%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005870", "end": "2025-12-17 15:30:23.323159", "msg": "", "rc": 0, "start": "2025-12-17 15:30:23.317289", "stderr": "", "stderr_lines": [], "stdout": "35.5%", "stdout_lines": ["35.5%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004325", "end": "2025-12-17 15:29:53.139676", "msg": "", "rc": 0, "start": "2025-12-17 15:29:53.135351", "stderr": "", "stderr_lines": [], "stdout": "27.3%", "stdout_lines": ["27.3%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003993", "end": "2025-12-17 15:29:59.726946", "msg": "", "rc": 0, "start": "2025-12-17 15:29:59.722953", "stderr": "", "stderr_lines": [], "stdout": "56.8%", "stdout_lines": ["56.8%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005142", "end": "2025-12-17 12:30:23.644186", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 12:30:23.639044", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.006078", "end": "2025-12-17 15:30:24.321636", "msg": "", "rc": 0, "start": "2025-12-17 15:30:24.315558", "stderr": "", "stderr_lines": [], "stdout": "13.7%", "stdout_lines": ["13.7%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.094070", "end": "2025-12-17 15:30:26.146733", "msg": "", "rc": 0, "start": "2025-12-17 15:30:26.052663", "stderr": "", "stderr_lines": [], "stdout": "22.2%", "stdout_lines": ["22.2%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004818", "end": "2025-12-17 15:30:26.516379", "msg": "", "rc": 0, "start": "2025-12-17 15:30:26.511561", "stderr": "", "stderr_lines": [], "stdout": "45.0°C", "stdout_lines": ["45.0°C"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005443", "end": "2025-12-17 15:30:26.698826", "msg": "", "rc": 0, "start": "2025-12-17 15:30:26.693383", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005502", "end": "2025-12-17 15:30:26.903424", "msg": "", "rc": 0, "start": "2025-12-17 15:30:26.897922", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.006651", "end": "2025-12-17 15:30:27.020292", "msg": "", "rc": 0, "start": "2025-12-17 15:30:27.013641", "stderr": "", "stderr_lines": [], "stdout": "52.5°C", "stdout_lines": ["52.5°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002845", "end": "2025-12-17 15:30:27.094423", "msg": "", "rc": 0, "start": "2025-12-17 15:30:27.091578", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002894", "end": "2025-12-17 15:30:01.379473", "msg": "", "rc": 0, "start": "2025-12-17 15:30:01.376579", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003056", "end": "2025-12-17 15:29:54.954598", "msg": "", "rc": 0, "start": "2025-12-17 15:29:54.951542", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012996", "end": "2025-12-17 15:30:28.010050", "msg": "", "rc": 0, "start": "2025-12-17 15:30:27.997054", "stderr": "", "stderr_lines": [], "stdout": "36.0°C", "stdout_lines": ["36.0°C"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011870", "end": "2025-12-17 15:30:28.124634", "msg": "", "rc": 0, "start": "2025-12-17 15:30:28.112764", "stderr": "", "stderr_lines": [], "stdout": "31.6°C", "stdout_lines": ["31.6°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003043", "end": "2025-12-17 15:30:28.718150", "msg": "", "rc": 0, "start": "2025-12-17 15:30:28.715107", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028850", "end": "2025-12-17 15:30:28.691491", "msg": "", "rc": 0, "start": "2025-12-17 15:30:28.662641", "stderr": "", "stderr_lines": [], "stdout": "35.0°C", "stdout_lines": ["35.0°C"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003929", "end": "2025-12-17 12:30:28.951373", "msg": "", "rc": 0, "start": "2025-12-17 12:30:28.947444", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002576", "end": "2025-12-17 15:30:05.026035", "msg": "", "rc": 0, "start": "2025-12-17 15:30:05.023459", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002893", "end": "2025-12-17 15:29:58.493123", "msg": "", "rc": 0, "start": "2025-12-17 15:29:58.490230", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003040", "end": "2025-12-17 15:30:29.515671", "msg": "", "rc": 0, "start": "2025-12-17 15:30:29.512631", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.019491", "end": "2025-12-17 15:30:30.181062", "msg": "", "rc": 0, "start": "2025-12-17 15:30:30.161571", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
TASK [Get CPU load] ************************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004066", "end": "2025-12-17 15:30:31.168727", "msg": "", "rc": 0, "start": "2025-12-17 15:30:31.164661", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004282", "end": "2025-12-17 15:30:31.188739", "msg": "", "rc": 0, "start": "2025-12-17 15:30:31.184457", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004684", "end": "2025-12-17 15:30:31.261223", "msg": "", "rc": 0, "start": "2025-12-17 15:30:31.256539", "stderr": "", "stderr_lines": [], "stdout": "0.86", "stdout_lines": ["0.86"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005465", "end": "2025-12-17 15:30:31.328926", "msg": "", "rc": 0, "start": "2025-12-17 15:30:31.323461", "stderr": "", "stderr_lines": [], "stdout": "0.62", "stdout_lines": ["0.62"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005877", "end": "2025-12-17 15:30:31.393418", "msg": "", "rc": 0, "start": "2025-12-17 15:30:31.387541", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004144", "end": "2025-12-17 15:30:05.746729", "msg": "", "rc": 0, "start": "2025-12-17 15:30:05.742585", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010085", "end": "2025-12-17 15:30:32.387868", "msg": "", "rc": 0, "start": "2025-12-17 15:30:32.377783", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011075", "end": "2025-12-17 15:30:32.414029", "msg": "", "rc": 0, "start": "2025-12-17 15:30:32.402954", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005483", "end": "2025-12-17 15:29:59.388840", "msg": "", "rc": 0, "start": "2025-12-17 15:29:59.383357", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005484", "end": "2025-12-17 15:30:33.119192", "msg": "", "rc": 0, "start": "2025-12-17 15:30:33.113708", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024376", "end": "2025-12-17 15:30:33.130583", "msg": "", "rc": 0, "start": "2025-12-17 15:30:33.106207", "stderr": "", "stderr_lines": [], "stdout": "0.32", "stdout_lines": ["0.32"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004707", "end": "2025-12-17 15:30:02.950153", "msg": "", "rc": 0, "start": "2025-12-17 15:30:02.945446", "stderr": "", "stderr_lines": [], "stdout": "0.48", "stdout_lines": ["0.48"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005961", "end": "2025-12-17 12:30:33.506410", "msg": "", "rc": 0, "start": "2025-12-17 12:30:33.500449", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004593", "end": "2025-12-17 15:30:09.613399", "msg": "", "rc": 0, "start": "2025-12-17 15:30:09.608806", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005398", "end": "2025-12-17 15:30:34.321530", "msg": "", "rc": 0, "start": "2025-12-17 15:30:34.316132", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.044133", "end": "2025-12-17 15:30:35.338108", "msg": "", "rc": 0, "start": "2025-12-17 15:30:35.293975", "stderr": "", "stderr_lines": [], "stdout": "2.96", "stdout_lines": ["2.96"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:11 up 3 days, 5:02, 1 user, load average: 0.10, 0.14, 0.16\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.07\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:11 up 22 days, 2:21, 1 user, load average: 0.59, 0.54, 0.47\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.50\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:11 up 22 days, 2:41, 1 user, load average: 0.60, 0.71, 0.70\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.86\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:11 up 22 days, 3:54, 1 user, load average: 0.67, 0.58, 0.59\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.62\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:11 up 22 days, 4:40, 1 user, load average: 0.07, 0.02, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:13 up 15 days, 4:56, 1 user, load average: 0.24, 0.15, 0.10\nDisk Usage: 21%\nMemory Usage: 19.8%\nCPU Load: 0.32\nCPU Temp: 35.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:12 up 194 days, 7:03, 1 user, load average: 0.08, 0.16, 0.20\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.06\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:12 up 194 days, 7:03, 1 user, load average: 0.18, 0.14, 0.10\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.13\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:29:46 up 11 days, 3:19, 0 user, load average: 0.03, 0.18, 0.17\nDisk Usage: 48%\nMemory Usage: 71.3%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:29:40 up 17 days, 23:31, 0 user, load average: 0.00, 0.03, 0.00\nDisk Usage: 24%\nMemory Usage: 68.3%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:13 up 3 days, 5:01, 1 user, load average: 0.02, 0.03, 0.06\nDisk Usage: 1%\nMemory Usage: 35.5%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:29:43 up 20 days, 18:24, 0 user, load average: 0.48, 0.43, 0.45\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.48\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:29:50 up 17 days, 4:45, 0 user, load average: 0.37, 0.23, 0.18\nDisk Usage: 76%\nMemory Usage: 56.8%\nCPU Load: 0.26\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:30PM up 22 days, 2:20, 1 user, load averages: 0.29, 0.25, 0.22\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:14 up 3 days, 5:01, 1 user, load average: 0.00, 0.04, 0.06\nDisk Usage: 79%\nMemory Usage: 13.7%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:30:15 up 2:33, 1 user, load average: 1.46, 1.29, 1.26\nDisk Usage: 1%\nMemory Usage: 22.2%\nCPU Load: 2.96\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T20:30:41.218704+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `53d910288ed84a6cb09354ab00444c27` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-17T20:35:00.000974+00:00 |
| **Fin** | 2025-12-17T20:35:22.602478+00:00 |
| **Durée** | 22.6s |
## Sortie
```
Using /mnt/c/dev/git/python/homelab-automation-api-v2/ansible/ansible.cfg as config file
PLAY [Health check on target host] *********************************************
TASK [Check if host is reachable (ping)] ***************************************
ok: [hp.nas.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [dev.lab.home] => {"changed": false, "ping": "pong"}
ok: [media.labb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.8gb.home] => {"changed": false, "ping": "pong"}
ok: [raspi.4gb.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [localhost] => {"changed": false, "ping": "pong"}
ok: [dev.prod.home] => {"changed": false, "ping": "pong"}
ok: [jump.point.home] => {"changed": false, "ping": "pong"}
ok: [orangepi.pc.home] => {"changed": false, "ping": "pong"}
TASK [Gather minimal facts] ****************************************************
ok: [hp.nas.home]
ok: [hp2.i7.home]
ok: [mimi.pc.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [raspi.4gb.home]
ok: [ali2v.truenas.home]
ok: [automate.prod.home]
ok: [hp.truenas.home]
ok: [dev.prod.home]
ok: [jump.point.home]
ok: [localhost]
ok: [orangepi.pc.home]
TASK [Get system uptime] *******************************************************
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003210", "end": "2025-12-17 15:35:11.952442", "msg": "", "rc": 0, "start": "2025-12-17 15:35:11.949232", "stderr": "", "stderr_lines": [], "stdout": " 15:35:11 up 22 days, 2:46, 1 user, load average: 0.56, 0.67, 0.69", "stdout_lines": [" 15:35:11 up 22 days, 2:46, 1 user, load average: 0.56, 0.67, 0.69"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003597", "end": "2025-12-17 15:35:11.962700", "msg": "", "rc": 0, "start": "2025-12-17 15:35:11.959103", "stderr": "", "stderr_lines": [], "stdout": " 15:35:11 up 22 days, 4:45, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 15:35:11 up 22 days, 4:45, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002788", "end": "2025-12-17 15:35:11.989508", "msg": "", "rc": 0, "start": "2025-12-17 15:35:11.986720", "stderr": "", "stderr_lines": [], "stdout": " 15:35:11 up 3 days, 5:07, 1 user, load average: 0.15, 0.12, 0.15", "stdout_lines": [" 15:35:11 up 3 days, 5:07, 1 user, load average: 0.15, 0.12, 0.15"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003849", "end": "2025-12-17 15:35:11.980608", "msg": "", "rc": 0, "start": "2025-12-17 15:35:11.976759", "stderr": "", "stderr_lines": [], "stdout": " 15:35:11 up 22 days, 3:59, 1 user, load average: 0.76, 0.57, 0.57", "stdout_lines": [" 15:35:11 up 22 days, 3:59, 1 user, load average: 0.76, 0.57, 0.57"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002832", "end": "2025-12-17 15:34:45.953202", "msg": "", "rc": 0, "start": "2025-12-17 15:34:45.950370", "stderr": "", "stderr_lines": [], "stdout": " 15:34:45 up 11 days, 3:24, 0 user, load average: 0.37, 0.18, 0.16", "stdout_lines": [" 15:34:45 up 11 days, 3:24, 0 user, load average: 0.37, 0.18, 0.16"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008579", "end": "2025-12-17 15:35:12.679188", "msg": "", "rc": 0, "start": "2025-12-17 15:35:12.670609", "stderr": "", "stderr_lines": [], "stdout": " 15:35:12 up 194 days, 7:08, 1 user, load average: 0.07, 0.11, 0.09", "stdout_lines": [" 15:35:12 up 194 days, 7:08, 1 user, load average: 0.07, 0.11, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009265", "end": "2025-12-17 15:35:12.713306", "msg": "", "rc": 0, "start": "2025-12-17 15:35:12.704041", "stderr": "", "stderr_lines": [], "stdout": " 15:35:12 up 194 days, 7:08, 1 user, load average: 0.20, 0.23, 0.21", "stdout_lines": [" 15:35:12 up 194 days, 7:08, 1 user, load average: 0.20, 0.23, 0.21"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003882", "end": "2025-12-17 15:35:12.950102", "msg": "", "rc": 0, "start": "2025-12-17 15:35:11.946220", "stderr": "", "stderr_lines": [], "stdout": " 15:35:11 up 22 days, 2:26, 1 user, load average: 0.46, 0.50, 0.46", "stdout_lines": [" 15:35:11 up 22 days, 2:26, 1 user, load average: 0.46, 0.50, 0.46"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003586", "end": "2025-12-17 15:34:39.928722", "msg": "", "rc": 0, "start": "2025-12-17 15:34:39.925136", "stderr": "", "stderr_lines": [], "stdout": " 15:34:39 up 17 days, 23:36, 0 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 15:34:39 up 17 days, 23:36, 0 user, load average: 0.00, 0.01, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004893", "end": "2025-12-17 15:35:13.199006", "msg": "", "rc": 0, "start": "2025-12-17 15:35:13.194113", "stderr": "", "stderr_lines": [], "stdout": " 15:35:13 up 3 days, 5:06, 1 user, load average: 0.23, 0.14, 0.09", "stdout_lines": [" 15:35:13 up 3 days, 5:06, 1 user, load average: 0.23, 0.14, 0.09"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003096", "end": "2025-12-17 15:34:42.833255", "msg": "", "rc": 0, "start": "2025-12-17 15:34:42.830159", "stderr": "", "stderr_lines": [], "stdout": " 15:34:42 up 20 days, 18:29, 0 user, load average: 0.29, 0.36, 0.42", "stdout_lines": [" 15:34:42 up 20 days, 18:29, 0 user, load average: 0.29, 0.36, 0.42"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002993", "end": "2025-12-17 15:34:49.514518", "msg": "", "rc": 0, "start": "2025-12-17 15:34:49.511525", "stderr": "", "stderr_lines": [], "stdout": " 15:34:49 up 17 days, 4:50, 0 user, load average: 0.02, 0.11, 0.13", "stdout_lines": [" 15:34:49 up 17 days, 4:50, 0 user, load average: 0.02, 0.11, 0.13"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004246", "end": "2025-12-17 12:35:13.487114", "msg": "", "rc": 0, "start": "2025-12-17 12:35:13.482868", "stderr": "", "stderr_lines": [], "stdout": "12:35PM up 22 days, 2:25, 1 user, load averages: 0.19, 0.19, 0.20", "stdout_lines": ["12:35PM up 22 days, 2:25, 1 user, load averages: 0.19, 0.19, 0.20"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019495", "end": "2025-12-17 15:35:13.388493", "msg": "", "rc": 0, "start": "2025-12-17 15:35:13.368998", "stderr": "", "stderr_lines": [], "stdout": " 15:35:13 up 15 days, 5:01, 1 user, load average: 0.10, 0.12, 0.09", "stdout_lines": [" 15:35:13 up 15 days, 5:01, 1 user, load average: 0.10, 0.12, 0.09"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005805", "end": "2025-12-17 15:35:14.605390", "msg": "", "rc": 0, "start": "2025-12-17 15:35:14.599585", "stderr": "", "stderr_lines": [], "stdout": " 15:35:14 up 2:38, 1 user, load average: 1.31, 1.55, 1.43", "stdout_lines": [" 15:35:14 up 2:38, 1 user, load average: 1.31, 1.55, 1.43"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003652", "end": "2025-12-17 15:35:13.666728", "msg": "", "rc": 0, "start": "2025-12-17 15:35:13.663076", "stderr": "", "stderr_lines": [], "stdout": " 15:35:13 up 3 days, 5:06, 1 user, load average: 0.09, 0.03, 0.04", "stdout_lines": [" 15:35:13 up 3 days, 5:06, 1 user, load average: 0.09, 0.03, 0.04"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004215", "end": "2025-12-17 15:35:14.072806", "msg": "", "rc": 0, "start": "2025-12-17 15:35:14.068591", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004774", "end": "2025-12-17 15:35:14.102953", "msg": "", "rc": 0, "start": "2025-12-17 15:35:14.098179", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004096", "end": "2025-12-17 15:35:14.103618", "msg": "", "rc": 0, "start": "2025-12-17 15:35:14.099522", "stderr": "", "stderr_lines": [], "stdout": "22%", "stdout_lines": ["22%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004660", "end": "2025-12-17 15:35:14.131986", "msg": "", "rc": 0, "start": "2025-12-17 15:35:14.127326", "stderr": "", "stderr_lines": [], "stdout": "9%", "stdout_lines": ["9%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005596", "end": "2025-12-17 15:35:14.146014", "msg": "", "rc": 0, "start": "2025-12-17 15:35:14.140418", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005493", "end": "2025-12-17 15:34:48.065596", "msg": "", "rc": 0, "start": "2025-12-17 15:34:48.060103", "stderr": "", "stderr_lines": [], "stdout": "48%", "stdout_lines": ["48%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006033", "end": "2025-12-17 15:34:41.585932", "msg": "", "rc": 0, "start": "2025-12-17 15:34:41.579899", "stderr": "", "stderr_lines": [], "stdout": "24%", "stdout_lines": ["24%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.010645", "end": "2025-12-17 15:35:14.843975", "msg": "", "rc": 0, "start": "2025-12-17 15:35:14.833330", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.011623", "end": "2025-12-17 15:35:14.888825", "msg": "", "rc": 0, "start": "2025-12-17 15:35:14.877202", "stderr": "", "stderr_lines": [], "stdout": "6%", "stdout_lines": ["6%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005765", "end": "2025-12-17 15:35:15.067287", "msg": "", "rc": 0, "start": "2025-12-17 15:35:15.061522", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005613", "end": "2025-12-17 15:34:44.756837", "msg": "", "rc": 0, "start": "2025-12-17 15:34:44.751224", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.006552", "end": "2025-12-17 12:35:15.361097", "msg": "", "rc": 0, "start": "2025-12-17 12:35:15.354545", "stderr": "", "stderr_lines": [], "stdout": "10%", "stdout_lines": ["10%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004702", "end": "2025-12-17 15:34:51.465205", "msg": "", "rc": 0, "start": "2025-12-17 15:34:51.460503", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005814", "end": "2025-12-17 15:35:15.493469", "msg": "", "rc": 0, "start": "2025-12-17 15:35:15.487655", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025536", "end": "2025-12-17 15:35:15.462121", "msg": "", "rc": 0, "start": "2025-12-17 15:35:15.436585", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.024105", "end": "2025-12-17 15:35:16.789725", "msg": "", "rc": 0, "start": "2025-12-17 15:35:16.765620", "stderr": "", "stderr_lines": [], "stdout": "1%", "stdout_lines": ["1%"]}
TASK [Get memory usage (Linux)] ************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004303", "end": "2025-12-17 15:35:16.185859", "msg": "", "rc": 0, "start": "2025-12-17 15:35:16.181556", "stderr": "", "stderr_lines": [], "stdout": "77.4%", "stdout_lines": ["77.4%"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004324", "end": "2025-12-17 15:35:16.186822", "msg": "", "rc": 0, "start": "2025-12-17 15:35:16.182498", "stderr": "", "stderr_lines": [], "stdout": "22.5%", "stdout_lines": ["22.5%"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005534", "end": "2025-12-17 15:35:16.217705", "msg": "", "rc": 0, "start": "2025-12-17 15:35:16.212171", "stderr": "", "stderr_lines": [], "stdout": "49.3%", "stdout_lines": ["49.3%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005743", "end": "2025-12-17 15:35:16.257668", "msg": "", "rc": 0, "start": "2025-12-17 15:35:16.251925", "stderr": "", "stderr_lines": [], "stdout": "59.7%", "stdout_lines": ["59.7%"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004682", "end": "2025-12-17 15:35:16.266539", "msg": "", "rc": 0, "start": "2025-12-17 15:35:16.261857", "stderr": "", "stderr_lines": [], "stdout": "9.0%", "stdout_lines": ["9.0%"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003935", "end": "2025-12-17 15:34:50.186873", "msg": "", "rc": 0, "start": "2025-12-17 15:34:50.182938", "stderr": "", "stderr_lines": [], "stdout": "71.3%", "stdout_lines": ["71.3%"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.004421", "end": "2025-12-17 15:34:43.719910", "msg": "", "rc": 0, "start": "2025-12-17 15:34:43.715489", "stderr": "", "stderr_lines": [], "stdout": "68.3%", "stdout_lines": ["68.3%"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.010821", "end": "2025-12-17 15:35:16.909664", "msg": "", "rc": 0, "start": "2025-12-17 15:35:16.898843", "stderr": "", "stderr_lines": [], "stdout": "6.8%", "stdout_lines": ["6.8%"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.011957", "end": "2025-12-17 15:35:16.932260", "msg": "", "rc": 0, "start": "2025-12-17 15:35:16.920303", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.8%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005822", "end": "2025-12-17 15:35:17.207727", "msg": "", "rc": 0, "start": "2025-12-17 15:35:17.201905", "stderr": "", "stderr_lines": [], "stdout": "35.3%", "stdout_lines": ["35.3%"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003993", "end": "2025-12-17 15:34:46.906123", "msg": "", "rc": 0, "start": "2025-12-17 15:34:46.902130", "stderr": "", "stderr_lines": [], "stdout": "27.3%", "stdout_lines": ["27.3%"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.003784", "end": "2025-12-17 15:34:53.477542", "msg": "", "rc": 0, "start": "2025-12-17 15:34:53.473758", "stderr": "", "stderr_lines": [], "stdout": "56.1%", "stdout_lines": ["56.1%"]}
fatal: [hp.truenas.home]: FAILED! => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005211", "end": "2025-12-17 12:35:17.393725", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 12:35:17.388514", "stderr": "cat: /proc/meminfo: No such file or directory\nawk: division by zero\n source line number 1", "stderr_lines": ["cat: /proc/meminfo: No such file or directory", "awk: division by zero", " source line number 1"], "stdout": "", "stdout_lines": []}
...ignoring
ok: [jump.point.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.005679", "end": "2025-12-17 15:35:17.700013", "msg": "", "rc": 0, "start": "2025-12-17 15:35:17.694334", "stderr": "", "stderr_lines": [], "stdout": "13.9%", "stdout_lines": ["13.9%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.025564", "end": "2025-12-17 15:35:17.584904", "msg": "", "rc": 0, "start": "2025-12-17 15:35:17.559340", "stderr": "", "stderr_lines": [], "stdout": "19.7%", "stdout_lines": ["19.7%"]}
ok: [localhost] => {"changed": false, "cmd": "if command -v free >/dev/null 2>&1; then\n free -m | grep Mem | awk '{printf \"%.1f%%\", $3/$2 * 100}'\nelse\n # Fallback for systems without free command\n cat /proc/meminfo | awk '/MemTotal/{total=$2} /MemAvailable/{avail=$2} END{printf \"%.1f%%\", (total-avail)/total*100}'\nfi\n", "delta": "0:00:00.009623", "end": "2025-12-17 15:35:18.956040", "msg": "", "rc": 0, "start": "2025-12-17 15:35:18.946417", "stderr": "", "stderr_lines": [], "stdout": "21.7%", "stdout_lines": ["21.7%"]}
TASK [Get CPU temperature (ARM/SBC)] *******************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005346", "end": "2025-12-17 15:35:18.197040", "msg": "", "rc": 0, "start": "2025-12-17 15:35:18.191694", "stderr": "", "stderr_lines": [], "stdout": "30.0°C", "stdout_lines": ["30.0°C"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004875", "end": "2025-12-17 15:35:18.203241", "msg": "", "rc": 0, "start": "2025-12-17 15:35:18.198366", "stderr": "", "stderr_lines": [], "stdout": "47.0°C", "stdout_lines": ["47.0°C"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.005986", "end": "2025-12-17 15:35:18.244746", "msg": "", "rc": 0, "start": "2025-12-17 15:35:18.238760", "stderr": "cat: /sys/class/thermal/thermal_zone0/temp: No data available", "stderr_lines": ["cat: /sys/class/thermal/thermal_zone0/temp: No data available"], "stdout": "0.0°C", "stdout_lines": ["0.0°C"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003392", "end": "2025-12-17 15:35:18.257928", "msg": "", "rc": 0, "start": "2025-12-17 15:35:18.254536", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.007478", "end": "2025-12-17 15:35:18.290151", "msg": "", "rc": 0, "start": "2025-12-17 15:35:18.282673", "stderr": "", "stderr_lines": [], "stdout": "53.0°C", "stdout_lines": ["53.0°C"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002688", "end": "2025-12-17 15:34:52.181667", "msg": "", "rc": 0, "start": "2025-12-17 15:34:52.178979", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002905", "end": "2025-12-17 15:34:45.724110", "msg": "", "rc": 0, "start": "2025-12-17 15:34:45.721205", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.011966", "end": "2025-12-17 15:35:18.912124", "msg": "", "rc": 0, "start": "2025-12-17 15:35:18.900158", "stderr": "", "stderr_lines": [], "stdout": "33.1°C", "stdout_lines": ["33.1°C"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.012950", "end": "2025-12-17 15:35:18.933522", "msg": "", "rc": 0, "start": "2025-12-17 15:35:18.920572", "stderr": "", "stderr_lines": [], "stdout": "36.5°C", "stdout_lines": ["36.5°C"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003112", "end": "2025-12-17 15:35:19.188935", "msg": "", "rc": 0, "start": "2025-12-17 15:35:19.185823", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003159", "end": "2025-12-17 15:34:48.900221", "msg": "", "rc": 0, "start": "2025-12-17 15:34:48.897062", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.003796", "end": "2025-12-17 12:35:19.417113", "msg": "", "rc": 0, "start": "2025-12-17 12:35:19.413317", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002973", "end": "2025-12-17 15:34:55.507855", "msg": "", "rc": 0, "start": "2025-12-17 15:34:55.504882", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.002977", "end": "2025-12-17 15:35:19.630829", "msg": "", "rc": 0, "start": "2025-12-17 15:35:19.627852", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.004441", "end": "2025-12-17 15:35:19.741152", "msg": "", "rc": 0, "start": "2025-12-17 15:35:19.736711", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /sys/class/thermal/thermal_zone0/temp ]; then\n temp=$(cat /sys/class/thermal/thermal_zone0/temp)\n # Use awk instead of bc for better compatibility\n echo \"${temp}\" | awk '{printf \"%.1f°C\", $1/1000}'\nelse\n echo \"N/A\"\nfi\n", "delta": "0:00:00.028718", "end": "2025-12-17 15:35:19.590972", "msg": "", "rc": 0, "start": "2025-12-17 15:35:19.562254", "stderr": "", "stderr_lines": [], "stdout": "35.7°C", "stdout_lines": ["35.7°C"]}
TASK [Get CPU load] ************************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004047", "end": "2025-12-17 15:35:20.121008", "msg": "", "rc": 0, "start": "2025-12-17 15:35:20.116961", "stderr": "", "stderr_lines": [], "stdout": "0.47", "stdout_lines": ["0.47"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004104", "end": "2025-12-17 15:35:20.145420", "msg": "", "rc": 0, "start": "2025-12-17 15:35:20.141316", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004948", "end": "2025-12-17 15:35:20.153873", "msg": "", "rc": 0, "start": "2025-12-17 15:35:20.148925", "stderr": "", "stderr_lines": [], "stdout": "0.92", "stdout_lines": ["0.92"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004829", "end": "2025-12-17 15:35:20.188879", "msg": "", "rc": 0, "start": "2025-12-17 15:35:20.184050", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005604", "end": "2025-12-17 15:35:20.194393", "msg": "", "rc": 0, "start": "2025-12-17 15:35:20.188789", "stderr": "", "stderr_lines": [], "stdout": "0.79", "stdout_lines": ["0.79"]}
ok: [dev.lab.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.004346", "end": "2025-12-17 15:34:54.108631", "msg": "", "rc": 0, "start": "2025-12-17 15:34:54.104285", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
ok: [media.labb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.006847", "end": "2025-12-17 15:34:47.639461", "msg": "", "rc": 0, "start": "2025-12-17 15:34:47.632614", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010242", "end": "2025-12-17 15:35:20.894215", "msg": "", "rc": 0, "start": "2025-12-17 15:35:20.883973", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.011237", "end": "2025-12-17 15:35:20.942522", "msg": "", "rc": 0, "start": "2025-12-17 15:35:20.931285", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005644", "end": "2025-12-17 15:35:21.142027", "msg": "", "rc": 0, "start": "2025-12-17 15:35:21.136383", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
ok: [automate.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005571", "end": "2025-12-17 15:34:50.855020", "msg": "", "rc": 0, "start": "2025-12-17 15:34:50.849449", "stderr": "", "stderr_lines": [], "stdout": "0.67", "stdout_lines": ["0.67"]}
ok: [dev.prod.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005093", "end": "2025-12-17 15:34:57.478006", "msg": "", "rc": 0, "start": "2025-12-17 15:34:57.472913", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005715", "end": "2025-12-17 12:35:21.414804", "msg": "", "rc": 0, "start": "2025-12-17 12:35:21.409089", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
ok: [jump.point.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.005296", "end": "2025-12-17 15:35:21.577313", "msg": "", "rc": 0, "start": "2025-12-17 15:35:21.572017", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
ok: [localhost] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.010854", "end": "2025-12-17 15:35:21.765180", "msg": "", "rc": 0, "start": "2025-12-17 15:35:21.754326", "stderr": "", "stderr_lines": [], "stdout": "1.42", "stdout_lines": ["1.42"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "if [ -f /proc/loadavg ]; then\n cat /proc/loadavg | awk '{print $1}'\nelse\n uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' '\nfi\n", "delta": "0:00:00.024457", "end": "2025-12-17 15:35:21.511563", "msg": "", "rc": 0, "start": "2025-12-17 15:35:21.487106", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:11 up 3 days, 5:07, 1 user, load average: 0.15, 0.12, 0.15\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.14\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:11 up 22 days, 2:26, 1 user, load average: 0.46, 0.50, 0.46\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.47\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:11 up 22 days, 2:46, 1 user, load average: 0.56, 0.67, 0.69\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.92\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:11 up 22 days, 3:59, 1 user, load average: 0.76, 0.57, 0.57\nDisk Usage: 14%\nMemory Usage: 59.7%\nCPU Load: 0.79\nCPU Temp: 53.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:11 up 22 days, 4:45, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:13 up 15 days, 5:01, 1 user, load average: 0.10, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 19.7%\nCPU Load: 0.17\nCPU Temp: 35.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:12 up 194 days, 7:08, 1 user, load average: 0.20, 0.23, 0.21\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.17\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:12 up 194 days, 7:08, 1 user, load average: 0.07, 0.11, 0.09\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.06\nCPU Temp: 33.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:34:45 up 11 days, 3:24, 0 user, load average: 0.37, 0.18, 0.16\nDisk Usage: 48%\nMemory Usage: 71.3%\nCPU Load: 0.31\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:34:39 up 17 days, 23:36, 0 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 24%\nMemory Usage: 68.3%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:13 up 3 days, 5:06, 1 user, load average: 0.23, 0.14, 0.09\nDisk Usage: 1%\nMemory Usage: 35.3%\nCPU Load: 0.28\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:34:42 up 20 days, 18:29, 0 user, load average: 0.29, 0.36, 0.42\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.67\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:34:49 up 17 days, 4:50, 0 user, load average: 0.02, 0.11, 0.13\nDisk Usage: 76%\nMemory Usage: 56.1%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:35PM up 22 days, 2:25, 1 user, load averages: 0.19, 0.19, 0.20\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:13 up 3 days, 5:06, 1 user, load average: 0.09, 0.03, 0.04\nDisk Usage: 79%\nMemory Usage: 13.9%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 15:35:14 up 2:38, 1 user, load average: 1.31, 1.55, 1.43\nDisk Usage: 1%\nMemory Usage: 21.7%\nCPU Load: 1.42\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
PLAY RECAP *********************************************************************
ali2v.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ali2v.xeon.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
automate.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.lab.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
dev.prod.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.nas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp.truenas.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=1
hp2.i7.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
hp3.i5.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
jump.point.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
localhost : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
media.labb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
mimi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
orangepi.pc.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.4gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
raspi.8gb.home : ok=8 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
```
---
*Généré automatiquement par Homelab Automation Dashboard*
*Date: 2025-12-17T20:35:22.643143+00:00*