Add terminal session management with heartbeat monitoring, idle timeout detection, session reuse logic, and command history panel UI with search and filtering capabilities
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-18 13:49:40 -05:00
parent 493668f746
commit 5bc12d0729
74 changed files with 14849 additions and 78 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** | `c144582fb6ee4e05aaa4fb6a89f25564` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T05:00:00.002324+00:00 |
| **Fin** | 2025-12-18T05:00:24.796210+00:00 |
| **Durée** | 24.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: [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: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003778", "end": "2025-12-18 00:00:13.771793", "msg": "", "rc": 0, "start": "2025-12-18 00:00:13.768015", "stderr": "", "stderr_lines": [], "stdout": " 00:00:13 up 22 days, 13:10, 1 user, load average: 0.11, 0.09, 0.03", "stdout_lines": [" 00:00:13 up 22 days, 13:10, 1 user, load average: 0.11, 0.09, 0.03"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004136", "end": "2025-12-18 00:00:13.775113", "msg": "", "rc": 0, "start": "2025-12-18 00:00:13.770977", "stderr": "", "stderr_lines": [], "stdout": " 00:00:13 up 22 days, 11:11, 1 user, load average: 0.44, 0.67, 0.73", "stdout_lines": [" 00:00:13 up 22 days, 11:11, 1 user, load average: 0.44, 0.67, 0.73"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002901", "end": "2025-12-18 00:00:13.798301", "msg": "", "rc": 0, "start": "2025-12-18 00:00:13.795400", "stderr": "", "stderr_lines": [], "stdout": " 00:00:13 up 3 days, 13:32, 1 user, load average: 0.68, 0.27, 0.20", "stdout_lines": [" 00:00:13 up 3 days, 13:32, 1 user, load average: 0.68, 0.27, 0.20"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008322", "end": "2025-12-18 00:00:14.450382", "msg": "", "rc": 0, "start": "2025-12-18 00:00:14.442060", "stderr": "", "stderr_lines": [], "stdout": " 00:00:14 up 194 days, 15:33, 1 user, load average: 0.11, 0.13, 0.12", "stdout_lines": [" 00:00:14 up 194 days, 15:33, 1 user, load average: 0.11, 0.13, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009504", "end": "2025-12-18 00:00:14.512868", "msg": "", "rc": 0, "start": "2025-12-18 00:00:14.503364", "stderr": "", "stderr_lines": [], "stdout": " 00:00:14 up 194 days, 15:33, 1 user, load average: 0.20, 0.17, 0.18", "stdout_lines": [" 00:00:14 up 194 days, 15:33, 1 user, load average: 0.20, 0.17, 0.18"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004659", "end": "2025-12-18 00:00:14.762056", "msg": "", "rc": 0, "start": "2025-12-18 00:00:13.757397", "stderr": "", "stderr_lines": [], "stdout": " 00:00:13 up 22 days, 10:51, 1 user, load average: 0.10, 0.10, 0.09", "stdout_lines": [" 00:00:13 up 22 days, 10:51, 1 user, load average: 0.10, 0.10, 0.09"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004584", "end": "2025-12-18 00:00:14.791399", "msg": "", "rc": 0, "start": "2025-12-18 00:00:13.786815", "stderr": "", "stderr_lines": [], "stdout": " 00:00:13 up 22 days, 12:24, 1 user, load average: 0.48, 0.58, 0.61", "stdout_lines": [" 00:00:13 up 22 days, 12:24, 1 user, load average: 0.48, 0.58, 0.61"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002744", "end": "2025-12-17 23:59:48.028193", "msg": "", "rc": 0, "start": "2025-12-17 23:59:48.025449", "stderr": "", "stderr_lines": [], "stdout": " 23:59:48 up 11 days, 11:49, 0 user, load average: 0.12, 0.13, 0.14", "stdout_lines": [" 23:59:48 up 11 days, 11:49, 0 user, load average: 0.12, 0.13, 0.14"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003623", "end": "2025-12-17 23:59:41.528171", "msg": "", "rc": 0, "start": "2025-12-17 23:59:41.524548", "stderr": "", "stderr_lines": [], "stdout": " 23:59:41 up 18 days, 8:01, 0 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 23:59:41 up 18 days, 8:01, 0 user, load average: 0.00, 0.01, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004908", "end": "2025-12-18 00:00:15.236257", "msg": "", "rc": 0, "start": "2025-12-18 00:00:15.231349", "stderr": "", "stderr_lines": [], "stdout": " 00:00:15 up 3 days, 13:31, 1 user, load average: 0.15, 0.11, 0.08", "stdout_lines": [" 00:00:15 up 3 days, 13:31, 1 user, load average: 0.15, 0.11, 0.08"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003062", "end": "2025-12-17 23:59:51.101149", "msg": "", "rc": 0, "start": "2025-12-17 23:59:51.098087", "stderr": "", "stderr_lines": [], "stdout": " 23:59:51 up 17 days, 13:15, 0 user, load average: 0.11, 0.26, 0.27", "stdout_lines": [" 23:59:51 up 17 days, 13:15, 0 user, load average: 0.11, 0.26, 0.27"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003095", "end": "2025-12-17 23:59:44.437250", "msg": "", "rc": 0, "start": "2025-12-17 23:59:44.434155", "stderr": "", "stderr_lines": [], "stdout": " 23:59:44 up 21 days, 2:54, 0 user, load average: 0.28, 0.38, 0.45", "stdout_lines": [" 23:59:44 up 21 days, 2:54, 0 user, load average: 0.28, 0.38, 0.45"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.021136", "end": "2025-12-18 00:00:15.320648", "msg": "", "rc": 0, "start": "2025-12-18 00:00:15.299512", "stderr": "", "stderr_lines": [], "stdout": " 00:00:15 up 15 days, 13:26, 1 user, load average: 0.50, 0.20, 0.12", "stdout_lines": [" 00:00:15 up 15 days, 13:26, 1 user, load average: 0.50, 0.20, 0.12"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004125", "end": "2025-12-17 21:00:15.524679", "msg": "", "rc": 0, "start": "2025-12-17 21:00:15.520554", "stderr": "", "stderr_lines": [], "stdout": " 9:00PM up 22 days, 10:50, 1 user, load averages: 0.32, 0.23, 0.18", "stdout_lines": [" 9:00PM up 22 days, 10:50, 1 user, load averages: 0.32, 0.23, 0.18"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003761", "end": "2025-12-18 00:00:15.660822", "msg": "", "rc": 0, "start": "2025-12-18 00:00:15.657061", "stderr": "", "stderr_lines": [], "stdout": " 00:00:15 up 3 days, 13:31, 1 user, load average: 0.00, 0.04, 0.04", "stdout_lines": [" 00:00:15 up 3 days, 13:31, 1 user, load average: 0.00, 0.04, 0.04"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008478", "end": "2025-12-18 00:00:15.896269", "msg": "", "rc": 0, "start": "2025-12-18 00:00:15.887791", "stderr": "", "stderr_lines": [], "stdout": " 00:00:15 up 4:10, 1 user, load average: 1.10, 1.09, 1.09", "stdout_lines": [" 00:00:15 up 4:10, 1 user, load average: 1.10, 1.09, 1.09"]}
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-18 00:00:16.121842", "msg": "", "rc": 0, "start": "2025-12-18 00:00:16.117628", "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.004172", "end": "2025-12-18 00:00:16.140258", "msg": "", "rc": 0, "start": "2025-12-18 00:00:16.136086", "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.005171", "end": "2025-12-18 00:00:16.155186", "msg": "", "rc": 0, "start": "2025-12-18 00:00:16.150015", "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.005004", "end": "2025-12-18 00:00:16.166552", "msg": "", "rc": 0, "start": "2025-12-18 00:00:16.161548", "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.005713", "end": "2025-12-18 00:00:16.202740", "msg": "", "rc": 0, "start": "2025-12-18 00:00:16.197027", "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.005625", "end": "2025-12-17 23:59:49.733616", "msg": "", "rc": 0, "start": "2025-12-17 23:59:49.727991", "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.005721", "end": "2025-12-17 23:59:43.173091", "msg": "", "rc": 0, "start": "2025-12-17 23:59:43.167370", "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.011356", "end": "2025-12-18 00:00:16.844530", "msg": "", "rc": 0, "start": "2025-12-18 00:00:16.833174", "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.010604", "end": "2025-12-18 00:00:16.900286", "msg": "", "rc": 0, "start": "2025-12-18 00:00:16.889682", "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-18 00:00:17.096761", "msg": "", "rc": 0, "start": "2025-12-18 00:00:17.090931", "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.008826", "end": "2025-12-17 23:59:46.388359", "msg": "", "rc": 0, "start": "2025-12-17 23:59:46.379533", "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.005539", "end": "2025-12-17 21:00:17.360260", "msg": "", "rc": 0, "start": "2025-12-17 21:00:17.354721", "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.004637", "end": "2025-12-17 23:59:53.072225", "msg": "", "rc": 0, "start": "2025-12-17 23:59:53.067588", "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.005524", "end": "2025-12-18 00:00:17.521964", "msg": "", "rc": 0, "start": "2025-12-18 00:00:17.516440", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021019", "end": "2025-12-18 00:00:17.901714", "msg": "", "rc": 0, "start": "2025-12-18 00:00:17.880695", "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.025812", "end": "2025-12-18 00:00:17.575605", "msg": "", "rc": 0, "start": "2025-12-18 00:00:17.549793", "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.004395", "end": "2025-12-18 00:00:18.090147", "msg": "", "rc": 0, "start": "2025-12-18 00:00:18.085752", "stderr": "", "stderr_lines": [], "stdout": "78.6%", "stdout_lines": ["78.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.004305", "end": "2025-12-18 00:00:18.114153", "msg": "", "rc": 0, "start": "2025-12-18 00:00:18.109848", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.7%"]}
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.005371", "end": "2025-12-18 00:00:18.131594", "msg": "", "rc": 0, "start": "2025-12-18 00:00:18.126223", "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.004578", "end": "2025-12-18 00:00:18.149607", "msg": "", "rc": 0, "start": "2025-12-18 00:00:18.145029", "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.006943", "end": "2025-12-18 00:00:18.192378", "msg": "", "rc": 0, "start": "2025-12-18 00:00:18.185435", "stderr": "", "stderr_lines": [], "stdout": "60.1%", "stdout_lines": ["60.1%"]}
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.003864", "end": "2025-12-17 23:59:51.703760", "msg": "", "rc": 0, "start": "2025-12-17 23:59:51.699896", "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.005940", "end": "2025-12-17 23:59:45.171088", "msg": "", "rc": 0, "start": "2025-12-17 23:59:45.165148", "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.011092", "end": "2025-12-18 00:00:18.791967", "msg": "", "rc": 0, "start": "2025-12-18 00:00:18.780875", "stderr": "", "stderr_lines": [], "stdout": "7.1%", "stdout_lines": ["7.1%"]}
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.011804", "end": "2025-12-18 00:00:18.835021", "msg": "", "rc": 0, "start": "2025-12-18 00:00:18.823217", "stderr": "", "stderr_lines": [], "stdout": "13.4%", "stdout_lines": ["13.4%"]}
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.005751", "end": "2025-12-18 00:00:19.076167", "msg": "", "rc": 0, "start": "2025-12-18 00:00:19.070416", "stderr": "", "stderr_lines": [], "stdout": "36.2%", "stdout_lines": ["36.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.003742", "end": "2025-12-17 23:59:55.016859", "msg": "", "rc": 0, "start": "2025-12-17 23:59:55.013117", "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.005415", "end": "2025-12-17 21:00:19.298374", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 21:00:19.292959", "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.005852", "end": "2025-12-17 23:59:48.359252", "msg": "", "rc": 0, "start": "2025-12-17 23:59:48.353400", "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.005682", "end": "2025-12-18 00:00:19.505501", "msg": "", "rc": 0, "start": "2025-12-18 00:00:19.499819", "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.025823", "end": "2025-12-18 00:00:19.484809", "msg": "", "rc": 0, "start": "2025-12-18 00:00:19.458986", "stderr": "", "stderr_lines": [], "stdout": "21.3%", "stdout_lines": ["21.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.009900", "end": "2025-12-18 00:00:19.918872", "msg": "", "rc": 0, "start": "2025-12-18 00:00:19.908972", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.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.005326", "end": "2025-12-18 00:00:20.063404", "msg": "", "rc": 0, "start": "2025-12-18 00:00:20.058078", "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.005064", "end": "2025-12-18 00:00:20.070441", "msg": "", "rc": 0, "start": "2025-12-18 00:00:20.065377", "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.005731", "end": "2025-12-18 00:00:20.078049", "msg": "", "rc": 0, "start": "2025-12-18 00:00:20.072318", "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.003232", "end": "2025-12-18 00:00:20.108051", "msg": "", "rc": 0, "start": "2025-12-18 00:00:20.104819", "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.006818", "end": "2025-12-18 00:00:20.113677", "msg": "", "rc": 0, "start": "2025-12-18 00:00:20.106859", "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.002513", "end": "2025-12-17 23:59:53.667814", "msg": "", "rc": 0, "start": "2025-12-17 23:59:53.665301", "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.003143", "end": "2025-12-17 23:59:47.076405", "msg": "", "rc": 0, "start": "2025-12-17 23:59:47.073262", "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.011888", "end": "2025-12-18 00:00:20.764123", "msg": "", "rc": 0, "start": "2025-12-18 00:00:20.752235", "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.013240", "end": "2025-12-18 00:00:20.850562", "msg": "", "rc": 0, "start": "2025-12-18 00:00:20.837322", "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.003287", "end": "2025-12-18 00:00:21.038924", "msg": "", "rc": 0, "start": "2025-12-18 00:00:21.035637", "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.002712", "end": "2025-12-17 23:59:50.250360", "msg": "", "rc": 0, "start": "2025-12-17 23:59:50.247648", "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.002681", "end": "2025-12-17 23:59:56.969227", "msg": "", "rc": 0, "start": "2025-12-17 23:59:56.966546", "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.003892", "end": "2025-12-17 21:00:21.309886", "msg": "", "rc": 0, "start": "2025-12-17 21:00:21.305994", "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.003030", "end": "2025-12-18 00:00:21.468045", "msg": "", "rc": 0, "start": "2025-12-18 00:00:21.465015", "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.004234", "end": "2025-12-18 00:00:21.835163", "msg": "", "rc": 0, "start": "2025-12-18 00:00:21.830929", "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.028468", "end": "2025-12-18 00:00:21.469400", "msg": "", "rc": 0, "start": "2025-12-18 00:00:21.440932", "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.004171", "end": "2025-12-18 00:00:21.973485", "msg": "", "rc": 0, "start": "2025-12-18 00:00:21.969314", "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.004141", "end": "2025-12-18 00:00:22.004796", "msg": "", "rc": 0, "start": "2025-12-18 00:00:22.000655", "stderr": "", "stderr_lines": [], "stdout": "0.73", "stdout_lines": ["0.73"]}
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.004665", "end": "2025-12-18 00:00:22.023750", "msg": "", "rc": 0, "start": "2025-12-18 00:00:22.019085", "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.004773", "end": "2025-12-18 00:00:22.039463", "msg": "", "rc": 0, "start": "2025-12-18 00:00:22.034690", "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.005667", "end": "2025-12-18 00:00:22.050448", "msg": "", "rc": 0, "start": "2025-12-18 00:00:22.044781", "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.004197", "end": "2025-12-17 23:59:55.594109", "msg": "", "rc": 0, "start": "2025-12-17 23:59:55.589912", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
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.005218", "end": "2025-12-17 23:59:48.996984", "msg": "", "rc": 0, "start": "2025-12-17 23:59:48.991766", "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.011164", "end": "2025-12-18 00:00:22.750458", "msg": "", "rc": 0, "start": "2025-12-18 00:00:22.739294", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
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.010110", "end": "2025-12-18 00:00:22.773328", "msg": "", "rc": 0, "start": "2025-12-18 00:00:22.763218", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
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-18 00:00:22.986325", "msg": "", "rc": 0, "start": "2025-12-18 00:00:22.980681", "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.004940", "end": "2025-12-17 23:59:52.180568", "msg": "", "rc": 0, "start": "2025-12-17 23:59:52.175628", "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.005811", "end": "2025-12-17 21:00:23.235507", "msg": "", "rc": 0, "start": "2025-12-17 21:00:23.229696", "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.004362", "end": "2025-12-17 23:59:58.970590", "msg": "", "rc": 0, "start": "2025-12-17 23:59:58.966228", "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.005312", "end": "2025-12-18 00:00:23.414279", "msg": "", "rc": 0, "start": "2025-12-18 00:00:23.408967", "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.008882", "end": "2025-12-18 00:00:23.809687", "msg": "", "rc": 0, "start": "2025-12-18 00:00:23.800805", "stderr": "", "stderr_lines": [], "stdout": "1.54", "stdout_lines": ["1.54"]}
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.024601", "end": "2025-12-18 00:00:23.367236", "msg": "", "rc": 0, "start": "2025-12-18 00:00:23.342635", "stderr": "", "stderr_lines": [], "stdout": "0.51", "stdout_lines": ["0.51"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:13 up 22 days, 10:51, 1 user, load average: 0.10, 0.10, 0.09\nDisk Usage: 23%\nMemory Usage: 78.6%\nCPU Load: 0.08\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:13 up 3 days, 13:32, 1 user, load average: 0.68, 0.27, 0.20\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 0.73\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:13 up 22 days, 11:11, 1 user, load average: 0.44, 0.67, 0.73\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.57\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:13 up 22 days, 12:24, 1 user, load average: 0.48, 0.58, 0.61\nDisk Usage: 14%\nMemory Usage: 60.1%\nCPU Load: 0.63\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:13 up 22 days, 13:10, 1 user, load average: 0.11, 0.09, 0.03\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: 00:00:15 up 15 days, 13:26, 1 user, load average: 0.50, 0.20, 0.12\nDisk Usage: 21%\nMemory Usage: 21.3%\nCPU Load: 0.51\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:14 up 194 days, 15:33, 1 user, load average: 0.20, 0.17, 0.18\nDisk Usage: 6%\nMemory Usage: 13.4%\nCPU Load: 0.33\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:14 up 194 days, 15:33, 1 user, load average: 0.11, 0.13, 0.12\nDisk Usage: 3%\nMemory Usage: 7.1%\nCPU Load: 0.10\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:59:48 up 11 days, 11:49, 0 user, load average: 0.12, 0.13, 0.14\nDisk Usage: 48%\nMemory Usage: 70.6%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:59:41 up 18 days, 8:01, 0 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 24%\nMemory Usage: 69.1%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:00:15 up 3 days, 13:31, 1 user, load average: 0.15, 0.11, 0.08\nDisk Usage: 1%\nMemory Usage: 36.2%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:59:44 up 21 days, 2:54, 0 user, load average: 0.28, 0.38, 0.45\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.34\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 23:59:51 up 17 days, 13:15, 0 user, load average: 0.11, 0.26, 0.27\nDisk Usage: 76%\nMemory Usage: 56.1%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:00PM up 22 days, 10:50, 1 user, load averages: 0.32, 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: 00:00:15 up 3 days, 13:31, 1 user, load average: 0.00, 0.04, 0.04\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: 00:00:15 up 4:10, 1 user, load average: 1.10, 1.09, 1.09\nDisk Usage: 1%\nMemory Usage: 12.8%\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-18T05:00:24.846888+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `cbc3d161d9aa4e9fa52bdcf2755da816` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T05:20:00.001410+00:00 |
| **Fin** | 2025-12-18T05:20:21.558577+00:00 |
| **Durée** | 21.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: [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: [hp.truenas.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: [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: [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.003475", "end": "2025-12-18 00:20:11.088156", "msg": "", "rc": 0, "start": "2025-12-18 00:20:11.084681", "stderr": "", "stderr_lines": [], "stdout": " 00:20:11 up 22 days, 13:30, 1 user, load average: 0.10, 0.05, 0.01", "stdout_lines": [" 00:20:11 up 22 days, 13:30, 1 user, load average: 0.10, 0.05, 0.01"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003956", "end": "2025-12-18 00:20:11.113869", "msg": "", "rc": 0, "start": "2025-12-18 00:20:11.109913", "stderr": "", "stderr_lines": [], "stdout": " 00:20:11 up 22 days, 12:44, 1 user, load average: 0.88, 0.67, 0.63", "stdout_lines": [" 00:20:11 up 22 days, 12:44, 1 user, load average: 0.88, 0.67, 0.63"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002951", "end": "2025-12-18 00:20:11.122676", "msg": "", "rc": 0, "start": "2025-12-18 00:20:11.119725", "stderr": "", "stderr_lines": [], "stdout": " 00:20:11 up 3 days, 13:52, 1 user, load average: 0.32, 0.19, 0.15", "stdout_lines": [" 00:20:11 up 3 days, 13:52, 1 user, load average: 0.32, 0.19, 0.15"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008414", "end": "2025-12-18 00:20:11.762090", "msg": "", "rc": 0, "start": "2025-12-18 00:20:11.753676", "stderr": "", "stderr_lines": [], "stdout": " 00:20:11 up 194 days, 15:53, 1 user, load average: 0.23, 0.12, 0.10", "stdout_lines": [" 00:20:11 up 194 days, 15:53, 1 user, load average: 0.23, 0.12, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009901", "end": "2025-12-18 00:20:11.811713", "msg": "", "rc": 0, "start": "2025-12-18 00:20:11.801812", "stderr": "", "stderr_lines": [], "stdout": " 00:20:11 up 194 days, 15:53, 1 user, load average: 0.42, 0.23, 0.19", "stdout_lines": [" 00:20:11 up 194 days, 15:53, 1 user, load average: 0.42, 0.23, 0.19"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003562", "end": "2025-12-18 00:20:12.082080", "msg": "", "rc": 0, "start": "2025-12-18 00:20:11.078518", "stderr": "", "stderr_lines": [], "stdout": " 00:20:11 up 22 days, 11:11, 1 user, load average: 0.09, 0.11, 0.09", "stdout_lines": [" 00:20:11 up 22 days, 11:11, 1 user, load average: 0.09, 0.11, 0.09"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003993", "end": "2025-12-18 00:20:12.096527", "msg": "", "rc": 0, "start": "2025-12-18 00:20:11.092534", "stderr": "", "stderr_lines": [], "stdout": " 00:20:11 up 22 days, 11:31, 1 user, load average: 0.19, 0.54, 0.73", "stdout_lines": [" 00:20:11 up 22 days, 11:31, 1 user, load average: 0.19, 0.54, 0.73"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002909", "end": "2025-12-18 00:19:45.333286", "msg": "", "rc": 0, "start": "2025-12-18 00:19:45.330377", "stderr": "", "stderr_lines": [], "stdout": " 00:19:45 up 11 days, 12:09, 0 user, load average: 0.29, 0.17, 0.12", "stdout_lines": [" 00:19:45 up 11 days, 12:09, 0 user, load average: 0.29, 0.17, 0.12"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003455", "end": "2025-12-18 00:19:38.780891", "msg": "", "rc": 0, "start": "2025-12-18 00:19:38.777436", "stderr": "", "stderr_lines": [], "stdout": " 00:19:38 up 18 days, 8:21, 0 user, load average: 0.04, 0.05, 0.01", "stdout_lines": [" 00:19:38 up 18 days, 8:21, 0 user, load average: 0.04, 0.05, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004774", "end": "2025-12-18 00:20:12.541533", "msg": "", "rc": 0, "start": "2025-12-18 00:20:12.536759", "stderr": "", "stderr_lines": [], "stdout": " 00:20:12 up 3 days, 13:51, 1 user, load average: 0.16, 0.08, 0.06", "stdout_lines": [" 00:20:12 up 3 days, 13:51, 1 user, load average: 0.16, 0.08, 0.06"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019439", "end": "2025-12-18 00:20:12.462538", "msg": "", "rc": 0, "start": "2025-12-18 00:20:12.443099", "stderr": "", "stderr_lines": [], "stdout": " 00:20:12 up 15 days, 13:46, 1 user, load average: 0.27, 0.12, 0.09", "stdout_lines": [" 00:20:12 up 15 days, 13:46, 1 user, load average: 0.27, 0.12, 0.09"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003405", "end": "2025-12-18 00:19:41.642274", "msg": "", "rc": 0, "start": "2025-12-18 00:19:41.638869", "stderr": "", "stderr_lines": [], "stdout": " 00:19:41 up 21 days, 3:13, 0 user, load average: 0.67, 0.55, 0.54", "stdout_lines": [" 00:19:41 up 21 days, 3:13, 0 user, load average: 0.67, 0.55, 0.54"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008117", "end": "2025-12-18 00:19:48.393582", "msg": "", "rc": 0, "start": "2025-12-18 00:19:48.385465", "stderr": "", "stderr_lines": [], "stdout": " 00:19:48 up 17 days, 13:35, 0 user, load average: 0.11, 0.30, 0.42", "stdout_lines": [" 00:19:48 up 17 days, 13:35, 0 user, load average: 0.11, 0.30, 0.42"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004277", "end": "2025-12-17 21:20:12.787602", "msg": "", "rc": 0, "start": "2025-12-17 21:20:12.783325", "stderr": "", "stderr_lines": [], "stdout": " 9:20PM up 22 days, 11:10, 1 user, load averages: 0.25, 0.29, 0.25", "stdout_lines": [" 9:20PM up 22 days, 11:10, 1 user, load averages: 0.25, 0.29, 0.25"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008117", "end": "2025-12-18 00:20:13.006337", "msg": "", "rc": 0, "start": "2025-12-18 00:20:12.998220", "stderr": "", "stderr_lines": [], "stdout": " 00:20:12 up 4:30, 1 user, load average: 1.14, 1.16, 1.22", "stdout_lines": [" 00:20:12 up 4:30, 1 user, load average: 1.14, 1.16, 1.22"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003706", "end": "2025-12-18 00:20:12.960670", "msg": "", "rc": 0, "start": "2025-12-18 00:20:12.956964", "stderr": "", "stderr_lines": [], "stdout": " 00:20:12 up 3 days, 13:51, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 00:20:12 up 3 days, 13:51, 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.004110", "end": "2025-12-18 00:20:13.357122", "msg": "", "rc": 0, "start": "2025-12-18 00:20:13.353012", "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.004162", "end": "2025-12-18 00:20:13.358741", "msg": "", "rc": 0, "start": "2025-12-18 00:20:13.354579", "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.004985", "end": "2025-12-18 00:20:13.387431", "msg": "", "rc": 0, "start": "2025-12-18 00:20:13.382446", "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.005761", "end": "2025-12-18 00:20:13.406456", "msg": "", "rc": 0, "start": "2025-12-18 00:20:13.400695", "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.004438", "end": "2025-12-18 00:20:13.414772", "msg": "", "rc": 0, "start": "2025-12-18 00:20:13.410334", "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.005296", "end": "2025-12-18 00:19:46.950971", "msg": "", "rc": 0, "start": "2025-12-18 00:19:46.945675", "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.005869", "end": "2025-12-18 00:19:40.347778", "msg": "", "rc": 0, "start": "2025-12-18 00:19:40.341909", "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.011647", "end": "2025-12-18 00:20:14.096355", "msg": "", "rc": 0, "start": "2025-12-18 00:20:14.084708", "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.010436", "end": "2025-12-18 00:20:14.106671", "msg": "", "rc": 0, "start": "2025-12-18 00:20:14.096235", "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.005724", "end": "2025-12-18 00:20:14.323929", "msg": "", "rc": 0, "start": "2025-12-18 00:20:14.318205", "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.005258", "end": "2025-12-18 00:19:43.508150", "msg": "", "rc": 0, "start": "2025-12-18 00:19:43.502892", "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.005239", "end": "2025-12-17 21:20:14.559548", "msg": "", "rc": 0, "start": "2025-12-17 21:20:14.554309", "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.010549", "end": "2025-12-18 00:19:50.302104", "msg": "", "rc": 0, "start": "2025-12-18 00:19:50.291555", "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.005435", "end": "2025-12-18 00:20:14.745810", "msg": "", "rc": 0, "start": "2025-12-18 00:20:14.740375", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.009645", "end": "2025-12-18 00:20:14.919002", "msg": "", "rc": 0, "start": "2025-12-18 00:20:14.909357", "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.025646", "end": "2025-12-18 00:20:14.739601", "msg": "", "rc": 0, "start": "2025-12-18 00:20:14.713955", "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.004105", "end": "2025-12-18 00:20:15.245855", "msg": "", "rc": 0, "start": "2025-12-18 00:20:15.241750", "stderr": "", "stderr_lines": [], "stdout": "79.0%", "stdout_lines": ["79.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.004326", "end": "2025-12-18 00:20:15.287380", "msg": "", "rc": 0, "start": "2025-12-18 00:20:15.283054", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.7%"]}
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.004860", "end": "2025-12-18 00:20:15.291145", "msg": "", "rc": 0, "start": "2025-12-18 00:20:15.286285", "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.005042", "end": "2025-12-18 00:20:15.305394", "msg": "", "rc": 0, "start": "2025-12-18 00:20:15.300352", "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.005516", "end": "2025-12-18 00:20:15.315116", "msg": "", "rc": 0, "start": "2025-12-18 00:20:15.309600", "stderr": "", "stderr_lines": [], "stdout": "60.1%", "stdout_lines": ["60.1%"]}
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.003760", "end": "2025-12-18 00:19:48.853316", "msg": "", "rc": 0, "start": "2025-12-18 00:19:48.849556", "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.004421", "end": "2025-12-18 00:19:42.249227", "msg": "", "rc": 0, "start": "2025-12-18 00:19:42.244806", "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.011047", "end": "2025-12-18 00:20:15.961808", "msg": "", "rc": 0, "start": "2025-12-18 00:20:15.950761", "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.011864", "end": "2025-12-18 00:20:15.997441", "msg": "", "rc": 0, "start": "2025-12-18 00:20:15.985577", "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.005711", "end": "2025-12-18 00:20:16.228250", "msg": "", "rc": 0, "start": "2025-12-18 00:20:16.222539", "stderr": "", "stderr_lines": [], "stdout": "36.5%", "stdout_lines": ["36.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.004375", "end": "2025-12-18 00:19:45.417493", "msg": "", "rc": 0, "start": "2025-12-18 00:19:45.413118", "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.005423", "end": "2025-12-17 21:20:16.461160", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 21:20:16.455737", "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.009951", "end": "2025-12-18 00:19:52.173493", "msg": "", "rc": 0, "start": "2025-12-18 00:19:52.163542", "stderr": "", "stderr_lines": [], "stdout": "51.7%", "stdout_lines": ["51.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.005460", "end": "2025-12-18 00:20:16.655392", "msg": "", "rc": 0, "start": "2025-12-18 00:20:16.649932", "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.009057", "end": "2025-12-18 00:20:16.886341", "msg": "", "rc": 0, "start": "2025-12-18 00:20:16.877284", "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.025761", "end": "2025-12-18 00:20:16.630390", "msg": "", "rc": 0, "start": "2025-12-18 00:20:16.604629", "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.005255", "end": "2025-12-18 00:20:17.149341", "msg": "", "rc": 0, "start": "2025-12-18 00:20:17.144086", "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.004901", "end": "2025-12-18 00:20:17.178518", "msg": "", "rc": 0, "start": "2025-12-18 00:20:17.173617", "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.005876", "end": "2025-12-18 00:20:17.179040", "msg": "", "rc": 0, "start": "2025-12-18 00:20:17.173164", "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.003133", "end": "2025-12-18 00:20:17.194813", "msg": "", "rc": 0, "start": "2025-12-18 00:20:17.191680", "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.006129", "end": "2025-12-18 00:20:17.214497", "msg": "", "rc": 0, "start": "2025-12-18 00:20:17.208368", "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.002586", "end": "2025-12-18 00:19:50.732903", "msg": "", "rc": 0, "start": "2025-12-18 00:19:50.730317", "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.003113", "end": "2025-12-18 00:19:44.142448", "msg": "", "rc": 0, "start": "2025-12-18 00:19:44.139335", "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.012977", "end": "2025-12-18 00:20:17.882701", "msg": "", "rc": 0, "start": "2025-12-18 00:20:17.869724", "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.012739", "end": "2025-12-18 00:20:17.870910", "msg": "", "rc": 0, "start": "2025-12-18 00:20:17.858171", "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.003655", "end": "2025-12-18 00:20:18.114991", "msg": "", "rc": 0, "start": "2025-12-18 00:20:18.111336", "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.003017", "end": "2025-12-18 00:19:47.316001", "msg": "", "rc": 0, "start": "2025-12-18 00:19:47.312984", "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.003559", "end": "2025-12-17 21:20:18.349168", "msg": "", "rc": 0, "start": "2025-12-17 21:20:18.345609", "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.002819", "end": "2025-12-18 00:19:54.118495", "msg": "", "rc": 0, "start": "2025-12-18 00:19:54.115676", "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-18 00:20:18.527114", "msg": "", "rc": 0, "start": "2025-12-18 00:20:18.524174", "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.003688", "end": "2025-12-18 00:20:18.784986", "msg": "", "rc": 0, "start": "2025-12-18 00:20:18.781298", "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.028921", "end": "2025-12-18 00:20:18.527138", "msg": "", "rc": 0, "start": "2025-12-18 00:20:18.498217", "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.004033", "end": "2025-12-18 00:20:19.042355", "msg": "", "rc": 0, "start": "2025-12-18 00:20:19.038322", "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.004084", "end": "2025-12-18 00:20:19.067086", "msg": "", "rc": 0, "start": "2025-12-18 00:20:19.063002", "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.004853", "end": "2025-12-18 00:20:19.061389", "msg": "", "rc": 0, "start": "2025-12-18 00:20:19.056536", "stderr": "", "stderr_lines": [], "stdout": "0.32", "stdout_lines": ["0.32"]}
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.004933", "end": "2025-12-18 00:20:19.093138", "msg": "", "rc": 0, "start": "2025-12-18 00:20:19.088205", "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.005554", "end": "2025-12-18 00:20:19.096683", "msg": "", "rc": 0, "start": "2025-12-18 00:20:19.091129", "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.004217", "end": "2025-12-18 00:19:52.607432", "msg": "", "rc": 0, "start": "2025-12-18 00:19:52.603215", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
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.005429", "end": "2025-12-18 00:19:46.029958", "msg": "", "rc": 0, "start": "2025-12-18 00:19:46.024529", "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.009975", "end": "2025-12-18 00:20:19.719923", "msg": "", "rc": 0, "start": "2025-12-18 00:20:19.709948", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
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-18 00:20:19.795469", "msg": "", "rc": 0, "start": "2025-12-18 00:20:19.784377", "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.005606", "end": "2025-12-18 00:20:19.971364", "msg": "", "rc": 0, "start": "2025-12-18 00:20:19.965758", "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.005174", "end": "2025-12-18 00:19:49.216945", "msg": "", "rc": 0, "start": "2025-12-18 00:19:49.211771", "stderr": "", "stderr_lines": [], "stdout": "0.57", "stdout_lines": ["0.57"]}
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-18 00:19:55.914829", "msg": "", "rc": 0, "start": "2025-12-18 00:19:55.909736", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
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.006117", "end": "2025-12-17 21:20:20.251386", "msg": "", "rc": 0, "start": "2025-12-17 21:20:20.245269", "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.005265", "end": "2025-12-18 00:20:20.386365", "msg": "", "rc": 0, "start": "2025-12-18 00:20:20.381100", "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.008023", "end": "2025-12-18 00:20:20.731605", "msg": "", "rc": 0, "start": "2025-12-18 00:20:20.723582", "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.024504", "end": "2025-12-18 00:20:20.425354", "msg": "", "rc": 0, "start": "2025-12-18 00:20:20.400850", "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: 00:20:11 up 22 days, 11:11, 1 user, load average: 0.09, 0.11, 0.09\nDisk Usage: 23%\nMemory Usage: 79.0%\nCPU Load: 0.09\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:20:11 up 3 days, 13:52, 1 user, load average: 0.32, 0.19, 0.15\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 0.27\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:20:11 up 22 days, 11:31, 1 user, load average: 0.19, 0.54, 0.73\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 0.32\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:20:11 up 22 days, 12:44, 1 user, load average: 0.88, 0.67, 0.63\nDisk Usage: 14%\nMemory Usage: 60.1%\nCPU Load: 0.74\nCPU Temp: 51.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:20:11 up 22 days, 13:30, 1 user, load average: 0.10, 0.05, 0.01\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: 00:20:12 up 15 days, 13:46, 1 user, load average: 0.27, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 19.2%\nCPU Load: 0.30\nCPU Temp: 34.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:20:11 up 194 days, 15:53, 1 user, load average: 0.42, 0.23, 0.19\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.51\nCPU Temp: 34.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:20:11 up 194 days, 15:53, 1 user, load average: 0.23, 0.12, 0.10\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.19\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:19:45 up 11 days, 12:09, 0 user, load average: 0.29, 0.17, 0.12\nDisk Usage: 48%\nMemory Usage: 70.7%\nCPU Load: 0.27\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:19:38 up 18 days, 8:21, 0 user, load average: 0.04, 0.05, 0.01\nDisk Usage: 24%\nMemory Usage: 69.1%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:20:12 up 3 days, 13:51, 1 user, load average: 0.16, 0.08, 0.06\nDisk Usage: 1%\nMemory Usage: 36.5%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:19:41 up 21 days, 3:13, 0 user, load average: 0.67, 0.55, 0.54\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.57\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:19:48 up 17 days, 13:35, 0 user, load average: 0.11, 0.30, 0.42\nDisk Usage: 76%\nMemory Usage: 51.7%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:20PM up 22 days, 11:10, 1 user, load averages: 0.25, 0.29, 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: 00:20:12 up 3 days, 13:51, 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:20:12 up 4:30, 1 user, load average: 1.14, 1.16, 1.22\nDisk Usage: 1%\nMemory Usage: 12.4%\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-18T05:20:21.608154+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `40e10100e4f2421ea4b6b39c1203c471` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T05:35:00.002885+00:00 |
| **Fin** | 2025-12-18T05:35:22.918066+00:00 |
| **Durée** | 22.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: [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.003247", "end": "2025-12-18 00:35:11.959599", "msg": "", "rc": 0, "start": "2025-12-18 00:35:11.956352", "stderr": "", "stderr_lines": [], "stdout": " 00:35:11 up 22 days, 11:26, 1 user, load average: 0.50, 0.18, 0.12", "stdout_lines": [" 00:35:11 up 22 days, 11:26, 1 user, load average: 0.50, 0.18, 0.12"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003538", "end": "2025-12-18 00:35:11.971425", "msg": "", "rc": 0, "start": "2025-12-18 00:35:11.967887", "stderr": "", "stderr_lines": [], "stdout": " 00:35:11 up 22 days, 13:45, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 00:35:11 up 22 days, 13:45, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003215", "end": "2025-12-18 00:35:11.980118", "msg": "", "rc": 0, "start": "2025-12-18 00:35:11.976903", "stderr": "", "stderr_lines": [], "stdout": " 00:35:11 up 22 days, 11:46, 1 user, load average: 0.24, 0.49, 0.61", "stdout_lines": [" 00:35:11 up 22 days, 11:46, 1 user, load average: 0.24, 0.49, 0.61"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003065", "end": "2025-12-18 00:35:12.001500", "msg": "", "rc": 0, "start": "2025-12-18 00:35:11.998435", "stderr": "", "stderr_lines": [], "stdout": " 00:35:12 up 3 days, 14:07, 1 user, load average: 0.48, 0.42, 0.27", "stdout_lines": [" 00:35:12 up 3 days, 14:07, 1 user, load average: 0.48, 0.42, 0.27"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004087", "end": "2025-12-18 00:35:12.006253", "msg": "", "rc": 0, "start": "2025-12-18 00:35:12.002166", "stderr": "", "stderr_lines": [], "stdout": " 00:35:12 up 22 days, 12:59, 1 user, load average: 0.46, 0.54, 0.56", "stdout_lines": [" 00:35:12 up 22 days, 12:59, 1 user, load average: 0.46, 0.54, 0.56"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002920", "end": "2025-12-18 00:34:45.528744", "msg": "", "rc": 0, "start": "2025-12-18 00:34:45.525824", "stderr": "", "stderr_lines": [], "stdout": " 00:34:45 up 11 days, 12:24, 0 user, load average: 0.17, 0.08, 0.08", "stdout_lines": [" 00:34:45 up 11 days, 12:24, 0 user, load average: 0.17, 0.08, 0.08"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003854", "end": "2025-12-18 00:34:38.932373", "msg": "", "rc": 0, "start": "2025-12-18 00:34:38.928519", "stderr": "", "stderr_lines": [], "stdout": " 00:34:38 up 18 days, 8:36, 0 user, load average: 0.14, 0.05, 0.01", "stdout_lines": [" 00:34:38 up 18 days, 8:36, 0 user, load average: 0.14, 0.05, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008390", "end": "2025-12-18 00:35:12.629642", "msg": "", "rc": 0, "start": "2025-12-18 00:35:12.621252", "stderr": "", "stderr_lines": [], "stdout": " 00:35:12 up 194 days, 16:08, 1 user, load average: 0.15, 0.11, 0.09", "stdout_lines": [" 00:35:12 up 194 days, 16:08, 1 user, load average: 0.15, 0.11, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009194", "end": "2025-12-18 00:35:12.676226", "msg": "", "rc": 0, "start": "2025-12-18 00:35:12.667032", "stderr": "", "stderr_lines": [], "stdout": " 00:35:12 up 194 days, 16:08, 1 user, load average: 0.19, 0.14, 0.16", "stdout_lines": [" 00:35:12 up 194 days, 16:08, 1 user, load average: 0.19, 0.14, 0.16"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004801", "end": "2025-12-18 00:35:12.925994", "msg": "", "rc": 0, "start": "2025-12-18 00:35:12.921193", "stderr": "", "stderr_lines": [], "stdout": " 00:35:12 up 3 days, 14:06, 1 user, load average: 0.01, 0.04, 0.01", "stdout_lines": [" 00:35:12 up 3 days, 14:06, 1 user, load average: 0.01, 0.04, 0.01"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003702", "end": "2025-12-18 00:34:48.801664", "msg": "", "rc": 0, "start": "2025-12-18 00:34:48.797962", "stderr": "", "stderr_lines": [], "stdout": " 00:34:48 up 17 days, 13:50, 0 user, load average: 0.06, 0.18, 0.25", "stdout_lines": [" 00:34:48 up 17 days, 13:50, 0 user, load average: 0.06, 0.18, 0.25"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004296", "end": "2025-12-17 21:35:13.127801", "msg": "", "rc": 0, "start": "2025-12-17 21:35:13.123505", "stderr": "", "stderr_lines": [], "stdout": " 9:35PM up 22 days, 11:25, 1 user, load averages: 0.29, 0.22, 0.22", "stdout_lines": [" 9:35PM up 22 days, 11:25, 1 user, load averages: 0.29, 0.22, 0.22"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003960", "end": "2025-12-18 00:34:42.139816", "msg": "", "rc": 0, "start": "2025-12-18 00:34:42.135856", "stderr": "", "stderr_lines": [], "stdout": " 00:34:42 up 21 days, 3:29, 0 user, load average: 1.04, 0.64, 0.59", "stdout_lines": [" 00:34:42 up 21 days, 3:29, 0 user, load average: 1.04, 0.64, 0.59"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003705", "end": "2025-12-18 00:35:13.348671", "msg": "", "rc": 0, "start": "2025-12-18 00:35:13.344966", "stderr": "", "stderr_lines": [], "stdout": " 00:35:13 up 3 days, 14:06, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 00:35:13 up 3 days, 14:06, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007702", "end": "2025-12-18 00:35:13.700433", "msg": "", "rc": 0, "start": "2025-12-18 00:35:13.692731", "stderr": "", "stderr_lines": [], "stdout": " 00:35:13 up 4:45, 1 user, load average: 1.30, 0.74, 0.81", "stdout_lines": [" 00:35:13 up 4:45, 1 user, load average: 1.30, 0.74, 0.81"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019699", "end": "2025-12-18 00:35:13.334279", "msg": "", "rc": 0, "start": "2025-12-18 00:35:13.314580", "stderr": "", "stderr_lines": [], "stdout": " 00:35:13 up 15 days, 14:01, 1 user, load average: 0.21, 0.06, 0.04", "stdout_lines": [" 00:35:13 up 15 days, 14:01, 1 user, load average: 0.21, 0.06, 0.04"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004230", "end": "2025-12-18 00:35:13.844164", "msg": "", "rc": 0, "start": "2025-12-18 00:35:13.839934", "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.004235", "end": "2025-12-18 00:35:13.879971", "msg": "", "rc": 0, "start": "2025-12-18 00:35:13.875736", "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.004864", "end": "2025-12-18 00:35:13.882289", "msg": "", "rc": 0, "start": "2025-12-18 00:35:13.877425", "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.004710", "end": "2025-12-18 00:35:13.902056", "msg": "", "rc": 0, "start": "2025-12-18 00:35:13.897346", "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.006717", "end": "2025-12-18 00:35:13.920458", "msg": "", "rc": 0, "start": "2025-12-18 00:35:13.913741", "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.005303", "end": "2025-12-18 00:34:47.420810", "msg": "", "rc": 0, "start": "2025-12-18 00:34:47.415507", "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.005547", "end": "2025-12-18 00:34:40.834183", "msg": "", "rc": 0, "start": "2025-12-18 00:34:40.828636", "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.010587", "end": "2025-12-18 00:35:14.594498", "msg": "", "rc": 0, "start": "2025-12-18 00:35:14.583911", "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.011640", "end": "2025-12-18 00:35:14.612398", "msg": "", "rc": 0, "start": "2025-12-18 00:35:14.600758", "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.005796", "end": "2025-12-18 00:35:14.815253", "msg": "", "rc": 0, "start": "2025-12-18 00:35:14.809457", "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.005394", "end": "2025-12-18 00:34:44.003395", "msg": "", "rc": 0, "start": "2025-12-18 00:34:43.998001", "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.005294", "end": "2025-12-17 21:35:15.066587", "msg": "", "rc": 0, "start": "2025-12-17 21:35:15.061293", "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.004816", "end": "2025-12-18 00:34:50.772300", "msg": "", "rc": 0, "start": "2025-12-18 00:34:50.767484", "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.005470", "end": "2025-12-18 00:35:15.238290", "msg": "", "rc": 0, "start": "2025-12-18 00:35:15.232820", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.019569", "end": "2025-12-18 00:35:15.638648", "msg": "", "rc": 0, "start": "2025-12-18 00:35:15.619079", "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.025424", "end": "2025-12-18 00:35:15.217269", "msg": "", "rc": 0, "start": "2025-12-18 00:35:15.191845", "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.004328", "end": "2025-12-18 00:35:15.727120", "msg": "", "rc": 0, "start": "2025-12-18 00:35:15.722792", "stderr": "", "stderr_lines": [], "stdout": "79.2%", "stdout_lines": ["79.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.004057", "end": "2025-12-18 00:35:15.745115", "msg": "", "rc": 0, "start": "2025-12-18 00:35:15.741058", "stderr": "", "stderr_lines": [], "stdout": "22.8%", "stdout_lines": ["22.8%"]}
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.004706", "end": "2025-12-18 00:35:15.760120", "msg": "", "rc": 0, "start": "2025-12-18 00:35:15.755414", "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.004880", "end": "2025-12-18 00:35:15.791833", "msg": "", "rc": 0, "start": "2025-12-18 00:35:15.786953", "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.005765", "end": "2025-12-18 00:35:15.815501", "msg": "", "rc": 0, "start": "2025-12-18 00:35:15.809736", "stderr": "", "stderr_lines": [], "stdout": "60.1%", "stdout_lines": ["60.1%"]}
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.003759", "end": "2025-12-18 00:34:49.304314", "msg": "", "rc": 0, "start": "2025-12-18 00:34:49.300555", "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.004573", "end": "2025-12-18 00:34:42.723391", "msg": "", "rc": 0, "start": "2025-12-18 00:34:42.718818", "stderr": "", "stderr_lines": [], "stdout": "69.2%", "stdout_lines": ["69.2%"]}
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.010839", "end": "2025-12-18 00:35:16.399970", "msg": "", "rc": 0, "start": "2025-12-18 00:35:16.389131", "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.011762", "end": "2025-12-18 00:35:16.452900", "msg": "", "rc": 0, "start": "2025-12-18 00:35:16.441138", "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.005772", "end": "2025-12-18 00:35:16.697183", "msg": "", "rc": 0, "start": "2025-12-18 00:35:16.691411", "stderr": "", "stderr_lines": [], "stdout": "36.5%", "stdout_lines": ["36.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.004464", "end": "2025-12-18 00:34:45.893807", "msg": "", "rc": 0, "start": "2025-12-18 00:34:45.889343", "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.003503", "end": "2025-12-18 00:34:52.579466", "msg": "", "rc": 0, "start": "2025-12-18 00:34:52.575963", "stderr": "", "stderr_lines": [], "stdout": "54.5%", "stdout_lines": ["54.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.005511", "end": "2025-12-17 21:35:16.906147", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 21:35:16.900636", "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.005419", "end": "2025-12-18 00:35:17.121371", "msg": "", "rc": 0, "start": "2025-12-18 00:35:17.115952", "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.010430", "end": "2025-12-18 00:35:17.544769", "msg": "", "rc": 0, "start": "2025-12-18 00:35:17.534339", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.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.026916", "end": "2025-12-18 00:35:17.125377", "msg": "", "rc": 0, "start": "2025-12-18 00:35:17.098461", "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.005484", "end": "2025-12-18 00:35:17.650230", "msg": "", "rc": 0, "start": "2025-12-18 00:35:17.644746", "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.004816", "end": "2025-12-18 00:35:17.666475", "msg": "", "rc": 0, "start": "2025-12-18 00:35:17.661659", "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.005662", "end": "2025-12-18 00:35:17.667086", "msg": "", "rc": 0, "start": "2025-12-18 00:35:17.661424", "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.003232", "end": "2025-12-18 00:35:17.690736", "msg": "", "rc": 0, "start": "2025-12-18 00:35:17.687504", "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.006398", "end": "2025-12-18 00:35:17.710096", "msg": "", "rc": 0, "start": "2025-12-18 00:35:17.703698", "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.002494", "end": "2025-12-18 00:34:51.214825", "msg": "", "rc": 0, "start": "2025-12-18 00:34:51.212331", "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.003012", "end": "2025-12-18 00:34:44.624820", "msg": "", "rc": 0, "start": "2025-12-18 00:34:44.621808", "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.011851", "end": "2025-12-18 00:35:18.349208", "msg": "", "rc": 0, "start": "2025-12-18 00:35:18.337357", "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.013022", "end": "2025-12-18 00:35:18.391951", "msg": "", "rc": 0, "start": "2025-12-18 00:35:18.378929", "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.003195", "end": "2025-12-18 00:35:18.613394", "msg": "", "rc": 0, "start": "2025-12-18 00:35:18.610199", "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.002985", "end": "2025-12-18 00:34:47.779323", "msg": "", "rc": 0, "start": "2025-12-18 00:34:47.776338", "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.003787", "end": "2025-12-17 21:35:18.849202", "msg": "", "rc": 0, "start": "2025-12-17 21:35:18.845415", "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.002555", "end": "2025-12-18 00:34:54.538829", "msg": "", "rc": 0, "start": "2025-12-18 00:34:54.536274", "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.002880", "end": "2025-12-18 00:35:19.037747", "msg": "", "rc": 0, "start": "2025-12-18 00:35:19.034867", "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.005309", "end": "2025-12-18 00:35:19.458394", "msg": "", "rc": 0, "start": "2025-12-18 00:35:19.453085", "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.028880", "end": "2025-12-18 00:35:19.059964", "msg": "", "rc": 0, "start": "2025-12-18 00:35:19.031084", "stderr": "", "stderr_lines": [], "stdout": "33.4°C", "stdout_lines": ["33.4°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.004210", "end": "2025-12-18 00:35:19.583432", "msg": "", "rc": 0, "start": "2025-12-18 00:35:19.579222", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
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.004247", "end": "2025-12-18 00:35:19.608992", "msg": "", "rc": 0, "start": "2025-12-18 00:35:19.604745", "stderr": "", "stderr_lines": [], "stdout": "0.49", "stdout_lines": ["0.49"]}
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.005024", "end": "2025-12-18 00:35:19.622057", "msg": "", "rc": 0, "start": "2025-12-18 00:35:19.617033", "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.005229", "end": "2025-12-18 00:35:19.639368", "msg": "", "rc": 0, "start": "2025-12-18 00:35:19.634139", "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.005286", "end": "2025-12-18 00:35:19.657067", "msg": "", "rc": 0, "start": "2025-12-18 00:35:19.651781", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
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.004098", "end": "2025-12-18 00:34:53.205390", "msg": "", "rc": 0, "start": "2025-12-18 00:34:53.201292", "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.005063", "end": "2025-12-18 00:34:46.624892", "msg": "", "rc": 0, "start": "2025-12-18 00:34:46.619829", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
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.010098", "end": "2025-12-18 00:35:20.385189", "msg": "", "rc": 0, "start": "2025-12-18 00:35:20.375091", "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.011097", "end": "2025-12-18 00:35:20.453607", "msg": "", "rc": 0, "start": "2025-12-18 00:35:20.442510", "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.005634", "end": "2025-12-18 00:35:20.781377", "msg": "", "rc": 0, "start": "2025-12-18 00:35:20.775743", "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.005036", "end": "2025-12-18 00:34:49.914565", "msg": "", "rc": 0, "start": "2025-12-18 00:34:49.909529", "stderr": "", "stderr_lines": [], "stdout": "0.88", "stdout_lines": ["0.88"]}
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.005850", "end": "2025-12-17 21:35:20.913976", "msg": "", "rc": 0, "start": "2025-12-17 21:35:20.908126", "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.004587", "end": "2025-12-18 00:34:56.604830", "msg": "", "rc": 0, "start": "2025-12-18 00:34:56.600243", "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.024477", "end": "2025-12-18 00:35:21.013347", "msg": "", "rc": 0, "start": "2025-12-18 00:35:20.988870", "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.005227", "end": "2025-12-18 00:35:21.204973", "msg": "", "rc": 0, "start": "2025-12-18 00:35:21.199746", "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.021740", "end": "2025-12-18 00:35:21.975089", "msg": "", "rc": 0, "start": "2025-12-18 00:35:21.953349", "stderr": "", "stderr_lines": [], "stdout": "1.44", "stdout_lines": ["1.44"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:35:11 up 22 days, 11:26, 1 user, load average: 0.50, 0.18, 0.12\nDisk Usage: 23%\nMemory Usage: 79.2%\nCPU Load: 0.50\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:35:12 up 3 days, 14:07, 1 user, load average: 0.48, 0.42, 0.27\nDisk Usage: 22%\nMemory Usage: 22.8%\nCPU Load: 0.49\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:35:11 up 22 days, 11:46, 1 user, load average: 0.24, 0.49, 0.61\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.20\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:35:12 up 22 days, 12:59, 1 user, load average: 0.46, 0.54, 0.56\nDisk Usage: 14%\nMemory Usage: 60.1%\nCPU Load: 0.42\nCPU Temp: 51.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:35:11 up 22 days, 13:45, 1 user, load average: 0.00, 0.01, 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:35:13 up 15 days, 14:01, 1 user, load average: 0.21, 0.06, 0.04\nDisk Usage: 21%\nMemory Usage: 19.4%\nCPU Load: 0.25\nCPU Temp: 33.4°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:35:12 up 194 days, 16:08, 1 user, load average: 0.19, 0.14, 0.16\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.31\nCPU Temp: 34.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:35:12 up 194 days, 16:08, 1 user, load average: 0.15, 0.11, 0.09\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.29\nCPU Temp: 29.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:34:45 up 11 days, 12:24, 0 user, load average: 0.17, 0.08, 0.08\nDisk Usage: 48%\nMemory Usage: 70.9%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:34:38 up 18 days, 8:36, 0 user, load average: 0.14, 0.05, 0.01\nDisk Usage: 24%\nMemory Usage: 69.2%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:35:12 up 3 days, 14:06, 1 user, load average: 0.01, 0.04, 0.01\nDisk Usage: 1%\nMemory Usage: 36.5%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:34:42 up 21 days, 3:29, 0 user, load average: 1.04, 0.64, 0.59\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.88\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:34:48 up 17 days, 13:50, 0 user, load average: 0.06, 0.18, 0.25\nDisk Usage: 76%\nMemory Usage: 54.5%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:35PM up 22 days, 11:25, 1 user, load averages: 0.29, 0.22, 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: 00:35:13 up 3 days, 14:06, 1 user, load average: 0.00, 0.00, 0.00\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: 00:35:13 up 4:45, 1 user, load average: 1.30, 0.74, 0.81\nDisk Usage: 1%\nMemory Usage: 12.9%\nCPU Load: 1.44\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-18T05:35:22.999863+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `9cbbed95837c4fe891c3c234f5a55467` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T05:40:00.001190+00:00 |
| **Fin** | 2025-12-18T05:40:21.812655+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: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.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: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003424", "end": "2025-12-18 00:40:11.646615", "msg": "", "rc": 0, "start": "2025-12-18 00:40:11.643191", "stderr": "", "stderr_lines": [], "stdout": " 00:40:11 up 22 days, 11:51, 1 user, load average: 0.75, 0.44, 0.54", "stdout_lines": [" 00:40:11 up 22 days, 11:51, 1 user, load average: 0.75, 0.44, 0.54"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003341", "end": "2025-12-18 00:40:11.649593", "msg": "", "rc": 0, "start": "2025-12-18 00:40:11.646252", "stderr": "", "stderr_lines": [], "stdout": " 00:40:11 up 22 days, 13:50, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 00:40:11 up 22 days, 13:50, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003979", "end": "2025-12-18 00:40:11.671247", "msg": "", "rc": 0, "start": "2025-12-18 00:40:11.667268", "stderr": "", "stderr_lines": [], "stdout": " 00:40:11 up 22 days, 13:04, 1 user, load average: 0.55, 0.56, 0.56", "stdout_lines": [" 00:40:11 up 22 days, 13:04, 1 user, load average: 0.55, 0.56, 0.56"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002846", "end": "2025-12-18 00:40:11.676912", "msg": "", "rc": 0, "start": "2025-12-18 00:40:11.674066", "stderr": "", "stderr_lines": [], "stdout": " 00:40:11 up 3 days, 14:12, 1 user, load average: 0.06, 0.20, 0.22", "stdout_lines": [" 00:40:11 up 3 days, 14:12, 1 user, load average: 0.06, 0.20, 0.22"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002840", "end": "2025-12-18 00:39:45.183345", "msg": "", "rc": 0, "start": "2025-12-18 00:39:45.180505", "stderr": "", "stderr_lines": [], "stdout": " 00:39:45 up 11 days, 12:29, 0 user, load average: 0.26, 0.15, 0.10", "stdout_lines": [" 00:39:45 up 11 days, 12:29, 0 user, load average: 0.26, 0.15, 0.10"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008355", "end": "2025-12-18 00:40:12.324575", "msg": "", "rc": 0, "start": "2025-12-18 00:40:12.316220", "stderr": "", "stderr_lines": [], "stdout": " 00:40:12 up 194 days, 16:13, 1 user, load average: 0.04, 0.10, 0.09", "stdout_lines": [" 00:40:12 up 194 days, 16:13, 1 user, load average: 0.04, 0.10, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009324", "end": "2025-12-18 00:40:12.370787", "msg": "", "rc": 0, "start": "2025-12-18 00:40:12.361463", "stderr": "", "stderr_lines": [], "stdout": " 00:40:12 up 194 days, 16:13, 1 user, load average: 0.13, 0.15, 0.16", "stdout_lines": [" 00:40:12 up 194 days, 16:13, 1 user, load average: 0.13, 0.15, 0.16"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004239", "end": "2025-12-18 00:40:12.633195", "msg": "", "rc": 0, "start": "2025-12-18 00:40:11.628956", "stderr": "", "stderr_lines": [], "stdout": " 00:40:11 up 22 days, 11:31, 1 user, load average: 0.09, 0.13, 0.10", "stdout_lines": [" 00:40:11 up 22 days, 11:31, 1 user, load average: 0.09, 0.13, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006826", "end": "2025-12-18 00:39:39.044440", "msg": "", "rc": 0, "start": "2025-12-18 00:39:39.037614", "stderr": "", "stderr_lines": [], "stdout": " 00:39:39 up 18 days, 8:41, 0 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 00:39:39 up 18 days, 8:41, 0 user, load average: 0.00, 0.02, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004899", "end": "2025-12-18 00:40:12.823764", "msg": "", "rc": 0, "start": "2025-12-18 00:40:12.818865", "stderr": "", "stderr_lines": [], "stdout": " 00:40:12 up 3 days, 14:11, 1 user, load average: 0.02, 0.05, 0.01", "stdout_lines": [" 00:40:12 up 3 days, 14:11, 1 user, load average: 0.02, 0.05, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003492", "end": "2025-12-18 00:39:41.978937", "msg": "", "rc": 0, "start": "2025-12-18 00:39:41.975445", "stderr": "", "stderr_lines": [], "stdout": " 00:39:41 up 21 days, 3:33, 0 user, load average: 0.39, 0.50, 0.54", "stdout_lines": [" 00:39:41 up 21 days, 3:33, 0 user, load average: 0.39, 0.50, 0.54"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003034", "end": "2025-12-18 00:39:48.745644", "msg": "", "rc": 0, "start": "2025-12-18 00:39:48.742610", "stderr": "", "stderr_lines": [], "stdout": " 00:39:48 up 17 days, 13:55, 0 user, load average: 0.28, 0.17, 0.21", "stdout_lines": [" 00:39:48 up 17 days, 13:55, 0 user, load average: 0.28, 0.17, 0.21"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004259", "end": "2025-12-17 21:40:13.084978", "msg": "", "rc": 0, "start": "2025-12-17 21:40:13.080719", "stderr": "", "stderr_lines": [], "stdout": " 9:40PM up 22 days, 11:30, 1 user, load averages: 0.14, 0.17, 0.19", "stdout_lines": [" 9:40PM up 22 days, 11:30, 1 user, load averages: 0.14, 0.17, 0.19"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019207", "end": "2025-12-18 00:40:13.016737", "msg": "", "rc": 0, "start": "2025-12-18 00:40:12.997530", "stderr": "", "stderr_lines": [], "stdout": " 00:40:13 up 15 days, 14:06, 1 user, load average: 0.22, 0.12, 0.07", "stdout_lines": [" 00:40:13 up 15 days, 14:06, 1 user, load average: 0.22, 0.12, 0.07"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003690", "end": "2025-12-18 00:40:13.247394", "msg": "", "rc": 0, "start": "2025-12-18 00:40:13.243704", "stderr": "", "stderr_lines": [], "stdout": " 00:40:13 up 3 days, 14:11, 1 user, load average: 0.12, 0.05, 0.01", "stdout_lines": [" 00:40:13 up 3 days, 14:11, 1 user, load average: 0.12, 0.05, 0.01"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006647", "end": "2025-12-18 00:40:13.276665", "msg": "", "rc": 0, "start": "2025-12-18 00:40:13.270018", "stderr": "", "stderr_lines": [], "stdout": " 00:40:13 up 4:50, 1 user, load average: 1.11, 0.99, 0.91", "stdout_lines": [" 00:40:13 up 4:50, 1 user, load average: 1.11, 0.99, 0.91"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004161", "end": "2025-12-18 00:40:13.647017", "msg": "", "rc": 0, "start": "2025-12-18 00:40:13.642856", "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.004157", "end": "2025-12-18 00:40:13.665857", "msg": "", "rc": 0, "start": "2025-12-18 00:40:13.661700", "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.004587", "end": "2025-12-18 00:40:13.673622", "msg": "", "rc": 0, "start": "2025-12-18 00:40:13.669035", "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.005038", "end": "2025-12-18 00:40:13.693534", "msg": "", "rc": 0, "start": "2025-12-18 00:40:13.688496", "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.005552", "end": "2025-12-18 00:40:13.712515", "msg": "", "rc": 0, "start": "2025-12-18 00:40:13.706963", "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.005036", "end": "2025-12-18 00:39:47.234368", "msg": "", "rc": 0, "start": "2025-12-18 00:39:47.229332", "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.008066", "end": "2025-12-18 00:39:40.638168", "msg": "", "rc": 0, "start": "2025-12-18 00:39:40.630102", "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.010604", "end": "2025-12-18 00:40:14.382168", "msg": "", "rc": 0, "start": "2025-12-18 00:40:14.371564", "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.011540", "end": "2025-12-18 00:40:14.419977", "msg": "", "rc": 0, "start": "2025-12-18 00:40:14.408437", "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.005788", "end": "2025-12-18 00:40:14.616620", "msg": "", "rc": 0, "start": "2025-12-18 00:40:14.610832", "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.008320", "end": "2025-12-18 00:39:43.839835", "msg": "", "rc": 0, "start": "2025-12-18 00:39:43.831515", "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.005202", "end": "2025-12-17 21:40:14.876559", "msg": "", "rc": 0, "start": "2025-12-17 21:40:14.871357", "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.005813", "end": "2025-12-18 00:39:50.578156", "msg": "", "rc": 0, "start": "2025-12-18 00:39:50.572343", "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.005335", "end": "2025-12-18 00:40:15.033531", "msg": "", "rc": 0, "start": "2025-12-18 00:40:15.028196", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.019467", "end": "2025-12-18 00:40:15.175080", "msg": "", "rc": 0, "start": "2025-12-18 00:40:15.155613", "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.025276", "end": "2025-12-18 00:40:15.028144", "msg": "", "rc": 0, "start": "2025-12-18 00:40:15.002868", "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.004242", "end": "2025-12-18 00:40:15.560008", "msg": "", "rc": 0, "start": "2025-12-18 00:40:15.555766", "stderr": "", "stderr_lines": [], "stdout": "79.2%", "stdout_lines": ["79.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.004412", "end": "2025-12-18 00:40:15.572844", "msg": "", "rc": 0, "start": "2025-12-18 00:40:15.568432", "stderr": "", "stderr_lines": [], "stdout": "22.8%", "stdout_lines": ["22.8%"]}
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.004769", "end": "2025-12-18 00:40:15.582996", "msg": "", "rc": 0, "start": "2025-12-18 00:40:15.578227", "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.004941", "end": "2025-12-18 00:40:15.605789", "msg": "", "rc": 0, "start": "2025-12-18 00:40:15.600848", "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.006315", "end": "2025-12-18 00:40:15.624362", "msg": "", "rc": 0, "start": "2025-12-18 00:40:15.618047", "stderr": "", "stderr_lines": [], "stdout": "60.1%", "stdout_lines": ["60.1%"]}
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.003997", "end": "2025-12-18 00:39:49.131082", "msg": "", "rc": 0, "start": "2025-12-18 00:39:49.127085", "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.004864", "end": "2025-12-18 00:39:42.559415", "msg": "", "rc": 0, "start": "2025-12-18 00:39:42.554551", "stderr": "", "stderr_lines": [], "stdout": "69.2%", "stdout_lines": ["69.2%"]}
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.010912", "end": "2025-12-18 00:40:16.263188", "msg": "", "rc": 0, "start": "2025-12-18 00:40:16.252276", "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.012105", "end": "2025-12-18 00:40:16.293072", "msg": "", "rc": 0, "start": "2025-12-18 00:40:16.280967", "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.006659", "end": "2025-12-18 00:40:16.530839", "msg": "", "rc": 0, "start": "2025-12-18 00:40:16.524180", "stderr": "", "stderr_lines": [], "stdout": "36.7%", "stdout_lines": ["36.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.003969", "end": "2025-12-18 00:39:45.747853", "msg": "", "rc": 0, "start": "2025-12-18 00:39:45.743884", "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.005073", "end": "2025-12-17 21:40:16.759222", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 21:40:16.754149", "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.003971", "end": "2025-12-18 00:39:52.449165", "msg": "", "rc": 0, "start": "2025-12-18 00:39:52.445194", "stderr": "", "stderr_lines": [], "stdout": "54.4%", "stdout_lines": ["54.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.005402", "end": "2025-12-18 00:40:16.952127", "msg": "", "rc": 0, "start": "2025-12-18 00:40:16.946725", "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.009470", "end": "2025-12-18 00:40:17.115597", "msg": "", "rc": 0, "start": "2025-12-18 00:40:17.106127", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.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.026237", "end": "2025-12-18 00:40:16.955390", "msg": "", "rc": 0, "start": "2025-12-18 00:40:16.929153", "stderr": "", "stderr_lines": [], "stdout": "19.0%", "stdout_lines": ["19.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.005340", "end": "2025-12-18 00:40:17.492153", "msg": "", "rc": 0, "start": "2025-12-18 00:40:17.486813", "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-18 00:40:17.515401", "msg": "", "rc": 0, "start": "2025-12-18 00:40:17.510545", "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.005361", "end": "2025-12-18 00:40:17.524900", "msg": "", "rc": 0, "start": "2025-12-18 00:40:17.519539", "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.003467", "end": "2025-12-18 00:40:17.546657", "msg": "", "rc": 0, "start": "2025-12-18 00:40:17.543190", "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.007165", "end": "2025-12-18 00:40:17.576681", "msg": "", "rc": 0, "start": "2025-12-18 00:40:17.569516", "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.003211", "end": "2025-12-18 00:39:51.070330", "msg": "", "rc": 0, "start": "2025-12-18 00:39:51.067119", "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.003098", "end": "2025-12-18 00:39:44.490284", "msg": "", "rc": 0, "start": "2025-12-18 00:39:44.487186", "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.011925", "end": "2025-12-18 00:40:18.170611", "msg": "", "rc": 0, "start": "2025-12-18 00:40:18.158686", "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.012808", "end": "2025-12-18 00:40:18.208778", "msg": "", "rc": 0, "start": "2025-12-18 00:40:18.195970", "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.003117", "end": "2025-12-18 00:40:18.470088", "msg": "", "rc": 0, "start": "2025-12-18 00:40:18.466971", "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.002932", "end": "2025-12-18 00:39:47.664557", "msg": "", "rc": 0, "start": "2025-12-18 00:39:47.661625", "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-18 00:39:54.361593", "msg": "", "rc": 0, "start": "2025-12-18 00:39:54.359058", "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.003844", "end": "2025-12-17 21:40:18.679636", "msg": "", "rc": 0, "start": "2025-12-17 21:40:18.675792", "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.002963", "end": "2025-12-18 00:40:18.881503", "msg": "", "rc": 0, "start": "2025-12-18 00:40:18.878540", "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.004419", "end": "2025-12-18 00:40:19.026580", "msg": "", "rc": 0, "start": "2025-12-18 00:40:19.022161", "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.028883", "end": "2025-12-18 00:40:18.883155", "msg": "", "rc": 0, "start": "2025-12-18 00:40:18.854272", "stderr": "", "stderr_lines": [], "stdout": "34.3°C", "stdout_lines": ["34.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.004059", "end": "2025-12-18 00:40:19.419429", "msg": "", "rc": 0, "start": "2025-12-18 00:40:19.415370", "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.004078", "end": "2025-12-18 00:40:19.423265", "msg": "", "rc": 0, "start": "2025-12-18 00:40:19.419187", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
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.004836", "end": "2025-12-18 00:40:19.426795", "msg": "", "rc": 0, "start": "2025-12-18 00:40:19.421959", "stderr": "", "stderr_lines": [], "stdout": "0.64", "stdout_lines": ["0.64"]}
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.005030", "end": "2025-12-18 00:40:19.444438", "msg": "", "rc": 0, "start": "2025-12-18 00:40:19.439408", "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.006424", "end": "2025-12-18 00:40:19.462480", "msg": "", "rc": 0, "start": "2025-12-18 00:40:19.456056", "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.005982", "end": "2025-12-18 00:39:53.011253", "msg": "", "rc": 0, "start": "2025-12-18 00:39:53.005271", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
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.005176", "end": "2025-12-18 00:39:46.387599", "msg": "", "rc": 0, "start": "2025-12-18 00:39:46.382423", "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.010290", "end": "2025-12-18 00:40:20.171692", "msg": "", "rc": 0, "start": "2025-12-18 00:40:20.161402", "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.011029", "end": "2025-12-18 00:40:20.230496", "msg": "", "rc": 0, "start": "2025-12-18 00:40:20.219467", "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.005678", "end": "2025-12-18 00:40:20.390874", "msg": "", "rc": 0, "start": "2025-12-18 00:40:20.385196", "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.005283", "end": "2025-12-18 00:39:49.540937", "msg": "", "rc": 0, "start": "2025-12-18 00:39:49.535654", "stderr": "", "stderr_lines": [], "stdout": "0.49", "stdout_lines": ["0.49"]}
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.004209", "end": "2025-12-18 00:39:56.359178", "msg": "", "rc": 0, "start": "2025-12-18 00:39:56.354969", "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.006115", "end": "2025-12-17 21:40:20.695314", "msg": "", "rc": 0, "start": "2025-12-17 21:40:20.689199", "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.005444", "end": "2025-12-18 00:40:20.820052", "msg": "", "rc": 0, "start": "2025-12-18 00:40:20.814608", "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.008560", "end": "2025-12-18 00:40:20.928706", "msg": "", "rc": 0, "start": "2025-12-18 00:40:20.920146", "stderr": "", "stderr_lines": [], "stdout": "1.09", "stdout_lines": ["1.09"]}
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-18 00:40:20.811623", "msg": "", "rc": 0, "start": "2025-12-18 00:40:20.786973", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:40:11 up 22 days, 11:31, 1 user, load average: 0.09, 0.13, 0.10\nDisk Usage: 23%\nMemory Usage: 79.2%\nCPU Load: 0.16\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:40:11 up 3 days, 14:12, 1 user, load average: 0.06, 0.20, 0.22\nDisk Usage: 22%\nMemory Usage: 22.8%\nCPU Load: 0.05\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:40:11 up 22 days, 11:51, 1 user, load average: 0.75, 0.44, 0.54\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.64\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:40:11 up 22 days, 13:04, 1 user, load average: 0.55, 0.56, 0.56\nDisk Usage: 14%\nMemory Usage: 60.1%\nCPU Load: 0.59\nCPU Temp: 51.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:40:11 up 22 days, 13:50, 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:40:13 up 15 days, 14:06, 1 user, load average: 0.22, 0.12, 0.07\nDisk Usage: 21%\nMemory Usage: 19.0%\nCPU Load: 0.34\nCPU Temp: 34.3°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:40:12 up 194 days, 16:13, 1 user, load average: 0.13, 0.15, 0.16\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.19\nCPU Temp: 34.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:40:12 up 194 days, 16:13, 1 user, load average: 0.04, 0.10, 0.09\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.04\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:39:45 up 11 days, 12:29, 0 user, load average: 0.26, 0.15, 0.10\nDisk Usage: 48%\nMemory Usage: 70.7%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:39:39 up 18 days, 8:41, 0 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 69.2%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:40:12 up 3 days, 14:11, 1 user, load average: 0.02, 0.05, 0.01\nDisk Usage: 1%\nMemory Usage: 36.7%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:39:41 up 21 days, 3:33, 0 user, load average: 0.39, 0.50, 0.54\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.49\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:40PM up 22 days, 11:30, 1 user, load averages: 0.14, 0.17, 0.19\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:39:48 up 17 days, 13:55, 0 user, load average: 0.28, 0.17, 0.21\nDisk Usage: 76%\nMemory Usage: 54.4%\nCPU Load: 0.39\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:40:13 up 3 days, 14:11, 1 user, load average: 0.12, 0.05, 0.01\nDisk Usage: 79%\nMemory Usage: 13.9%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:40:13 up 4:50, 1 user, load average: 1.11, 0.99, 0.91\nDisk Usage: 1%\nMemory Usage: 12.9%\nCPU Load: 1.09\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-18T05:40:21.860946+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `7f387b5c9f81488a9f2a4a3be4259b08` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T05:45:00.000966+00:00 |
| **Fin** | 2025-12-18T05:45:22.702235+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.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: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004107", "end": "2025-12-18 00:45:12.106636", "msg": "", "rc": 0, "start": "2025-12-18 00:45:12.102529", "stderr": "", "stderr_lines": [], "stdout": " 00:45:12 up 22 days, 13:55, 1 user, load average: 0.17, 0.05, 0.01", "stdout_lines": [" 00:45:12 up 22 days, 13:55, 1 user, load average: 0.17, 0.05, 0.01"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003148", "end": "2025-12-18 00:45:12.132800", "msg": "", "rc": 0, "start": "2025-12-18 00:45:12.129652", "stderr": "", "stderr_lines": [], "stdout": " 00:45:12 up 3 days, 14:17, 1 user, load average: 0.26, 0.17, 0.19", "stdout_lines": [" 00:45:12 up 3 days, 14:17, 1 user, load average: 0.26, 0.17, 0.19"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003738", "end": "2025-12-18 00:45:12.128336", "msg": "", "rc": 0, "start": "2025-12-18 00:45:12.124598", "stderr": "", "stderr_lines": [], "stdout": " 00:45:12 up 22 days, 13:09, 1 user, load average: 0.84, 0.69, 0.61", "stdout_lines": [" 00:45:12 up 22 days, 13:09, 1 user, load average: 0.84, 0.69, 0.61"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008460", "end": "2025-12-18 00:45:12.773139", "msg": "", "rc": 0, "start": "2025-12-18 00:45:12.764679", "stderr": "", "stderr_lines": [], "stdout": " 00:45:12 up 194 days, 16:18, 1 user, load average: 0.05, 0.10, 0.09", "stdout_lines": [" 00:45:12 up 194 days, 16:18, 1 user, load average: 0.05, 0.10, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009311", "end": "2025-12-18 00:45:12.814696", "msg": "", "rc": 0, "start": "2025-12-18 00:45:12.805385", "stderr": "", "stderr_lines": [], "stdout": " 00:45:12 up 194 days, 16:18, 1 user, load average: 0.15, 0.19, 0.18", "stdout_lines": [" 00:45:12 up 194 days, 16:18, 1 user, load average: 0.15, 0.19, 0.18"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003762", "end": "2025-12-18 00:45:13.098076", "msg": "", "rc": 0, "start": "2025-12-18 00:45:12.094314", "stderr": "", "stderr_lines": [], "stdout": " 00:45:12 up 22 days, 11:36, 1 user, load average: 0.05, 0.11, 0.09", "stdout_lines": [" 00:45:12 up 22 days, 11:36, 1 user, load average: 0.05, 0.11, 0.09"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004040", "end": "2025-12-18 00:45:13.105870", "msg": "", "rc": 0, "start": "2025-12-18 00:45:12.101830", "stderr": "", "stderr_lines": [], "stdout": " 00:45:12 up 22 days, 11:56, 1 user, load average: 0.56, 0.70, 0.63", "stdout_lines": [" 00:45:12 up 22 days, 11:56, 1 user, load average: 0.56, 0.70, 0.63"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002851", "end": "2025-12-18 00:44:46.373621", "msg": "", "rc": 0, "start": "2025-12-18 00:44:46.370770", "stderr": "", "stderr_lines": [], "stdout": " 00:44:46 up 11 days, 12:34, 0 user, load average: 0.10, 0.20, 0.13", "stdout_lines": [" 00:44:46 up 11 days, 12:34, 0 user, load average: 0.10, 0.20, 0.13"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003615", "end": "2025-12-18 00:44:39.761091", "msg": "", "rc": 0, "start": "2025-12-18 00:44:39.757476", "stderr": "", "stderr_lines": [], "stdout": " 00:44:39 up 18 days, 8:46, 0 user, load average: 0.03, 0.02, 0.00", "stdout_lines": [" 00:44:39 up 18 days, 8:46, 0 user, load average: 0.03, 0.02, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004960", "end": "2025-12-18 00:45:13.551673", "msg": "", "rc": 0, "start": "2025-12-18 00:45:13.546713", "stderr": "", "stderr_lines": [], "stdout": " 00:45:13 up 3 days, 14:16, 1 user, load average: 0.13, 0.11, 0.04", "stdout_lines": [" 00:45:13 up 3 days, 14:16, 1 user, load average: 0.13, 0.11, 0.04"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019709", "end": "2025-12-18 00:45:13.484926", "msg": "", "rc": 0, "start": "2025-12-18 00:45:13.465217", "stderr": "", "stderr_lines": [], "stdout": " 00:45:13 up 15 days, 14:11, 1 user, load average: 0.14, 0.11, 0.08", "stdout_lines": [" 00:45:13 up 15 days, 14:11, 1 user, load average: 0.14, 0.11, 0.08"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003954", "end": "2025-12-18 00:44:42.662329", "msg": "", "rc": 0, "start": "2025-12-18 00:44:42.658375", "stderr": "", "stderr_lines": [], "stdout": " 00:44:42 up 21 days, 3:39, 0 user, load average: 0.39, 0.47, 0.52", "stdout_lines": [" 00:44:42 up 21 days, 3:39, 0 user, load average: 0.39, 0.47, 0.52"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002824", "end": "2025-12-18 00:44:49.466636", "msg": "", "rc": 0, "start": "2025-12-18 00:44:49.463812", "stderr": "", "stderr_lines": [], "stdout": " 00:44:49 up 17 days, 14:00, 0 user, load average: 0.16, 0.25, 0.24", "stdout_lines": [" 00:44:49 up 17 days, 14:00, 0 user, load average: 0.16, 0.25, 0.24"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004177", "end": "2025-12-17 21:45:13.810742", "msg": "", "rc": 0, "start": "2025-12-17 21:45:13.806565", "stderr": "", "stderr_lines": [], "stdout": " 9:45PM up 22 days, 11:35, 1 user, load averages: 0.11, 0.13, 0.16", "stdout_lines": [" 9:45PM up 22 days, 11:35, 1 user, load averages: 0.11, 0.13, 0.16"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007451", "end": "2025-12-18 00:45:14.168801", "msg": "", "rc": 0, "start": "2025-12-18 00:45:14.161350", "stderr": "", "stderr_lines": [], "stdout": " 00:45:14 up 4:55, 1 user, load average: 1.52, 1.16, 1.01", "stdout_lines": [" 00:45:14 up 4:55, 1 user, load average: 1.52, 1.16, 1.01"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003701", "end": "2025-12-18 00:45:13.974233", "msg": "", "rc": 0, "start": "2025-12-18 00:45:13.970532", "stderr": "", "stderr_lines": [], "stdout": " 00:45:13 up 3 days, 14:16, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 00:45:13 up 3 days, 14:16, 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.004135", "end": "2025-12-18 00:45:14.369117", "msg": "", "rc": 0, "start": "2025-12-18 00:45:14.364982", "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-18 00:45:14.380497", "msg": "", "rc": 0, "start": "2025-12-18 00:45:14.376352", "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.004771", "end": "2025-12-18 00:45:14.390340", "msg": "", "rc": 0, "start": "2025-12-18 00:45:14.385569", "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.004946", "end": "2025-12-18 00:45:14.414504", "msg": "", "rc": 0, "start": "2025-12-18 00:45:14.409558", "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.005416", "end": "2025-12-18 00:45:14.441414", "msg": "", "rc": 0, "start": "2025-12-18 00:45:14.435998", "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.005039", "end": "2025-12-18 00:44:47.937155", "msg": "", "rc": 0, "start": "2025-12-18 00:44:47.932116", "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.005670", "end": "2025-12-18 00:44:41.372611", "msg": "", "rc": 0, "start": "2025-12-18 00:44:41.366941", "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.010428", "end": "2025-12-18 00:45:15.087915", "msg": "", "rc": 0, "start": "2025-12-18 00:45:15.077487", "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-18 00:45:15.152916", "msg": "", "rc": 0, "start": "2025-12-18 00:45:15.141293", "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.007282", "end": "2025-12-18 00:45:15.330711", "msg": "", "rc": 0, "start": "2025-12-18 00:45:15.323429", "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.005394", "end": "2025-12-18 00:44:44.558635", "msg": "", "rc": 0, "start": "2025-12-18 00:44:44.553241", "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.004522", "end": "2025-12-18 00:44:51.242334", "msg": "", "rc": 0, "start": "2025-12-18 00:44:51.237812", "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.005462", "end": "2025-12-17 21:45:15.595835", "msg": "", "rc": 0, "start": "2025-12-17 21:45:15.590373", "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.005648", "end": "2025-12-18 00:45:15.763855", "msg": "", "rc": 0, "start": "2025-12-18 00:45:15.758207", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.018386", "end": "2025-12-18 00:45:16.183189", "msg": "", "rc": 0, "start": "2025-12-18 00:45:16.164803", "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.025496", "end": "2025-12-18 00:45:15.756507", "msg": "", "rc": 0, "start": "2025-12-18 00:45:15.731011", "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.004455", "end": "2025-12-18 00:45:16.259269", "msg": "", "rc": 0, "start": "2025-12-18 00:45:16.254814", "stderr": "", "stderr_lines": [], "stdout": "79.2%", "stdout_lines": ["79.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.004178", "end": "2025-12-18 00:45:16.283749", "msg": "", "rc": 0, "start": "2025-12-18 00:45:16.279571", "stderr": "", "stderr_lines": [], "stdout": "22.8%", "stdout_lines": ["22.8%"]}
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.004662", "end": "2025-12-18 00:45:16.291180", "msg": "", "rc": 0, "start": "2025-12-18 00:45:16.286518", "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.004987", "end": "2025-12-18 00:45:16.311721", "msg": "", "rc": 0, "start": "2025-12-18 00:45:16.306734", "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.005744", "end": "2025-12-18 00:45:16.342405", "msg": "", "rc": 0, "start": "2025-12-18 00:45:16.336661", "stderr": "", "stderr_lines": [], "stdout": "60.1%", "stdout_lines": ["60.1%"]}
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.004001", "end": "2025-12-18 00:44:49.842651", "msg": "", "rc": 0, "start": "2025-12-18 00:44:49.838650", "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.004803", "end": "2025-12-18 00:44:43.268218", "msg": "", "rc": 0, "start": "2025-12-18 00:44:43.263415", "stderr": "", "stderr_lines": [], "stdout": "69.2%", "stdout_lines": ["69.2%"]}
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.010959", "end": "2025-12-18 00:45:16.952027", "msg": "", "rc": 0, "start": "2025-12-18 00:45:16.941068", "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.011912", "end": "2025-12-18 00:45:16.990612", "msg": "", "rc": 0, "start": "2025-12-18 00:45:16.978700", "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.006091", "end": "2025-12-18 00:45:17.224815", "msg": "", "rc": 0, "start": "2025-12-18 00:45:17.218724", "stderr": "", "stderr_lines": [], "stdout": "36.9%", "stdout_lines": ["36.9%"]}
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.003460", "end": "2025-12-18 00:44:53.112107", "msg": "", "rc": 0, "start": "2025-12-18 00:44:53.108647", "stderr": "", "stderr_lines": [], "stdout": "55.5%", "stdout_lines": ["55.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.004995", "end": "2025-12-17 21:45:17.438178", "msg": "non-zero return code", "rc": 2, "start": "2025-12-17 21:45:17.433183", "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.005613", "end": "2025-12-18 00:44:46.458546", "msg": "", "rc": 0, "start": "2025-12-18 00:44:46.452933", "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.005577", "end": "2025-12-18 00:45:17.653556", "msg": "", "rc": 0, "start": "2025-12-18 00:45:17.647979", "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.009300", "end": "2025-12-18 00:45:18.079481", "msg": "", "rc": 0, "start": "2025-12-18 00:45:18.070181", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.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.025865", "end": "2025-12-18 00:45:17.633617", "msg": "", "rc": 0, "start": "2025-12-18 00:45:17.607752", "stderr": "", "stderr_lines": [], "stdout": "19.3%", "stdout_lines": ["19.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.005515", "end": "2025-12-18 00:45:18.155597", "msg": "", "rc": 0, "start": "2025-12-18 00:45:18.150082", "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.004898", "end": "2025-12-18 00:45:18.175488", "msg": "", "rc": 0, "start": "2025-12-18 00:45:18.170590", "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.005955", "end": "2025-12-18 00:45:18.193433", "msg": "", "rc": 0, "start": "2025-12-18 00:45:18.187478", "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.002901", "end": "2025-12-18 00:45:18.197844", "msg": "", "rc": 0, "start": "2025-12-18 00:45:18.194943", "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.006143", "end": "2025-12-18 00:45:18.214142", "msg": "", "rc": 0, "start": "2025-12-18 00:45:18.207999", "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.002492", "end": "2025-12-18 00:44:51.713308", "msg": "", "rc": 0, "start": "2025-12-18 00:44:51.710816", "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.003236", "end": "2025-12-18 00:44:45.119066", "msg": "", "rc": 0, "start": "2025-12-18 00:44:45.115830", "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.011919", "end": "2025-12-18 00:45:18.864194", "msg": "", "rc": 0, "start": "2025-12-18 00:45:18.852275", "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.013036", "end": "2025-12-18 00:45:18.886707", "msg": "", "rc": 0, "start": "2025-12-18 00:45:18.873671", "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.003182", "end": "2025-12-18 00:45:19.089570", "msg": "", "rc": 0, "start": "2025-12-18 00:45:19.086388", "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.003039", "end": "2025-12-18 00:44:48.286019", "msg": "", "rc": 0, "start": "2025-12-18 00:44:48.282980", "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.003911", "end": "2025-12-17 21:45:19.340767", "msg": "", "rc": 0, "start": "2025-12-17 21:45:19.336856", "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.002479", "end": "2025-12-18 00:44:55.048048", "msg": "", "rc": 0, "start": "2025-12-18 00:44:55.045569", "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.002980", "end": "2025-12-18 00:45:19.503517", "msg": "", "rc": 0, "start": "2025-12-18 00:45:19.500537", "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.004604", "end": "2025-12-18 00:45:19.943531", "msg": "", "rc": 0, "start": "2025-12-18 00:45:19.938927", "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.028896", "end": "2025-12-18 00:45:19.545254", "msg": "", "rc": 0, "start": "2025-12-18 00:45:19.516358", "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.004182", "end": "2025-12-18 00:45:20.047482", "msg": "", "rc": 0, "start": "2025-12-18 00:45:20.043300", "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.004067", "end": "2025-12-18 00:45:20.065813", "msg": "", "rc": 0, "start": "2025-12-18 00:45:20.061746", "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.004534", "end": "2025-12-18 00:45:20.090047", "msg": "", "rc": 0, "start": "2025-12-18 00:45:20.085513", "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.005552", "end": "2025-12-18 00:45:20.114516", "msg": "", "rc": 0, "start": "2025-12-18 00:45:20.108964", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
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.005234", "end": "2025-12-18 00:45:20.118393", "msg": "", "rc": 0, "start": "2025-12-18 00:45:20.113159", "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.004249", "end": "2025-12-18 00:44:53.646421", "msg": "", "rc": 0, "start": "2025-12-18 00:44:53.642172", "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.005107", "end": "2025-12-18 00:44:47.022885", "msg": "", "rc": 0, "start": "2025-12-18 00:44:47.017778", "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.010229", "end": "2025-12-18 00:45:20.836972", "msg": "", "rc": 0, "start": "2025-12-18 00:45:20.826743", "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-18 00:45:20.855957", "msg": "", "rc": 0, "start": "2025-12-18 00:45:20.844838", "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.005812", "end": "2025-12-18 00:45:21.054384", "msg": "", "rc": 0, "start": "2025-12-18 00:45:21.048572", "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.005086", "end": "2025-12-18 00:44:50.173954", "msg": "", "rc": 0, "start": "2025-12-18 00:44:50.168868", "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.005978", "end": "2025-12-17 21:45:21.300431", "msg": "", "rc": 0, "start": "2025-12-17 21:45:21.294453", "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.004361", "end": "2025-12-18 00:44:57.007339", "msg": "", "rc": 0, "start": "2025-12-18 00:44:57.002978", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
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.007271", "end": "2025-12-18 00:45:21.870841", "msg": "", "rc": 0, "start": "2025-12-18 00:45:21.863570", "stderr": "", "stderr_lines": [], "stdout": "1.52", "stdout_lines": ["1.52"]}
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.005328", "end": "2025-12-18 00:45:21.480986", "msg": "", "rc": 0, "start": "2025-12-18 00:45:21.475658", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
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.024455", "end": "2025-12-18 00:45:21.426971", "msg": "", "rc": 0, "start": "2025-12-18 00:45:21.402516", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:12 up 3 days, 14:17, 1 user, load average: 0.26, 0.17, 0.19\nDisk Usage: 22%\nMemory Usage: 22.8%\nCPU Load: 0.37\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:12 up 22 days, 11:36, 1 user, load average: 0.05, 0.11, 0.09\nDisk Usage: 23%\nMemory Usage: 79.2%\nCPU Load: 0.12\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:12 up 22 days, 11:56, 1 user, load average: 0.56, 0.70, 0.63\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.69\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:12 up 22 days, 13:09, 1 user, load average: 0.84, 0.69, 0.61\nDisk Usage: 14%\nMemory Usage: 60.1%\nCPU Load: 0.93\nCPU Temp: 51.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:12 up 22 days, 13:55, 1 user, load average: 0.17, 0.05, 0.01\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:13 up 15 days, 14:11, 1 user, load average: 0.14, 0.11, 0.08\nDisk Usage: 21%\nMemory Usage: 19.3%\nCPU Load: 0.19\nCPU Temp: 34.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:12 up 194 days, 16:18, 1 user, load average: 0.15, 0.19, 0.18\nDisk Usage: 6%\nMemory Usage: 12.6%\nCPU Load: 0.20\nCPU Temp: 33.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:12 up 194 days, 16:18, 1 user, load average: 0.05, 0.10, 0.09\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.13\nCPU Temp: 30.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:44:46 up 11 days, 12:34, 0 user, load average: 0.10, 0.20, 0.13\nDisk Usage: 48%\nMemory Usage: 70.9%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:44:39 up 18 days, 8:46, 0 user, load average: 0.03, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 69.2%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:13 up 3 days, 14:16, 1 user, load average: 0.13, 0.11, 0.04\nDisk Usage: 1%\nMemory Usage: 36.9%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:44:42 up 21 days, 3:39, 0 user, load average: 0.39, 0.47, 0.52\nDisk Usage: 28%\nMemory Usage: 27.1%\nCPU Load: 0.55\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:44:49 up 17 days, 14:00, 0 user, load average: 0.16, 0.25, 0.24\nDisk Usage: 76%\nMemory Usage: 55.5%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:45PM up 22 days, 11:35, 1 user, load averages: 0.11, 0.13, 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:45:13 up 3 days, 14:16, 1 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 79%\nMemory Usage: 14.1%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 00:45:14 up 4:55, 1 user, load average: 1.52, 1.16, 1.01\nDisk Usage: 1%\nMemory Usage: 12.8%\nCPU Load: 1.52\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-18T05:45:22.748185+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `b724396146f44b488e7d58f16dde5225` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T13:59:03.729228+00:00 |
| **Fin** | 2025-12-18T14:00:11.887241+00:00 |
| **Durée** | 68.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: [hp2.i7.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp.nas.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: [hp.truenas.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.truenas.home] => {"changed": false, "ping": "pong"}
ok: [automate.prod.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: [mimi.pc.home]
ok: [hp2.i7.home]
ok: [hp3.i5.home]
ok: [ali2v.xeon.home]
ok: [dev.lab.home]
ok: [raspi.4gb.home]
ok: [media.labb.home]
ok: [raspi.8gb.home]
ok: [ali2v.truenas.home]
ok: [orangepi.pc.home]
ok: [hp.truenas.home]
ok: [automate.prod.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.003760", "end": "2025-12-18 08:59:48.436445", "msg": "", "rc": 0, "start": "2025-12-18 08:59:48.432685", "stderr": "", "stderr_lines": [], "stdout": " 08:59:48 up 22 days, 22:10, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 08:59:48 up 22 days, 22:10, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003079", "end": "2025-12-18 08:59:48.457371", "msg": "", "rc": 0, "start": "2025-12-18 08:59:48.454292", "stderr": "", "stderr_lines": [], "stdout": " 08:59:48 up 3 days, 22:32, 1 user, load average: 0.12, 0.15, 0.11", "stdout_lines": [" 08:59:48 up 3 days, 22:32, 1 user, load average: 0.12, 0.15, 0.11"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003286", "end": "2025-12-18 08:59:48.446379", "msg": "", "rc": 0, "start": "2025-12-18 08:59:48.443093", "stderr": "", "stderr_lines": [], "stdout": " 08:59:48 up 22 days, 19:51, 1 user, load average: 0.21, 0.22, 0.19", "stdout_lines": [" 08:59:48 up 22 days, 19:51, 1 user, load average: 0.21, 0.22, 0.19"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003891", "end": "2025-12-18 08:59:48.524383", "msg": "", "rc": 0, "start": "2025-12-18 08:59:48.520492", "stderr": "", "stderr_lines": [], "stdout": " 08:59:48 up 22 days, 21:24, 1 user, load average: 0.84, 0.62, 0.61", "stdout_lines": [" 08:59:48 up 22 days, 21:24, 1 user, load average: 0.84, 0.62, 0.61"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004927", "end": "2025-12-18 08:59:49.435478", "msg": "", "rc": 0, "start": "2025-12-18 08:59:48.430551", "stderr": "", "stderr_lines": [], "stdout": " 08:59:48 up 22 days, 20:10, 1 user, load average: 0.72, 0.69, 0.68", "stdout_lines": [" 08:59:48 up 22 days, 20:10, 1 user, load average: 0.72, 0.69, 0.68"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002945", "end": "2025-12-18 08:59:22.537697", "msg": "", "rc": 0, "start": "2025-12-18 08:59:22.534752", "stderr": "", "stderr_lines": [], "stdout": " 08:59:22 up 11 days, 20:48, 0 user, load average: 0.13, 0.18, 0.15", "stdout_lines": [" 08:59:22 up 11 days, 20:48, 0 user, load average: 0.13, 0.18, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009227", "end": "2025-12-18 08:59:49.979881", "msg": "", "rc": 0, "start": "2025-12-18 08:59:49.970654", "stderr": "", "stderr_lines": [], "stdout": " 08:59:49 up 195 days, 32 min, 1 user, load average: 0.21, 0.16, 0.18", "stdout_lines": [" 08:59:49 up 195 days, 32 min, 1 user, load average: 0.21, 0.16, 0.18"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008421", "end": "2025-12-18 08:59:50.211525", "msg": "", "rc": 0, "start": "2025-12-18 08:59:50.203104", "stderr": "", "stderr_lines": [], "stdout": " 08:59:50 up 195 days, 32 min, 1 user, load average: 0.21, 0.13, 0.10", "stdout_lines": [" 08:59:50 up 195 days, 32 min, 1 user, load average: 0.21, 0.13, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003253", "end": "2025-12-18 08:59:16.604638", "msg": "", "rc": 0, "start": "2025-12-18 08:59:16.601385", "stderr": "", "stderr_lines": [], "stdout": " 08:59:16 up 18 days, 17:01, 0 user, load average: 0.14, 0.06, 0.01", "stdout_lines": [" 08:59:16 up 18 days, 17:01, 0 user, load average: 0.14, 0.06, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004843", "end": "2025-12-18 08:59:50.798803", "msg": "", "rc": 0, "start": "2025-12-18 08:59:50.793960", "stderr": "", "stderr_lines": [], "stdout": " 08:59:50 up 3 days, 22:31, 1 user, load average: 0.03, 0.05, 0.01", "stdout_lines": [" 08:59:50 up 3 days, 22:31, 1 user, load average: 0.03, 0.05, 0.01"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019963", "end": "2025-12-18 08:59:50.678401", "msg": "", "rc": 0, "start": "2025-12-18 08:59:50.658438", "stderr": "", "stderr_lines": [], "stdout": " 08:59:50 up 15 days, 22:26, 1 user, load average: 0.15, 0.05, 0.01", "stdout_lines": [" 08:59:50 up 15 days, 22:26, 1 user, load average: 0.15, 0.05, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003224", "end": "2025-12-18 08:59:19.619499", "msg": "", "rc": 0, "start": "2025-12-18 08:59:19.616275", "stderr": "", "stderr_lines": [], "stdout": " 08:59:19 up 21 days, 11:53, 0 user, load average: 0.70, 0.49, 0.47", "stdout_lines": [" 08:59:19 up 21 days, 11:53, 0 user, load average: 0.70, 0.49, 0.47"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007930", "end": "2025-12-18 08:59:26.492477", "msg": "", "rc": 0, "start": "2025-12-18 08:59:26.484547", "stderr": "", "stderr_lines": [], "stdout": " 08:59:26 up 17 days, 22:14, 0 user, load average: 0.36, 0.35, 0.20", "stdout_lines": [" 08:59:26 up 17 days, 22:14, 0 user, load average: 0.36, 0.35, 0.20"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004206", "end": "2025-12-18 05:59:51.821265", "msg": "", "rc": 0, "start": "2025-12-18 05:59:51.817059", "stderr": "", "stderr_lines": [], "stdout": " 5:59AM up 22 days, 19:49, 1 user, load averages: 0.24, 0.20, 0.19", "stdout_lines": [" 5:59AM up 22 days, 19:49, 1 user, load averages: 0.24, 0.20, 0.19"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003654", "end": "2025-12-18 08:59:51.969722", "msg": "", "rc": 0, "start": "2025-12-18 08:59:51.966068", "stderr": "", "stderr_lines": [], "stdout": " 08:59:51 up 3 days, 22:31, 1 user, load average: 0.51, 0.23, 0.09", "stdout_lines": [" 08:59:51 up 3 days, 22:31, 1 user, load average: 0.51, 0.23, 0.09"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.061083", "end": "2025-12-18 08:59:53.576160", "msg": "", "rc": 0, "start": "2025-12-18 08:59:53.515077", "stderr": "", "stderr_lines": [], "stdout": " 08:59:53 up 5:00, 1 user, load average: 3.21, 1.73, 1.24", "stdout_lines": [" 08:59:53 up 5:00, 1 user, load average: 3.21, 1.73, 1.24"]}
TASK [Get disk usage] **********************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004146", "end": "2025-12-18 08:59:55.208904", "msg": "", "rc": 0, "start": "2025-12-18 08:59:55.204758", "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.004958", "end": "2025-12-18 08:59:55.354397", "msg": "", "rc": 0, "start": "2025-12-18 08:59:55.349439", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004402", "end": "2025-12-18 08:59:55.373000", "msg": "", "rc": 0, "start": "2025-12-18 08:59:55.368598", "stderr": "", "stderr_lines": [], "stdout": "23%", "stdout_lines": ["23%"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005927", "end": "2025-12-18 08:59:55.496667", "msg": "", "rc": 0, "start": "2025-12-18 08:59:55.490740", "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.004794", "end": "2025-12-18 08:59:55.672574", "msg": "", "rc": 0, "start": "2025-12-18 08:59:55.667780", "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.005321", "end": "2025-12-18 08:59:29.624589", "msg": "", "rc": 0, "start": "2025-12-18 08:59:29.619268", "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.011602", "end": "2025-12-18 08:59:56.996592", "msg": "", "rc": 0, "start": "2025-12-18 08:59:56.984990", "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.005566", "end": "2025-12-18 08:59:22.975559", "msg": "", "rc": 0, "start": "2025-12-18 08:59:22.969993", "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.010620", "end": "2025-12-18 08:59:57.087366", "msg": "", "rc": 0, "start": "2025-12-18 08:59:57.076746", "stderr": "", "stderr_lines": [], "stdout": "3%", "stdout_lines": ["3%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025529", "end": "2025-12-18 08:59:57.597204", "msg": "", "rc": 0, "start": "2025-12-18 08:59:57.571675", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005800", "end": "2025-12-18 08:59:58.063137", "msg": "", "rc": 0, "start": "2025-12-18 08:59:58.057337", "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.005779", "end": "2025-12-18 05:59:58.304807", "msg": "", "rc": 0, "start": "2025-12-18 05:59:58.299028", "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.005290", "end": "2025-12-18 08:59:26.850079", "msg": "", "rc": 0, "start": "2025-12-18 08:59:26.844789", "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.008690", "end": "2025-12-18 08:59:33.685678", "msg": "", "rc": 0, "start": "2025-12-18 08:59:33.676988", "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.005266", "end": "2025-12-18 08:59:58.741834", "msg": "", "rc": 0, "start": "2025-12-18 08:59:58.736568", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.026828", "end": "2025-12-18 08:59:59.840995", "msg": "", "rc": 0, "start": "2025-12-18 08:59:59.814167", "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.004284", "end": "2025-12-18 09:00:00.072910", "msg": "", "rc": 0, "start": "2025-12-18 09:00:00.068626", "stderr": "", "stderr_lines": [], "stdout": "78.0%", "stdout_lines": ["78.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.004918", "end": "2025-12-18 09:00:00.095941", "msg": "", "rc": 0, "start": "2025-12-18 09:00:00.091023", "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.004262", "end": "2025-12-18 09:00:00.098981", "msg": "", "rc": 0, "start": "2025-12-18 09:00:00.094719", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.7%"]}
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.005444", "end": "2025-12-18 09:00:00.117804", "msg": "", "rc": 0, "start": "2025-12-18 09:00:00.112360", "stderr": "", "stderr_lines": [], "stdout": "58.6%", "stdout_lines": ["58.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.004907", "end": "2025-12-18 09:00:00.141778", "msg": "", "rc": 0, "start": "2025-12-18 09:00:00.136871", "stderr": "", "stderr_lines": [], "stdout": "9.1%", "stdout_lines": ["9.1%"]}
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.004054", "end": "2025-12-18 08:59:33.551872", "msg": "", "rc": 0, "start": "2025-12-18 08:59:33.547818", "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.004434", "end": "2025-12-18 08:59:26.823445", "msg": "", "rc": 0, "start": "2025-12-18 08:59:26.819011", "stderr": "", "stderr_lines": [], "stdout": "64.2%", "stdout_lines": ["64.2%"]}
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.010969", "end": "2025-12-18 09:00:00.959301", "msg": "", "rc": 0, "start": "2025-12-18 09:00:00.948332", "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.011941", "end": "2025-12-18 09:00:01.004705", "msg": "", "rc": 0, "start": "2025-12-18 09:00:00.992764", "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.005875", "end": "2025-12-18 09:00:01.464377", "msg": "", "rc": 0, "start": "2025-12-18 09:00:01.458502", "stderr": "", "stderr_lines": [], "stdout": "35.6%", "stdout_lines": ["35.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.005160", "end": "2025-12-18 06:00:01.588157", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 06:00:01.582997", "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.004149", "end": "2025-12-18 08:59:30.144110", "msg": "", "rc": 0, "start": "2025-12-18 08:59:30.139961", "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.009474", "end": "2025-12-18 08:59:36.956853", "msg": "", "rc": 0, "start": "2025-12-18 08:59:36.947379", "stderr": "", "stderr_lines": [], "stdout": "51.3%", "stdout_lines": ["51.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.025785", "end": "2025-12-18 09:00:01.769903", "msg": "", "rc": 0, "start": "2025-12-18 09:00:01.744118", "stderr": "", "stderr_lines": [], "stdout": "18.8%", "stdout_lines": ["18.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.005331", "end": "2025-12-18 09:00:02.083220", "msg": "", "rc": 0, "start": "2025-12-18 09:00:02.077889", "stderr": "", "stderr_lines": [], "stdout": "14.2%", "stdout_lines": ["14.2%"]}
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.008035", "end": "2025-12-18 09:00:03.094990", "msg": "", "rc": 0, "start": "2025-12-18 09:00:03.086955", "stderr": "", "stderr_lines": [], "stdout": "13.3%", "stdout_lines": ["13.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.005924", "end": "2025-12-18 09:00:03.022300", "msg": "", "rc": 0, "start": "2025-12-18 09:00:03.016376", "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-18 09:00:03.015902", "msg": "", "rc": 0, "start": "2025-12-18 09:00:03.011084", "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.005696", "end": "2025-12-18 09:00:03.049733", "msg": "", "rc": 0, "start": "2025-12-18 09:00:03.044037", "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.006225", "end": "2025-12-18 09:00:03.096269", "msg": "", "rc": 0, "start": "2025-12-18 09:00:03.090044", "stderr": "", "stderr_lines": [], "stdout": "52.0°C", "stdout_lines": ["52.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.002894", "end": "2025-12-18 09:00:03.114548", "msg": "", "rc": 0, "start": "2025-12-18 09:00:03.111654", "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.002703", "end": "2025-12-18 08:59:36.632322", "msg": "", "rc": 0, "start": "2025-12-18 08:59:36.629619", "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.003324", "end": "2025-12-18 08:59:29.826241", "msg": "", "rc": 0, "start": "2025-12-18 08:59:29.822917", "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-18 09:00:04.119895", "msg": "", "rc": 0, "start": "2025-12-18 09:00:04.108082", "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.013100", "end": "2025-12-18 09:00:04.129206", "msg": "", "rc": 0, "start": "2025-12-18 09:00:04.116106", "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.003100", "end": "2025-12-18 09:00:04.718805", "msg": "", "rc": 0, "start": "2025-12-18 09:00:04.715705", "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.028936", "end": "2025-12-18 09:00:04.681663", "msg": "", "rc": 0, "start": "2025-12-18 09:00:04.652727", "stderr": "", "stderr_lines": [], "stdout": "33.9°C", "stdout_lines": ["33.9°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.004113", "end": "2025-12-18 06:00:04.818541", "msg": "", "rc": 0, "start": "2025-12-18 06:00:04.814428", "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.002918", "end": "2025-12-18 08:59:40.170719", "msg": "", "rc": 0, "start": "2025-12-18 08:59:40.167801", "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.002955", "end": "2025-12-18 08:59:33.419108", "msg": "", "rc": 0, "start": "2025-12-18 08:59:33.416153", "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-18 09:00:05.416965", "msg": "", "rc": 0, "start": "2025-12-18 09:00:05.414040", "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.004209", "end": "2025-12-18 09:00:06.588458", "msg": "", "rc": 0, "start": "2025-12-18 09:00:06.584249", "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.004149", "end": "2025-12-18 09:00:06.485027", "msg": "", "rc": 0, "start": "2025-12-18 09:00:06.480878", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
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.004725", "end": "2025-12-18 09:00:06.479406", "msg": "", "rc": 0, "start": "2025-12-18 09:00:06.474681", "stderr": "", "stderr_lines": [], "stdout": "0.54", "stdout_lines": ["0.54"]}
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.004983", "end": "2025-12-18 09:00:06.576259", "msg": "", "rc": 0, "start": "2025-12-18 09:00:06.571276", "stderr": "", "stderr_lines": [], "stdout": "1.28", "stdout_lines": ["1.28"]}
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.005939", "end": "2025-12-18 09:00:06.658166", "msg": "", "rc": 0, "start": "2025-12-18 09:00:06.652227", "stderr": "", "stderr_lines": [], "stdout": "0.74", "stdout_lines": ["0.74"]}
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.005137", "end": "2025-12-18 09:00:06.675241", "msg": "", "rc": 0, "start": "2025-12-18 09:00:06.670104", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.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.005583", "end": "2025-12-18 08:59:40.167334", "msg": "", "rc": 0, "start": "2025-12-18 08:59:40.161751", "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.005185", "end": "2025-12-18 08:59:33.407726", "msg": "", "rc": 0, "start": "2025-12-18 08:59:33.402541", "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.010006", "end": "2025-12-18 09:00:07.539848", "msg": "", "rc": 0, "start": "2025-12-18 09:00:07.529842", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
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.011193", "end": "2025-12-18 09:00:07.538917", "msg": "", "rc": 0, "start": "2025-12-18 09:00:07.527724", "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.005679", "end": "2025-12-18 09:00:08.126734", "msg": "", "rc": 0, "start": "2025-12-18 09:00:08.121055", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
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.004782", "end": "2025-12-18 08:59:36.743665", "msg": "", "rc": 0, "start": "2025-12-18 08:59:36.738883", "stderr": "", "stderr_lines": [], "stdout": "0.61", "stdout_lines": ["0.61"]}
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.004835", "end": "2025-12-18 08:59:43.561081", "msg": "", "rc": 0, "start": "2025-12-18 08:59:43.556246", "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.006198", "end": "2025-12-18 06:00:08.277415", "msg": "", "rc": 0, "start": "2025-12-18 06:00:08.271217", "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.024496", "end": "2025-12-18 09:00:08.313874", "msg": "", "rc": 0, "start": "2025-12-18 09:00:08.289378", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
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.005434", "end": "2025-12-18 09:00:08.754840", "msg": "", "rc": 0, "start": "2025-12-18 09:00:08.749406", "stderr": "", "stderr_lines": [], "stdout": "0.55", "stdout_lines": ["0.55"]}
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.031658", "end": "2025-12-18 09:00:09.740372", "msg": "", "rc": 0, "start": "2025-12-18 09:00:09.708714", "stderr": "", "stderr_lines": [], "stdout": "3.52", "stdout_lines": ["3.52"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:59:48 up 3 days, 22:32, 1 user, load average: 0.12, 0.15, 0.11\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 0.17\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:59:48 up 22 days, 19:51, 1 user, load average: 0.21, 0.22, 0.19\nDisk Usage: 23%\nMemory Usage: 78.0%\nCPU Load: 0.54\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:59:48 up 22 days, 20:10, 1 user, load average: 0.72, 0.69, 0.68\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 1.28\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:59:48 up 22 days, 21:24, 1 user, load average: 0.84, 0.62, 0.61\nDisk Usage: 14%\nMemory Usage: 58.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: 08:59:48 up 22 days, 22:10, 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:59:50 up 15 days, 22:26, 1 user, load average: 0.15, 0.05, 0.01\nDisk Usage: 21%\nMemory Usage: 18.8%\nCPU Load: 0.19\nCPU Temp: 33.9°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:59:49 up 195 days, 32 min, 1 user, load average: 0.21, 0.16, 0.18\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.16\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:59:50 up 195 days, 32 min, 1 user, load average: 0.21, 0.13, 0.10\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.24\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:59:22 up 11 days, 20:48, 0 user, load average: 0.13, 0.18, 0.15\nDisk Usage: 48%\nMemory Usage: 70.9%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:59:16 up 18 days, 17:01, 0 user, load average: 0.14, 0.06, 0.01\nDisk Usage: 24%\nMemory Usage: 64.2%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:59:50 up 3 days, 22:31, 1 user, load average: 0.03, 0.05, 0.01\nDisk Usage: 1%\nMemory Usage: 35.6%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:59:19 up 21 days, 11:53, 0 user, load average: 0.70, 0.49, 0.47\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: 08:59:26 up 17 days, 22:14, 0 user, load average: 0.36, 0.35, 0.20\nDisk Usage: 76%\nMemory Usage: 51.3%\nCPU Load: 0.28\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 5:59AM up 22 days, 19:49, 1 user, load averages: 0.24, 0.20, 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: 08:59:51 up 3 days, 22:31, 1 user, load average: 0.51, 0.23, 0.09\nDisk Usage: 79%\nMemory Usage: 14.2%\nCPU Load: 0.55\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 08:59:53 up 5:00, 1 user, load average: 3.21, 1.73, 1.24\nDisk Usage: 1%\nMemory Usage: 13.3%\nCPU Load: 3.52\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-18T14:00:11.987037+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `32d43c3bd62a4d59b55dab3781fa26b1` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T14:05:00.004358+00:00 |
| **Fin** | 2025-12-18T14:05:23.970274+00:00 |
| **Durée** | 24.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: [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: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003278", "end": "2025-12-18 09:05:11.544138", "msg": "", "rc": 0, "start": "2025-12-18 09:05:11.540860", "stderr": "", "stderr_lines": [], "stdout": " 09:05:11 up 22 days, 20:16, 1 user, load average: 0.32, 0.54, 0.63", "stdout_lines": [" 09:05:11 up 22 days, 20:16, 1 user, load average: 0.32, 0.54, 0.63"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003881", "end": "2025-12-18 09:05:11.549748", "msg": "", "rc": 0, "start": "2025-12-18 09:05:11.545867", "stderr": "", "stderr_lines": [], "stdout": " 09:05:11 up 22 days, 22:15, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 09:05:11 up 22 days, 22:15, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002858", "end": "2025-12-18 09:05:11.574484", "msg": "", "rc": 0, "start": "2025-12-18 09:05:11.571626", "stderr": "", "stderr_lines": [], "stdout": " 09:05:11 up 3 days, 22:37, 1 user, load average: 0.15, 0.18, 0.13", "stdout_lines": [" 09:05:11 up 3 days, 22:37, 1 user, load average: 0.15, 0.18, 0.13"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004172", "end": "2025-12-18 09:05:11.582915", "msg": "", "rc": 0, "start": "2025-12-18 09:05:11.578743", "stderr": "", "stderr_lines": [], "stdout": " 09:05:11 up 22 days, 21:29, 1 user, load average: 0.79, 0.67, 0.62", "stdout_lines": [" 09:05:11 up 22 days, 21:29, 1 user, load average: 0.79, 0.67, 0.62"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002814", "end": "2025-12-18 09:04:44.746020", "msg": "", "rc": 0, "start": "2025-12-18 09:04:44.743206", "stderr": "", "stderr_lines": [], "stdout": " 09:04:44 up 11 days, 20:54, 0 user, load average: 0.11, 0.15, 0.13", "stdout_lines": [" 09:04:44 up 11 days, 20:54, 0 user, load average: 0.11, 0.15, 0.13"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008511", "end": "2025-12-18 09:05:12.215408", "msg": "", "rc": 0, "start": "2025-12-18 09:05:12.206897", "stderr": "", "stderr_lines": [], "stdout": " 09:05:12 up 195 days, 38 min, 1 user, load average: 0.19, 0.12, 0.10", "stdout_lines": [" 09:05:12 up 195 days, 38 min, 1 user, load average: 0.19, 0.12, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009286", "end": "2025-12-18 09:05:12.259258", "msg": "", "rc": 0, "start": "2025-12-18 09:05:12.249972", "stderr": "", "stderr_lines": [], "stdout": " 09:05:12 up 195 days, 38 min, 1 user, load average: 0.28, 0.16, 0.17", "stdout_lines": [" 09:05:12 up 195 days, 38 min, 1 user, load average: 0.28, 0.16, 0.17"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004463", "end": "2025-12-18 09:05:12.538322", "msg": "", "rc": 0, "start": "2025-12-18 09:05:11.533859", "stderr": "", "stderr_lines": [], "stdout": " 09:05:11 up 22 days, 19:56, 1 user, load average: 0.14, 0.21, 0.19", "stdout_lines": [" 09:05:11 up 22 days, 19:56, 1 user, load average: 0.14, 0.21, 0.19"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004066", "end": "2025-12-18 09:04:38.474735", "msg": "", "rc": 0, "start": "2025-12-18 09:04:38.470669", "stderr": "", "stderr_lines": [], "stdout": " 09:04:38 up 18 days, 17:06, 0 user, load average: 0.02, 0.05, 0.00", "stdout_lines": [" 09:04:38 up 18 days, 17:06, 0 user, load average: 0.02, 0.05, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004953", "end": "2025-12-18 09:05:12.706902", "msg": "", "rc": 0, "start": "2025-12-18 09:05:12.701949", "stderr": "", "stderr_lines": [], "stdout": " 09:05:12 up 3 days, 22:36, 1 user, load average: 0.08, 0.03, 0.01", "stdout_lines": [" 09:05:12 up 3 days, 22:36, 1 user, load average: 0.08, 0.03, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003430", "end": "2025-12-18 09:04:41.386928", "msg": "", "rc": 0, "start": "2025-12-18 09:04:41.383498", "stderr": "", "stderr_lines": [], "stdout": " 09:04:41 up 21 days, 11:58, 0 user, load average: 0.35, 0.39, 0.43", "stdout_lines": [" 09:04:41 up 21 days, 11:58, 0 user, load average: 0.35, 0.39, 0.43"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002986", "end": "2025-12-18 09:04:48.289539", "msg": "", "rc": 0, "start": "2025-12-18 09:04:48.286553", "stderr": "", "stderr_lines": [], "stdout": " 09:04:48 up 17 days, 22:20, 0 user, load average: 0.14, 0.25, 0.19", "stdout_lines": [" 09:04:48 up 17 days, 22:20, 0 user, load average: 0.14, 0.25, 0.19"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004212", "end": "2025-12-18 06:05:12.983776", "msg": "", "rc": 0, "start": "2025-12-18 06:05:12.979564", "stderr": "", "stderr_lines": [], "stdout": " 6:05AM up 22 days, 19:55, 1 user, load averages: 0.20, 0.19, 0.17", "stdout_lines": [" 6:05AM up 22 days, 19:55, 1 user, load averages: 0.20, 0.19, 0.17"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019711", "end": "2025-12-18 09:05:12.918080", "msg": "", "rc": 0, "start": "2025-12-18 09:05:12.898369", "stderr": "", "stderr_lines": [], "stdout": " 09:05:12 up 15 days, 22:31, 1 user, load average: 0.23, 0.10, 0.03", "stdout_lines": [" 09:05:12 up 15 days, 22:31, 1 user, load average: 0.23, 0.10, 0.03"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005802", "end": "2025-12-18 09:05:13.751221", "msg": "", "rc": 0, "start": "2025-12-18 09:05:13.745419", "stderr": "", "stderr_lines": [], "stdout": " 09:05:13 up 5:06, 1 user, load average: 1.33, 1.41, 1.25", "stdout_lines": [" 09:05:13 up 5:06, 1 user, load average: 1.33, 1.41, 1.25"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.005073", "end": "2025-12-18 09:05:14.114138", "msg": "", "rc": 0, "start": "2025-12-18 09:05:13.109065", "stderr": "", "stderr_lines": [], "stdout": " 09:05:13 up 3 days, 22:36, 1 user, load average: 0.04, 0.25, 0.15", "stdout_lines": [" 09:05:13 up 3 days, 22:36, 1 user, load average: 0.04, 0.25, 0.15"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004260", "end": "2025-12-18 09:05:14.524095", "msg": "", "rc": 0, "start": "2025-12-18 09:05:14.519835", "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.004174", "end": "2025-12-18 09:05:14.544264", "msg": "", "rc": 0, "start": "2025-12-18 09:05:14.540090", "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.004573", "end": "2025-12-18 09:05:14.551247", "msg": "", "rc": 0, "start": "2025-12-18 09:05:14.546674", "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.004599", "end": "2025-12-18 09:05:14.590214", "msg": "", "rc": 0, "start": "2025-12-18 09:05:14.585615", "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-18 09:05:14.621144", "msg": "", "rc": 0, "start": "2025-12-18 09:05:14.615568", "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.005224", "end": "2025-12-18 09:04:47.750638", "msg": "", "rc": 0, "start": "2025-12-18 09:04:47.745414", "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.005579", "end": "2025-12-18 09:04:41.042948", "msg": "", "rc": 0, "start": "2025-12-18 09:04:41.037369", "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.013489", "end": "2025-12-18 09:05:15.300895", "msg": "", "rc": 0, "start": "2025-12-18 09:05:15.287406", "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.012085", "end": "2025-12-18 09:05:15.323868", "msg": "", "rc": 0, "start": "2025-12-18 09:05:15.311783", "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.006296", "end": "2025-12-18 09:05:15.483201", "msg": "", "rc": 0, "start": "2025-12-18 09:05:15.476905", "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.005231", "end": "2025-12-18 09:04:44.195602", "msg": "", "rc": 0, "start": "2025-12-18 09:04:44.190371", "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.005310", "end": "2025-12-18 06:05:15.782531", "msg": "", "rc": 0, "start": "2025-12-18 06:05:15.777221", "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.005221", "end": "2025-12-18 09:04:51.123908", "msg": "", "rc": 0, "start": "2025-12-18 09:04:51.118687", "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.005516", "end": "2025-12-18 09:05:15.890981", "msg": "", "rc": 0, "start": "2025-12-18 09:05:15.885465", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007931", "end": "2025-12-18 09:05:16.717059", "msg": "", "rc": 0, "start": "2025-12-18 09:05:16.709128", "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.026546", "end": "2025-12-18 09:05:16.153030", "msg": "", "rc": 0, "start": "2025-12-18 09:05:16.126484", "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.004175", "end": "2025-12-18 09:05:16.676949", "msg": "", "rc": 0, "start": "2025-12-18 09:05:16.672774", "stderr": "", "stderr_lines": [], "stdout": "78.0%", "stdout_lines": ["78.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.004681", "end": "2025-12-18 09:05:16.693481", "msg": "", "rc": 0, "start": "2025-12-18 09:05:16.688800", "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.004105", "end": "2025-12-18 09:05:16.706887", "msg": "", "rc": 0, "start": "2025-12-18 09:05:16.702782", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.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.005389", "end": "2025-12-18 09:05:16.722877", "msg": "", "rc": 0, "start": "2025-12-18 09:05:16.717488", "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.005452", "end": "2025-12-18 09:05:16.739806", "msg": "", "rc": 0, "start": "2025-12-18 09:05:16.734354", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.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.003869", "end": "2025-12-18 09:04:49.866414", "msg": "", "rc": 0, "start": "2025-12-18 09:04:49.862545", "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.004271", "end": "2025-12-18 09:04:43.160858", "msg": "", "rc": 0, "start": "2025-12-18 09:04:43.156587", "stderr": "", "stderr_lines": [], "stdout": "64.5%", "stdout_lines": ["64.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.011063", "end": "2025-12-18 09:05:17.364047", "msg": "", "rc": 0, "start": "2025-12-18 09:05:17.352984", "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.011967", "end": "2025-12-18 09:05:17.397314", "msg": "", "rc": 0, "start": "2025-12-18 09:05:17.385347", "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.006601", "end": "2025-12-18 09:05:17.653246", "msg": "", "rc": 0, "start": "2025-12-18 09:05:17.646645", "stderr": "", "stderr_lines": [], "stdout": "35.8%", "stdout_lines": ["35.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.004561", "end": "2025-12-18 09:04:46.351588", "msg": "", "rc": 0, "start": "2025-12-18 09:04:46.347027", "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.005035", "end": "2025-12-18 06:05:17.834857", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 06:05:17.829822", "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.003699", "end": "2025-12-18 09:04:53.188210", "msg": "", "rc": 0, "start": "2025-12-18 09:04:53.184511", "stderr": "", "stderr_lines": [], "stdout": "48.7%", "stdout_lines": ["48.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.005519", "end": "2025-12-18 09:05:18.066581", "msg": "", "rc": 0, "start": "2025-12-18 09:05:18.061062", "stderr": "", "stderr_lines": [], "stdout": "14.3%", "stdout_lines": ["14.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.007412", "end": "2025-12-18 09:05:18.928619", "msg": "", "rc": 0, "start": "2025-12-18 09:05:18.921207", "stderr": "", "stderr_lines": [], "stdout": "12.5%", "stdout_lines": ["12.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.025381", "end": "2025-12-18 09:05:18.301627", "msg": "", "rc": 0, "start": "2025-12-18 09:05:18.276246", "stderr": "", "stderr_lines": [], "stdout": "18.6%", "stdout_lines": ["18.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.005568", "end": "2025-12-18 09:05:18.830230", "msg": "", "rc": 0, "start": "2025-12-18 09:05:18.824662", "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.004802", "end": "2025-12-18 09:05:18.844634", "msg": "", "rc": 0, "start": "2025-12-18 09:05:18.839832", "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.005507", "end": "2025-12-18 09:05:18.848192", "msg": "", "rc": 0, "start": "2025-12-18 09:05:18.842685", "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.003531", "end": "2025-12-18 09:05:18.860897", "msg": "", "rc": 0, "start": "2025-12-18 09:05:18.857366", "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.006452", "end": "2025-12-18 09:05:18.865927", "msg": "", "rc": 0, "start": "2025-12-18 09:05:18.859475", "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.002554", "end": "2025-12-18 09:04:52.043351", "msg": "", "rc": 0, "start": "2025-12-18 09:04:52.040797", "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.003143", "end": "2025-12-18 09:04:45.311564", "msg": "", "rc": 0, "start": "2025-12-18 09:04:45.308421", "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.011648", "end": "2025-12-18 09:05:19.520543", "msg": "", "rc": 0, "start": "2025-12-18 09:05:19.508895", "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.012969", "end": "2025-12-18 09:05:19.562293", "msg": "", "rc": 0, "start": "2025-12-18 09:05:19.549324", "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.003155", "end": "2025-12-18 09:05:19.771897", "msg": "", "rc": 0, "start": "2025-12-18 09:05:19.768742", "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.003005", "end": "2025-12-18 09:04:48.481138", "msg": "", "rc": 0, "start": "2025-12-18 09:04:48.478133", "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.002436", "end": "2025-12-18 09:04:55.327252", "msg": "", "rc": 0, "start": "2025-12-18 09:04:55.324816", "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-18 06:05:20.026334", "msg": "", "rc": 0, "start": "2025-12-18 06:05:20.022538", "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.002968", "end": "2025-12-18 09:05:20.172228", "msg": "", "rc": 0, "start": "2025-12-18 09:05:20.169260", "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.004051", "end": "2025-12-18 09:05:21.101465", "msg": "", "rc": 0, "start": "2025-12-18 09:05:21.097414", "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.029032", "end": "2025-12-18 09:05:20.219103", "msg": "", "rc": 0, "start": "2025-12-18 09:05:20.190071", "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.004101", "end": "2025-12-18 09:05:20.737563", "msg": "", "rc": 0, "start": "2025-12-18 09:05:20.733462", "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.004201", "end": "2025-12-18 09:05:20.758493", "msg": "", "rc": 0, "start": "2025-12-18 09:05:20.754292", "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.004652", "end": "2025-12-18 09:05:20.769719", "msg": "", "rc": 0, "start": "2025-12-18 09:05:20.765067", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
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.004776", "end": "2025-12-18 09:05:20.795056", "msg": "", "rc": 0, "start": "2025-12-18 09:05:20.790280", "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.005573", "end": "2025-12-18 09:05:20.807156", "msg": "", "rc": 0, "start": "2025-12-18 09:05:20.801583", "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.004305", "end": "2025-12-18 09:04:53.926128", "msg": "", "rc": 0, "start": "2025-12-18 09:04:53.921823", "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.005207", "end": "2025-12-18 09:04:47.214367", "msg": "", "rc": 0, "start": "2025-12-18 09:04:47.209160", "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.010163", "end": "2025-12-18 09:05:21.516694", "msg": "", "rc": 0, "start": "2025-12-18 09:05:21.506531", "stderr": "", "stderr_lines": [], "stdout": "0.32", "stdout_lines": ["0.32"]}
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.011269", "end": "2025-12-18 09:05:21.516618", "msg": "", "rc": 0, "start": "2025-12-18 09:05:21.505349", "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.005585", "end": "2025-12-18 09:05:21.675583", "msg": "", "rc": 0, "start": "2025-12-18 09:05:21.669998", "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.004680", "end": "2025-12-18 09:04:50.370008", "msg": "", "rc": 0, "start": "2025-12-18 09:04:50.365328", "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.006001", "end": "2025-12-18 06:05:21.973704", "msg": "", "rc": 0, "start": "2025-12-18 06:05:21.967703", "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.004263", "end": "2025-12-18 09:04:57.341523", "msg": "", "rc": 0, "start": "2025-12-18 09:04:57.337260", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
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.005342", "end": "2025-12-18 09:05:22.099076", "msg": "", "rc": 0, "start": "2025-12-18 09:05:22.093734", "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.007435", "end": "2025-12-18 09:05:23.076110", "msg": "", "rc": 0, "start": "2025-12-18 09:05:23.068675", "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.024219", "end": "2025-12-18 09:05:22.112239", "msg": "", "rc": 0, "start": "2025-12-18 09:05:22.088020", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:05:11 up 3 days, 22:37, 1 user, load average: 0.15, 0.18, 0.13\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 0.20\nCPU Temp: 44.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:05:11 up 22 days, 19:56, 1 user, load average: 0.14, 0.21, 0.19\nDisk Usage: 23%\nMemory Usage: 78.0%\nCPU Load: 0.12\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:05:11 up 22 days, 20:16, 1 user, load average: 0.32, 0.54, 0.63\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.35\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:05:11 up 22 days, 21:29, 1 user, load average: 0.79, 0.67, 0.62\nDisk Usage: 14%\nMemory Usage: 58.7%\nCPU Load: 0.89\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:05:11 up 22 days, 22:15, 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: 09:05:12 up 15 days, 22:31, 1 user, load average: 0.23, 0.10, 0.03\nDisk Usage: 21%\nMemory Usage: 18.6%\nCPU Load: 0.19\nCPU Temp: 35.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:05:12 up 195 days, 38 min, 1 user, load average: 0.28, 0.16, 0.17\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.23\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:04:44 up 11 days, 20:54, 0 user, load average: 0.11, 0.15, 0.13\nDisk Usage: 48%\nMemory Usage: 70.8%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:05:12 up 195 days, 38 min, 1 user, load average: 0.19, 0.12, 0.10\nDisk Usage: 3%\nMemory Usage: 7.0%\nCPU Load: 0.32\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:04:38 up 18 days, 17:06, 0 user, load average: 0.02, 0.05, 0.00\nDisk Usage: 24%\nMemory Usage: 64.5%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:05:12 up 3 days, 22:36, 1 user, load average: 0.08, 0.03, 0.01\nDisk Usage: 1%\nMemory Usage: 35.8%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:04:41 up 21 days, 11:58, 0 user, load average: 0.35, 0.39, 0.43\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.30\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:04:48 up 17 days, 22:20, 0 user, load average: 0.14, 0.25, 0.19\nDisk Usage: 76%\nMemory Usage: 48.7%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:05AM up 22 days, 19:55, 1 user, load averages: 0.20, 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: 09:05:13 up 3 days, 22:36, 1 user, load average: 0.04, 0.25, 0.15\nDisk Usage: 79%\nMemory Usage: 14.3%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:05:13 up 5:06, 1 user, load average: 1.33, 1.41, 1.25\nDisk Usage: 1%\nMemory Usage: 12.5%\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-18T14:05:24.028893+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `5993b39216d3437e83ba521dd728d165` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T14:10:00.002126+00:00 |
| **Fin** | 2025-12-18T14:10:21.984538+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: [mimi.pc.home]
ok: [hp.nas.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.003300", "end": "2025-12-18 09:10:10.682845", "msg": "", "rc": 0, "start": "2025-12-18 09:10:10.679545", "stderr": "", "stderr_lines": [], "stdout": " 09:10:10 up 22 days, 20:01, 1 user, load average: 0.17, 0.18, 0.18", "stdout_lines": [" 09:10:10 up 22 days, 20:01, 1 user, load average: 0.17, 0.18, 0.18"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003912", "end": "2025-12-18 09:10:10.693191", "msg": "", "rc": 0, "start": "2025-12-18 09:10:10.689279", "stderr": "", "stderr_lines": [], "stdout": " 09:10:10 up 22 days, 22:20, 1 user, load average: 0.08, 0.02, 0.01", "stdout_lines": [" 09:10:10 up 22 days, 22:20, 1 user, load average: 0.08, 0.02, 0.01"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002837", "end": "2025-12-18 09:10:10.720172", "msg": "", "rc": 0, "start": "2025-12-18 09:10:10.717335", "stderr": "", "stderr_lines": [], "stdout": " 09:10:10 up 3 days, 22:42, 1 user, load average: 0.57, 0.36, 0.22", "stdout_lines": [" 09:10:10 up 3 days, 22:42, 1 user, load average: 0.57, 0.36, 0.22"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008434", "end": "2025-12-18 09:10:11.348314", "msg": "", "rc": 0, "start": "2025-12-18 09:10:11.339880", "stderr": "", "stderr_lines": [], "stdout": " 09:10:11 up 195 days, 43 min, 1 user, load average: 0.05, 0.12, 0.09", "stdout_lines": [" 09:10:11 up 195 days, 43 min, 1 user, load average: 0.05, 0.12, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009810", "end": "2025-12-18 09:10:11.383671", "msg": "", "rc": 0, "start": "2025-12-18 09:10:11.373861", "stderr": "", "stderr_lines": [], "stdout": " 09:10:11 up 195 days, 43 min, 1 user, load average: 0.20, 0.15, 0.16", "stdout_lines": [" 09:10:11 up 195 days, 43 min, 1 user, load average: 0.20, 0.15, 0.16"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003913", "end": "2025-12-18 09:10:11.687545", "msg": "", "rc": 0, "start": "2025-12-18 09:10:10.683632", "stderr": "", "stderr_lines": [], "stdout": " 09:10:10 up 22 days, 20:21, 1 user, load average: 0.49, 0.45, 0.55", "stdout_lines": [" 09:10:10 up 22 days, 20:21, 1 user, load average: 0.49, 0.45, 0.55"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004674", "end": "2025-12-18 09:10:11.712569", "msg": "", "rc": 0, "start": "2025-12-18 09:10:10.707895", "stderr": "", "stderr_lines": [], "stdout": " 09:10:10 up 22 days, 21:34, 1 user, load average: 0.89, 0.71, 0.65", "stdout_lines": [" 09:10:10 up 22 days, 21:34, 1 user, load average: 0.89, 0.71, 0.65"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002816", "end": "2025-12-18 09:09:44.526052", "msg": "", "rc": 0, "start": "2025-12-18 09:09:44.523236", "stderr": "", "stderr_lines": [], "stdout": " 09:09:44 up 11 days, 20:59, 0 user, load average: 0.16, 0.12, 0.12", "stdout_lines": [" 09:09:44 up 11 days, 20:59, 0 user, load average: 0.16, 0.12, 0.12"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003704", "end": "2025-12-18 09:09:37.844740", "msg": "", "rc": 0, "start": "2025-12-18 09:09:37.841036", "stderr": "", "stderr_lines": [], "stdout": " 09:09:37 up 18 days, 17:11, 0 user, load average: 0.05, 0.03, 0.00", "stdout_lines": [" 09:09:37 up 18 days, 17:11, 0 user, load average: 0.05, 0.03, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004940", "end": "2025-12-18 09:10:12.128543", "msg": "", "rc": 0, "start": "2025-12-18 09:10:12.123603", "stderr": "", "stderr_lines": [], "stdout": " 09:10:12 up 3 days, 22:41, 1 user, load average: 0.03, 0.05, 0.01", "stdout_lines": [" 09:10:12 up 3 days, 22:41, 1 user, load average: 0.03, 0.05, 0.01"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019680", "end": "2025-12-18 09:10:12.060473", "msg": "", "rc": 0, "start": "2025-12-18 09:10:12.040793", "stderr": "", "stderr_lines": [], "stdout": " 09:10:12 up 15 days, 22:36, 1 user, load average: 0.18, 0.10, 0.03", "stdout_lines": [" 09:10:12 up 15 days, 22:36, 1 user, load average: 0.18, 0.10, 0.03"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003065", "end": "2025-12-18 09:09:40.775912", "msg": "", "rc": 0, "start": "2025-12-18 09:09:40.772847", "stderr": "", "stderr_lines": [], "stdout": " 09:09:40 up 21 days, 12:03, 0 user, load average: 0.49, 0.39, 0.41", "stdout_lines": [" 09:09:40 up 21 days, 12:03, 0 user, load average: 0.49, 0.39, 0.41"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002831", "end": "2025-12-18 09:09:47.576723", "msg": "", "rc": 0, "start": "2025-12-18 09:09:47.573892", "stderr": "", "stderr_lines": [], "stdout": " 09:09:47 up 17 days, 22:25, 0 user, load average: 0.04, 0.12, 0.15", "stdout_lines": [" 09:09:47 up 17 days, 22:25, 0 user, load average: 0.04, 0.12, 0.15"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004232", "end": "2025-12-18 06:10:12.358984", "msg": "", "rc": 0, "start": "2025-12-18 06:10:12.354752", "stderr": "", "stderr_lines": [], "stdout": " 6:10AM up 22 days, 19:59, 1 user, load averages: 0.48, 0.28, 0.20", "stdout_lines": [" 6:10AM up 22 days, 19:59, 1 user, load averages: 0.48, 0.28, 0.20"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005128", "end": "2025-12-18 09:10:12.620608", "msg": "", "rc": 0, "start": "2025-12-18 09:10:12.615480", "stderr": "", "stderr_lines": [], "stdout": " 09:10:12 up 5:11, 1 user, load average: 1.31, 1.27, 1.23", "stdout_lines": [" 09:10:12 up 5:11, 1 user, load average: 1.31, 1.27, 1.23"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003941", "end": "2025-12-18 09:10:12.542149", "msg": "", "rc": 0, "start": "2025-12-18 09:10:12.538208", "stderr": "", "stderr_lines": [], "stdout": " 09:10:12 up 3 days, 22:41, 1 user, load average: 0.16, 0.14, 0.12", "stdout_lines": [" 09:10:12 up 3 days, 22:41, 1 user, load average: 0.16, 0.14, 0.12"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004239", "end": "2025-12-18 09:10:12.957981", "msg": "", "rc": 0, "start": "2025-12-18 09:10:12.953742", "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.004107", "end": "2025-12-18 09:10:12.962865", "msg": "", "rc": 0, "start": "2025-12-18 09:10:12.958758", "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.004659", "end": "2025-12-18 09:10:12.989917", "msg": "", "rc": 0, "start": "2025-12-18 09:10:12.985258", "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.005111", "end": "2025-12-18 09:10:12.995644", "msg": "", "rc": 0, "start": "2025-12-18 09:10:12.990533", "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.005777", "end": "2025-12-18 09:10:13.023165", "msg": "", "rc": 0, "start": "2025-12-18 09:10:13.017388", "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.005105", "end": "2025-12-18 09:09:46.149643", "msg": "", "rc": 0, "start": "2025-12-18 09:09:46.144538", "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.007907", "end": "2025-12-18 09:09:39.465550", "msg": "", "rc": 0, "start": "2025-12-18 09:09:39.457643", "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.010470", "end": "2025-12-18 09:10:13.685214", "msg": "", "rc": 0, "start": "2025-12-18 09:10:13.674744", "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.011607", "end": "2025-12-18 09:10:13.741969", "msg": "", "rc": 0, "start": "2025-12-18 09:10:13.730362", "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-18 09:10:13.879765", "msg": "", "rc": 0, "start": "2025-12-18 09:10:13.873988", "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.005720", "end": "2025-12-18 09:09:42.648499", "msg": "", "rc": 0, "start": "2025-12-18 09:09:42.642779", "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.004865", "end": "2025-12-18 09:09:49.511391", "msg": "", "rc": 0, "start": "2025-12-18 09:09:49.506526", "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.006166", "end": "2025-12-18 06:10:14.214712", "msg": "", "rc": 0, "start": "2025-12-18 06:10:14.208546", "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.005654", "end": "2025-12-18 09:10:14.295866", "msg": "", "rc": 0, "start": "2025-12-18 09:10:14.290212", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.009178", "end": "2025-12-18 09:10:14.657221", "msg": "", "rc": 0, "start": "2025-12-18 09:10:14.648043", "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.025637", "end": "2025-12-18 09:10:14.331494", "msg": "", "rc": 0, "start": "2025-12-18 09:10:14.305857", "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.004225", "end": "2025-12-18 09:10:14.840154", "msg": "", "rc": 0, "start": "2025-12-18 09:10:14.835929", "stderr": "", "stderr_lines": [], "stdout": "78.0%", "stdout_lines": ["78.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.004290", "end": "2025-12-18 09:10:14.854620", "msg": "", "rc": 0, "start": "2025-12-18 09:10:14.850330", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.7%"]}
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.004697", "end": "2025-12-18 09:10:14.876252", "msg": "", "rc": 0, "start": "2025-12-18 09:10:14.871555", "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.005132", "end": "2025-12-18 09:10:14.892582", "msg": "", "rc": 0, "start": "2025-12-18 09:10:14.887450", "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.012301", "end": "2025-12-18 09:10:14.932150", "msg": "", "rc": 0, "start": "2025-12-18 09:10:14.919849", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.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.003679", "end": "2025-12-18 09:09:48.050055", "msg": "", "rc": 0, "start": "2025-12-18 09:09:48.046376", "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.005019", "end": "2025-12-18 09:09:41.382280", "msg": "", "rc": 0, "start": "2025-12-18 09:09:41.377261", "stderr": "", "stderr_lines": [], "stdout": "64.3%", "stdout_lines": ["64.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.016481", "end": "2025-12-18 09:10:15.565618", "msg": "", "rc": 0, "start": "2025-12-18 09:10:15.549137", "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.014031", "end": "2025-12-18 09:10:15.606540", "msg": "", "rc": 0, "start": "2025-12-18 09:10:15.592509", "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.005892", "end": "2025-12-18 09:10:15.804378", "msg": "", "rc": 0, "start": "2025-12-18 09:10:15.798486", "stderr": "", "stderr_lines": [], "stdout": "35.8%", "stdout_lines": ["35.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.004413", "end": "2025-12-18 09:09:44.558514", "msg": "", "rc": 0, "start": "2025-12-18 09:09:44.554101", "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.003352", "end": "2025-12-18 09:09:51.386904", "msg": "", "rc": 0, "start": "2025-12-18 09:09:51.383552", "stderr": "", "stderr_lines": [], "stdout": "51.3%", "stdout_lines": ["51.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.005162", "end": "2025-12-18 06:10:16.076517", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 06:10:16.071355", "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.005601", "end": "2025-12-18 09:10:16.297666", "msg": "", "rc": 0, "start": "2025-12-18 09:10:16.292065", "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.008631", "end": "2025-12-18 09:10:16.622228", "msg": "", "rc": 0, "start": "2025-12-18 09:10:16.613597", "stderr": "", "stderr_lines": [], "stdout": "12.6%", "stdout_lines": ["12.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.027534", "end": "2025-12-18 09:10:16.428470", "msg": "", "rc": 0, "start": "2025-12-18 09:10:16.400936", "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.005320", "end": "2025-12-18 09:10:16.969595", "msg": "", "rc": 0, "start": "2025-12-18 09:10:16.964275", "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.004859", "end": "2025-12-18 09:10:16.992759", "msg": "", "rc": 0, "start": "2025-12-18 09:10:16.987900", "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.003258", "end": "2025-12-18 09:10:17.006532", "msg": "", "rc": 0, "start": "2025-12-18 09:10:17.003274", "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.005453", "end": "2025-12-18 09:10:17.019364", "msg": "", "rc": 0, "start": "2025-12-18 09:10:17.013911", "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.006588", "end": "2025-12-18 09:10:17.022867", "msg": "", "rc": 0, "start": "2025-12-18 09:10:17.016279", "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.002440", "end": "2025-12-18 09:09:50.149438", "msg": "", "rc": 0, "start": "2025-12-18 09:09:50.146998", "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.003204", "end": "2025-12-18 09:09:43.436029", "msg": "", "rc": 0, "start": "2025-12-18 09:09:43.432825", "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.011538", "end": "2025-12-18 09:10:17.658861", "msg": "", "rc": 0, "start": "2025-12-18 09:10:17.647323", "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.012795", "end": "2025-12-18 09:10:17.688852", "msg": "", "rc": 0, "start": "2025-12-18 09:10:17.676057", "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.003468", "end": "2025-12-18 09:10:17.907660", "msg": "", "rc": 0, "start": "2025-12-18 09:10:17.904192", "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-18 09:09:46.589266", "msg": "", "rc": 0, "start": "2025-12-18 09:09:46.586284", "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.002467", "end": "2025-12-18 09:09:53.444308", "msg": "", "rc": 0, "start": "2025-12-18 09:09:53.441841", "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.003913", "end": "2025-12-18 06:10:18.140411", "msg": "", "rc": 0, "start": "2025-12-18 06:10:18.136498", "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-18 09:10:18.307654", "msg": "", "rc": 0, "start": "2025-12-18 09:10:18.304748", "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.004169", "end": "2025-12-18 09:10:18.740414", "msg": "", "rc": 0, "start": "2025-12-18 09:10:18.736245", "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.029809", "end": "2025-12-18 09:10:18.650113", "msg": "", "rc": 0, "start": "2025-12-18 09:10:18.620304", "stderr": "", "stderr_lines": [], "stdout": "37.2°C", "stdout_lines": ["37.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.004020", "end": "2025-12-18 09:10:19.191615", "msg": "", "rc": 0, "start": "2025-12-18 09:10:19.187595", "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.004007", "end": "2025-12-18 09:10:19.199819", "msg": "", "rc": 0, "start": "2025-12-18 09:10:19.195812", "stderr": "", "stderr_lines": [], "stdout": "0.78", "stdout_lines": ["0.78"]}
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.004989", "end": "2025-12-18 09:10:19.216993", "msg": "", "rc": 0, "start": "2025-12-18 09:10:19.212004", "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.005146", "end": "2025-12-18 09:10:19.223427", "msg": "", "rc": 0, "start": "2025-12-18 09:10:19.218281", "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.005549", "end": "2025-12-18 09:10:19.239115", "msg": "", "rc": 0, "start": "2025-12-18 09:10:19.233566", "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.004358", "end": "2025-12-18 09:09:52.403586", "msg": "", "rc": 0, "start": "2025-12-18 09:09:52.399228", "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.005041", "end": "2025-12-18 09:09:45.685187", "msg": "", "rc": 0, "start": "2025-12-18 09:09:45.680146", "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.010185", "end": "2025-12-18 09:10:20.008219", "msg": "", "rc": 0, "start": "2025-12-18 09:10:19.998034", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
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.010870", "end": "2025-12-18 09:10:20.013661", "msg": "", "rc": 0, "start": "2025-12-18 09:10:20.002791", "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.005774", "end": "2025-12-18 09:10:20.169196", "msg": "", "rc": 0, "start": "2025-12-18 09:10:20.163422", "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.005428", "end": "2025-12-18 09:09:48.859156", "msg": "", "rc": 0, "start": "2025-12-18 09:09:48.853728", "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.005859", "end": "2025-12-18 06:10:20.476393", "msg": "", "rc": 0, "start": "2025-12-18 06:10:20.470534", "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.004138", "end": "2025-12-18 09:09:55.825532", "msg": "", "rc": 0, "start": "2025-12-18 09:09:55.821394", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
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.005225", "end": "2025-12-18 09:10:20.584406", "msg": "", "rc": 0, "start": "2025-12-18 09:10:20.579181", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
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.006583", "end": "2025-12-18 09:10:21.147745", "msg": "", "rc": 0, "start": "2025-12-18 09:10:21.141162", "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.024432", "end": "2025-12-18 09:10:20.574778", "msg": "", "rc": 0, "start": "2025-12-18 09:10:20.550346", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:10:10 up 3 days, 22:42, 1 user, load average: 0.57, 0.36, 0.22\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 0.78\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:10:10 up 22 days, 20:01, 1 user, load average: 0.17, 0.18, 0.18\nDisk Usage: 23%\nMemory Usage: 78.0%\nCPU Load: 0.16\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:10:10 up 22 days, 20:21, 1 user, load average: 0.49, 0.45, 0.55\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.41\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:10:10 up 22 days, 21:34, 1 user, load average: 0.89, 0.71, 0.65\nDisk Usage: 14%\nMemory Usage: 58.7%\nCPU Load: 0.83\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:10:10 up 22 days, 22:20, 1 user, load average: 0.08, 0.02, 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: 09:10:12 up 15 days, 22:36, 1 user, load average: 0.18, 0.10, 0.03\nDisk Usage: 21%\nMemory Usage: 19.4%\nCPU Load: 0.31\nCPU Temp: 37.2°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:10:11 up 195 days, 43 min, 1 user, load average: 0.20, 0.15, 0.16\nDisk Usage: 6%\nMemory Usage: 13.2%\nCPU Load: 0.17\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:10:11 up 195 days, 43 min, 1 user, load average: 0.05, 0.12, 0.09\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.12\nCPU Temp: 30.7°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:09:44 up 11 days, 20:59, 0 user, load average: 0.16, 0.12, 0.12\nDisk Usage: 48%\nMemory Usage: 71.0%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:09:37 up 18 days, 17:11, 0 user, load average: 0.05, 0.03, 0.00\nDisk Usage: 24%\nMemory Usage: 64.3%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:10:12 up 3 days, 22:41, 1 user, load average: 0.03, 0.05, 0.01\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: 09:09:40 up 21 days, 12:03, 0 user, load average: 0.49, 0.39, 0.41\nDisk Usage: 28%\nMemory Usage: 27.1%\nCPU Load: 0.53\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:09:47 up 17 days, 22:25, 0 user, load average: 0.04, 0.12, 0.15\nDisk Usage: 76%\nMemory Usage: 51.3%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:10AM up 22 days, 19:59, 1 user, load averages: 0.48, 0.28, 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: 09:10:12 up 3 days, 22:41, 1 user, load average: 0.16, 0.14, 0.12\nDisk Usage: 79%\nMemory Usage: 14.0%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:10:12 up 5:11, 1 user, load average: 1.31, 1.27, 1.23\nDisk Usage: 1%\nMemory Usage: 12.6%\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-18T14:10:22.035196+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `93c4e30ad021479691621d99e9f77894` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T14:15:00.001177+00:00 |
| **Fin** | 2025-12-18T14:15:22.046812+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: [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: [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.003391", "end": "2025-12-18 09:15:11.515125", "msg": "", "rc": 0, "start": "2025-12-18 09:15:11.511734", "stderr": "", "stderr_lines": [], "stdout": " 09:15:11 up 22 days, 20:26, 1 user, load average: 1.06, 0.64, 0.59", "stdout_lines": [" 09:15:11 up 22 days, 20:26, 1 user, load average: 1.06, 0.64, 0.59"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003769", "end": "2025-12-18 09:15:11.517803", "msg": "", "rc": 0, "start": "2025-12-18 09:15:11.514034", "stderr": "", "stderr_lines": [], "stdout": " 09:15:11 up 22 days, 22:25, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 09:15:11 up 22 days, 22:25, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002950", "end": "2025-12-18 09:15:11.544704", "msg": "", "rc": 0, "start": "2025-12-18 09:15:11.541754", "stderr": "", "stderr_lines": [], "stdout": " 09:15:11 up 3 days, 22:47, 1 user, load average: 0.87, 0.72, 0.41", "stdout_lines": [" 09:15:11 up 3 days, 22:47, 1 user, load average: 0.87, 0.72, 0.41"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005044", "end": "2025-12-18 09:15:11.556163", "msg": "", "rc": 0, "start": "2025-12-18 09:15:11.551119", "stderr": "", "stderr_lines": [], "stdout": " 09:15:11 up 22 days, 21:39, 1 user, load average: 0.48, 0.64, 0.63", "stdout_lines": [" 09:15:11 up 22 days, 21:39, 1 user, load average: 0.48, 0.64, 0.63"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002805", "end": "2025-12-18 09:14:44.690530", "msg": "", "rc": 0, "start": "2025-12-18 09:14:44.687725", "stderr": "", "stderr_lines": [], "stdout": " 09:14:44 up 11 days, 21:04, 0 user, load average: 0.05, 0.07, 0.09", "stdout_lines": [" 09:14:44 up 11 days, 21:04, 0 user, load average: 0.05, 0.07, 0.09"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008292", "end": "2025-12-18 09:15:12.181226", "msg": "", "rc": 0, "start": "2025-12-18 09:15:12.172934", "stderr": "", "stderr_lines": [], "stdout": " 09:15:12 up 195 days, 48 min, 1 user, load average: 0.13, 0.17, 0.11", "stdout_lines": [" 09:15:12 up 195 days, 48 min, 1 user, load average: 0.13, 0.17, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009281", "end": "2025-12-18 09:15:12.228175", "msg": "", "rc": 0, "start": "2025-12-18 09:15:12.218894", "stderr": "", "stderr_lines": [], "stdout": " 09:15:12 up 195 days, 48 min, 1 user, load average: 0.22, 0.19, 0.18", "stdout_lines": [" 09:15:12 up 195 days, 48 min, 1 user, load average: 0.22, 0.19, 0.18"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003462", "end": "2025-12-18 09:15:12.504812", "msg": "", "rc": 0, "start": "2025-12-18 09:15:11.501350", "stderr": "", "stderr_lines": [], "stdout": " 09:15:11 up 22 days, 20:06, 1 user, load average: 0.07, 0.14, 0.17", "stdout_lines": [" 09:15:11 up 22 days, 20:06, 1 user, load average: 0.07, 0.14, 0.17"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003380", "end": "2025-12-18 09:14:38.385621", "msg": "", "rc": 0, "start": "2025-12-18 09:14:38.382241", "stderr": "", "stderr_lines": [], "stdout": " 09:14:38 up 18 days, 17:16, 0 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 09:14:38 up 18 days, 17:16, 0 user, load average: 0.00, 0.02, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004902", "end": "2025-12-18 09:15:12.692803", "msg": "", "rc": 0, "start": "2025-12-18 09:15:12.687901", "stderr": "", "stderr_lines": [], "stdout": " 09:15:12 up 3 days, 22:46, 1 user, load average: 0.01, 0.02, 0.00", "stdout_lines": [" 09:15:12 up 3 days, 22:46, 1 user, load average: 0.01, 0.02, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003163", "end": "2025-12-18 09:14:41.322985", "msg": "", "rc": 0, "start": "2025-12-18 09:14:41.319822", "stderr": "", "stderr_lines": [], "stdout": " 09:14:41 up 21 days, 12:08, 0 user, load average: 0.33, 0.41, 0.42", "stdout_lines": [" 09:14:41 up 21 days, 12:08, 0 user, load average: 0.33, 0.41, 0.42"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004189", "end": "2025-12-18 06:15:12.911272", "msg": "", "rc": 0, "start": "2025-12-18 06:15:12.907083", "stderr": "", "stderr_lines": [], "stdout": " 6:15AM up 22 days, 20:05, 1 user, load averages: 0.27, 0.25, 0.20", "stdout_lines": [" 6:15AM up 22 days, 20:05, 1 user, load averages: 0.27, 0.25, 0.20"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002795", "end": "2025-12-18 09:14:48.257093", "msg": "", "rc": 0, "start": "2025-12-18 09:14:48.254298", "stderr": "", "stderr_lines": [], "stdout": " 09:14:48 up 17 days, 22:30, 0 user, load average: 0.11, 0.12, 0.13", "stdout_lines": [" 09:14:48 up 17 days, 22:30, 0 user, load average: 0.11, 0.12, 0.13"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019497", "end": "2025-12-18 09:15:12.880263", "msg": "", "rc": 0, "start": "2025-12-18 09:15:12.860766", "stderr": "", "stderr_lines": [], "stdout": " 09:15:12 up 15 days, 22:41, 1 user, load average: 0.22, 0.14, 0.06", "stdout_lines": [" 09:15:12 up 15 days, 22:41, 1 user, load average: 0.22, 0.14, 0.06"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008819", "end": "2025-12-18 09:15:14.146067", "msg": "", "rc": 0, "start": "2025-12-18 09:15:14.137248", "stderr": "", "stderr_lines": [], "stdout": " 09:15:14 up 5:16, 1 user, load average: 1.32, 1.18, 1.19", "stdout_lines": [" 09:15:14 up 5:16, 1 user, load average: 1.32, 1.18, 1.19"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003691", "end": "2025-12-18 09:15:13.102737", "msg": "", "rc": 0, "start": "2025-12-18 09:15:13.099046", "stderr": "", "stderr_lines": [], "stdout": " 09:15:13 up 3 days, 22:46, 1 user, load average: 0.08, 0.14, 0.11", "stdout_lines": [" 09:15:13 up 3 days, 22:46, 1 user, load average: 0.08, 0.14, 0.11"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004200", "end": "2025-12-18 09:15:13.501665", "msg": "", "rc": 0, "start": "2025-12-18 09:15:13.497465", "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.004090", "end": "2025-12-18 09:15:13.520318", "msg": "", "rc": 0, "start": "2025-12-18 09:15:13.516228", "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.004581", "end": "2025-12-18 09:15:13.522071", "msg": "", "rc": 0, "start": "2025-12-18 09:15:13.517490", "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.004805", "end": "2025-12-18 09:15:13.550419", "msg": "", "rc": 0, "start": "2025-12-18 09:15:13.545614", "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.005569", "end": "2025-12-18 09:15:13.554332", "msg": "", "rc": 0, "start": "2025-12-18 09:15:13.548763", "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.004728", "end": "2025-12-18 09:14:46.724406", "msg": "", "rc": 0, "start": "2025-12-18 09:14:46.719678", "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.006139", "end": "2025-12-18 09:14:40.018508", "msg": "", "rc": 0, "start": "2025-12-18 09:14:40.012369", "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.010652", "end": "2025-12-18 09:15:14.228392", "msg": "", "rc": 0, "start": "2025-12-18 09:15:14.217740", "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.012159", "end": "2025-12-18 09:15:14.280179", "msg": "", "rc": 0, "start": "2025-12-18 09:15:14.268020", "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.005725", "end": "2025-12-18 09:15:14.462533", "msg": "", "rc": 0, "start": "2025-12-18 09:15:14.456808", "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.005651", "end": "2025-12-18 09:14:43.216412", "msg": "", "rc": 0, "start": "2025-12-18 09:14:43.210761", "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.004912", "end": "2025-12-18 09:14:50.034271", "msg": "", "rc": 0, "start": "2025-12-18 09:14:50.029359", "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.005372", "end": "2025-12-18 06:15:14.733182", "msg": "", "rc": 0, "start": "2025-12-18 06:15:14.727810", "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.005604", "end": "2025-12-18 09:15:14.862139", "msg": "", "rc": 0, "start": "2025-12-18 09:15:14.856535", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.019942", "end": "2025-12-18 09:15:16.148480", "msg": "", "rc": 0, "start": "2025-12-18 09:15:16.128538", "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.027347", "end": "2025-12-18 09:15:15.033413", "msg": "", "rc": 0, "start": "2025-12-18 09:15:15.006066", "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.004618", "end": "2025-12-18 09:15:15.583739", "msg": "", "rc": 0, "start": "2025-12-18 09:15:15.579121", "stderr": "", "stderr_lines": [], "stdout": "78.0%", "stdout_lines": ["78.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.004890", "end": "2025-12-18 09:15:15.598428", "msg": "", "rc": 0, "start": "2025-12-18 09:15:15.593538", "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.004202", "end": "2025-12-18 09:15:15.603903", "msg": "", "rc": 0, "start": "2025-12-18 09:15:15.599701", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.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.004174", "end": "2025-12-18 09:15:15.630070", "msg": "", "rc": 0, "start": "2025-12-18 09:15:15.625896", "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.006864", "end": "2025-12-18 09:15:15.663939", "msg": "", "rc": 0, "start": "2025-12-18 09:15:15.657075", "stderr": "", "stderr_lines": [], "stdout": "58.6%", "stdout_lines": ["58.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.003815", "end": "2025-12-18 09:14:48.777934", "msg": "", "rc": 0, "start": "2025-12-18 09:14:48.774119", "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.005175", "end": "2025-12-18 09:14:42.095564", "msg": "", "rc": 0, "start": "2025-12-18 09:14:42.090389", "stderr": "", "stderr_lines": [], "stdout": "64.4%", "stdout_lines": ["64.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.010979", "end": "2025-12-18 09:15:16.256608", "msg": "", "rc": 0, "start": "2025-12-18 09:15:16.245629", "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.012200", "end": "2025-12-18 09:15:16.291942", "msg": "", "rc": 0, "start": "2025-12-18 09:15:16.279742", "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.005759", "end": "2025-12-18 09:15:16.527196", "msg": "", "rc": 0, "start": "2025-12-18 09:15:16.521437", "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.003804", "end": "2025-12-18 09:14:52.048245", "msg": "", "rc": 0, "start": "2025-12-18 09:14:52.044441", "stderr": "", "stderr_lines": [], "stdout": "49.0%", "stdout_lines": ["49.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.005123", "end": "2025-12-18 06:15:16.734507", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 06:15:16.729384", "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.004994", "end": "2025-12-18 09:14:45.275702", "msg": "", "rc": 0, "start": "2025-12-18 09:14:45.270708", "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.005410", "end": "2025-12-18 09:15:16.934136", "msg": "", "rc": 0, "start": "2025-12-18 09:15:16.928726", "stderr": "", "stderr_lines": [], "stdout": "14.2%", "stdout_lines": ["14.2%"]}
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.008212", "end": "2025-12-18 09:15:18.233762", "msg": "", "rc": 0, "start": "2025-12-18 09:15:18.225550", "stderr": "", "stderr_lines": [], "stdout": "12.5%", "stdout_lines": ["12.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.030717", "end": "2025-12-18 09:15:17.261734", "msg": "", "rc": 0, "start": "2025-12-18 09:15:17.231017", "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.005337", "end": "2025-12-18 09:15:17.785156", "msg": "", "rc": 0, "start": "2025-12-18 09:15:17.779819", "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.004973", "end": "2025-12-18 09:15:17.811129", "msg": "", "rc": 0, "start": "2025-12-18 09:15:17.806156", "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.005597", "end": "2025-12-18 09:15:17.825579", "msg": "", "rc": 0, "start": "2025-12-18 09:15:17.819982", "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.003144", "end": "2025-12-18 09:15:17.838578", "msg": "", "rc": 0, "start": "2025-12-18 09:15:17.835434", "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.007004", "end": "2025-12-18 09:15:17.871492", "msg": "", "rc": 0, "start": "2025-12-18 09:15:17.864488", "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.002714", "end": "2025-12-18 09:14:50.985507", "msg": "", "rc": 0, "start": "2025-12-18 09:14:50.982793", "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.003103", "end": "2025-12-18 09:14:44.289248", "msg": "", "rc": 0, "start": "2025-12-18 09:14:44.286145", "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.011763", "end": "2025-12-18 09:15:18.483334", "msg": "", "rc": 0, "start": "2025-12-18 09:15:18.471571", "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.012852", "end": "2025-12-18 09:15:18.520102", "msg": "", "rc": 0, "start": "2025-12-18 09:15:18.507250", "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-18 09:15:18.714377", "msg": "", "rc": 0, "start": "2025-12-18 09:15:18.711206", "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.003795", "end": "2025-12-18 09:14:47.479109", "msg": "", "rc": 0, "start": "2025-12-18 09:14:47.475314", "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.003952", "end": "2025-12-18 06:15:18.973638", "msg": "", "rc": 0, "start": "2025-12-18 06:15:18.969686", "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.003279", "end": "2025-12-18 09:14:54.289412", "msg": "", "rc": 0, "start": "2025-12-18 09:14:54.286133", "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-18 09:15:19.112753", "msg": "", "rc": 0, "start": "2025-12-18 09:15:19.109861", "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.004232", "end": "2025-12-18 09:15:19.248232", "msg": "", "rc": 0, "start": "2025-12-18 09:15:19.244000", "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.028809", "end": "2025-12-18 09:15:19.167603", "msg": "", "rc": 0, "start": "2025-12-18 09:15:19.138794", "stderr": "", "stderr_lines": [], "stdout": "36.9°C", "stdout_lines": ["36.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.004261", "end": "2025-12-18 09:15:19.682876", "msg": "", "rc": 0, "start": "2025-12-18 09:15:19.678615", "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.004172", "end": "2025-12-18 09:15:19.703309", "msg": "", "rc": 0, "start": "2025-12-18 09:15:19.699137", "stderr": "", "stderr_lines": [], "stdout": "1.04", "stdout_lines": ["1.04"]}
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.004526", "end": "2025-12-18 09:15:19.706814", "msg": "", "rc": 0, "start": "2025-12-18 09:15:19.702288", "stderr": "", "stderr_lines": [], "stdout": "1.13", "stdout_lines": ["1.13"]}
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.005104", "end": "2025-12-18 09:15:19.738490", "msg": "", "rc": 0, "start": "2025-12-18 09:15:19.733386", "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.005607", "end": "2025-12-18 09:15:19.743449", "msg": "", "rc": 0, "start": "2025-12-18 09:15:19.737842", "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.004534", "end": "2025-12-18 09:14:52.868176", "msg": "", "rc": 0, "start": "2025-12-18 09:14:52.863642", "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.005075", "end": "2025-12-18 09:14:46.147908", "msg": "", "rc": 0, "start": "2025-12-18 09:14:46.142833", "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.009927", "end": "2025-12-18 09:15:20.454026", "msg": "", "rc": 0, "start": "2025-12-18 09:15:20.444099", "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.011911", "end": "2025-12-18 09:15:20.497462", "msg": "", "rc": 0, "start": "2025-12-18 09:15:20.485551", "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.005728", "end": "2025-12-18 09:15:20.639969", "msg": "", "rc": 0, "start": "2025-12-18 09:15:20.634241", "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.005478", "end": "2025-12-18 09:14:49.309695", "msg": "", "rc": 0, "start": "2025-12-18 09:14:49.304217", "stderr": "", "stderr_lines": [], "stdout": "0.46", "stdout_lines": ["0.46"]}
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.003960", "end": "2025-12-18 09:14:56.248478", "msg": "", "rc": 0, "start": "2025-12-18 09:14:56.244518", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
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.006528", "end": "2025-12-18 06:15:20.950894", "msg": "", "rc": 0, "start": "2025-12-18 06:15:20.944366", "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.005233", "end": "2025-12-18 09:15:21.043190", "msg": "", "rc": 0, "start": "2025-12-18 09:15:21.037957", "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.008616", "end": "2025-12-18 09:15:21.165539", "msg": "", "rc": 0, "start": "2025-12-18 09:15:21.156923", "stderr": "", "stderr_lines": [], "stdout": "1.50", "stdout_lines": ["1.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.024467", "end": "2025-12-18 09:15:21.059979", "msg": "", "rc": 0, "start": "2025-12-18 09:15:21.035512", "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: 09:15:11 up 3 days, 22:47, 1 user, load average: 0.87, 0.72, 0.41\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 1.04\nCPU Temp: 44.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:15:11 up 22 days, 20:06, 1 user, load average: 0.07, 0.14, 0.17\nDisk Usage: 23%\nMemory Usage: 78.0%\nCPU Load: 0.14\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:15:11 up 22 days, 20:26, 1 user, load average: 1.06, 0.64, 0.59\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 1.13\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:15:11 up 22 days, 21:39, 1 user, load average: 0.48, 0.64, 0.63\nDisk Usage: 14%\nMemory Usage: 58.6%\nCPU Load: 0.57\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:15:11 up 22 days, 22:25, 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: 09:15:12 up 15 days, 22:41, 1 user, load average: 0.22, 0.14, 0.06\nDisk Usage: 21%\nMemory Usage: 20.4%\nCPU Load: 0.34\nCPU Temp: 36.9°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:15:12 up 195 days, 48 min, 1 user, load average: 0.22, 0.19, 0.18\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.34\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:15:12 up 195 days, 48 min, 1 user, load average: 0.13, 0.17, 0.11\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.11\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:14:44 up 11 days, 21:04, 0 user, load average: 0.05, 0.07, 0.09\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: 09:14:38 up 18 days, 17:16, 0 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 64.4%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:15:12 up 3 days, 22:46, 1 user, load average: 0.01, 0.02, 0.00\nDisk Usage: 1%\nMemory Usage: 35.8%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:14:41 up 21 days, 12:08, 0 user, load average: 0.33, 0.41, 0.42\nDisk Usage: 28%\nMemory Usage: 26.8%\nCPU Load: 0.46\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:14:48 up 17 days, 22:30, 0 user, load average: 0.11, 0.12, 0.13\nDisk Usage: 76%\nMemory Usage: 49.0%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:15AM up 22 days, 20:05, 1 user, load averages: 0.27, 0.25, 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: 09:15:13 up 3 days, 22:46, 1 user, load average: 0.08, 0.14, 0.11\nDisk Usage: 79%\nMemory Usage: 14.2%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:15:14 up 5:16, 1 user, load average: 1.32, 1.18, 1.19\nDisk Usage: 1%\nMemory Usage: 12.5%\nCPU Load: 1.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-18T14:15:22.095421+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `1613ce893802453bbbc342d5da98b805` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T14:20:00.004160+00:00 |
| **Fin** | 2025-12-18T14:20:22.367300+00:00 |
| **Durée** | 22.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: [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: [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.003382", "end": "2025-12-18 09:20:11.129187", "msg": "", "rc": 0, "start": "2025-12-18 09:20:11.125805", "stderr": "", "stderr_lines": [], "stdout": " 09:20:11 up 22 days, 20:11, 1 user, load average: 0.11, 0.16, 0.17", "stdout_lines": [" 09:20:11 up 22 days, 20:11, 1 user, load average: 0.11, 0.16, 0.17"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003816", "end": "2025-12-18 09:20:11.144698", "msg": "", "rc": 0, "start": "2025-12-18 09:20:11.140882", "stderr": "", "stderr_lines": [], "stdout": " 09:20:11 up 22 days, 20:31, 1 user, load average: 0.77, 0.73, 0.64", "stdout_lines": [" 09:20:11 up 22 days, 20:31, 1 user, load average: 0.77, 0.73, 0.64"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003644", "end": "2025-12-18 09:20:11.145043", "msg": "", "rc": 0, "start": "2025-12-18 09:20:11.141399", "stderr": "", "stderr_lines": [], "stdout": " 09:20:11 up 22 days, 22:30, 1 user, load average: 0.01, 0.05, 0.01", "stdout_lines": [" 09:20:11 up 22 days, 22:30, 1 user, load average: 0.01, 0.05, 0.01"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003834", "end": "2025-12-18 09:20:11.162466", "msg": "", "rc": 0, "start": "2025-12-18 09:20:11.158632", "stderr": "", "stderr_lines": [], "stdout": " 09:20:11 up 22 days, 21:44, 1 user, load average: 0.82, 0.66, 0.64", "stdout_lines": [" 09:20:11 up 22 days, 21:44, 1 user, load average: 0.82, 0.66, 0.64"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002939", "end": "2025-12-18 09:20:11.173330", "msg": "", "rc": 0, "start": "2025-12-18 09:20:11.170391", "stderr": "", "stderr_lines": [], "stdout": " 09:20:11 up 3 days, 22:52, 1 user, load average: 0.76, 0.84, 0.55", "stdout_lines": [" 09:20:11 up 3 days, 22:52, 1 user, load average: 0.76, 0.84, 0.55"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003022", "end": "2025-12-18 09:19:44.417797", "msg": "", "rc": 0, "start": "2025-12-18 09:19:44.414775", "stderr": "", "stderr_lines": [], "stdout": " 09:19:44 up 11 days, 21:09, 0 user, load average: 0.13, 0.10, 0.09", "stdout_lines": [" 09:19:44 up 11 days, 21:09, 0 user, load average: 0.13, 0.10, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003457", "end": "2025-12-18 09:19:37.701882", "msg": "", "rc": 0, "start": "2025-12-18 09:19:37.698425", "stderr": "", "stderr_lines": [], "stdout": " 09:19:37 up 18 days, 17:21, 0 user, load average: 0.08, 0.02, 0.01", "stdout_lines": [" 09:19:37 up 18 days, 17:21, 0 user, load average: 0.08, 0.02, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008778", "end": "2025-12-18 09:20:11.899629", "msg": "", "rc": 0, "start": "2025-12-18 09:20:11.890851", "stderr": "", "stderr_lines": [], "stdout": " 09:20:11 up 195 days, 53 min, 1 user, load average: 0.10, 0.15, 0.11", "stdout_lines": [" 09:20:11 up 195 days, 53 min, 1 user, load average: 0.10, 0.15, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009420", "end": "2025-12-18 09:20:11.946314", "msg": "", "rc": 0, "start": "2025-12-18 09:20:11.936894", "stderr": "", "stderr_lines": [], "stdout": " 09:20:11 up 195 days, 53 min, 1 user, load average: 0.17, 0.24, 0.20", "stdout_lines": [" 09:20:11 up 195 days, 53 min, 1 user, load average: 0.17, 0.24, 0.20"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005007", "end": "2025-12-18 09:20:12.194106", "msg": "", "rc": 0, "start": "2025-12-18 09:20:12.189099", "stderr": "", "stderr_lines": [], "stdout": " 09:20:12 up 3 days, 22:51, 1 user, load average: 0.18, 0.08, 0.02", "stdout_lines": [" 09:20:12 up 3 days, 22:51, 1 user, load average: 0.18, 0.08, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003451", "end": "2025-12-18 09:19:40.876880", "msg": "", "rc": 0, "start": "2025-12-18 09:19:40.873429", "stderr": "", "stderr_lines": [], "stdout": " 09:19:40 up 21 days, 12:13, 0 user, load average: 0.70, 0.49, 0.45", "stdout_lines": [" 09:19:40 up 21 days, 12:13, 0 user, load average: 0.70, 0.49, 0.45"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003421", "end": "2025-12-18 09:19:47.705476", "msg": "", "rc": 0, "start": "2025-12-18 09:19:47.702055", "stderr": "", "stderr_lines": [], "stdout": " 09:19:47 up 17 days, 22:35, 0 user, load average: 0.64, 0.38, 0.21", "stdout_lines": [" 09:19:47 up 17 days, 22:35, 0 user, load average: 0.64, 0.38, 0.21"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004250", "end": "2025-12-18 06:20:12.397730", "msg": "", "rc": 0, "start": "2025-12-18 06:20:12.393480", "stderr": "", "stderr_lines": [], "stdout": " 6:20AM up 22 days, 20:09, 1 user, load averages: 0.38, 0.30, 0.22", "stdout_lines": [" 6:20AM up 22 days, 20:09, 1 user, load averages: 0.38, 0.30, 0.22"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004152", "end": "2025-12-18 09:20:12.609216", "msg": "", "rc": 0, "start": "2025-12-18 09:20:12.605064", "stderr": "", "stderr_lines": [], "stdout": " 09:20:12 up 3 days, 22:51, 1 user, load average: 0.17, 0.17, 0.12", "stdout_lines": [" 09:20:12 up 3 days, 22:51, 1 user, load average: 0.17, 0.17, 0.12"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008821", "end": "2025-12-18 09:20:13.185445", "msg": "", "rc": 0, "start": "2025-12-18 09:20:13.176624", "stderr": "", "stderr_lines": [], "stdout": " 09:20:13 up 5:22, 1 user, load average: 1.34, 1.18, 1.18", "stdout_lines": [" 09:20:13 up 5:22, 1 user, load average: 1.34, 1.18, 1.18"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019516", "end": "2025-12-18 09:20:12.578742", "msg": "", "rc": 0, "start": "2025-12-18 09:20:12.559226", "stderr": "", "stderr_lines": [], "stdout": " 09:20:12 up 15 days, 22:46, 1 user, load average: 0.22, 0.14, 0.08", "stdout_lines": [" 09:20:12 up 15 days, 22:46, 1 user, load average: 0.22, 0.14, 0.08"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004157", "end": "2025-12-18 09:20:13.087747", "msg": "", "rc": 0, "start": "2025-12-18 09:20:13.083590", "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.004102", "end": "2025-12-18 09:20:13.113123", "msg": "", "rc": 0, "start": "2025-12-18 09:20:13.109021", "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.004590", "end": "2025-12-18 09:20:13.125802", "msg": "", "rc": 0, "start": "2025-12-18 09:20:13.121212", "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.004936", "end": "2025-12-18 09:20:13.139292", "msg": "", "rc": 0, "start": "2025-12-18 09:20:13.134356", "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.005846", "end": "2025-12-18 09:20:13.158474", "msg": "", "rc": 0, "start": "2025-12-18 09:20:13.152628", "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.005606", "end": "2025-12-18 09:19:46.297535", "msg": "", "rc": 0, "start": "2025-12-18 09:19:46.291929", "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.006970", "end": "2025-12-18 09:19:39.593804", "msg": "", "rc": 0, "start": "2025-12-18 09:19:39.586834", "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.010912", "end": "2025-12-18 09:20:13.815746", "msg": "", "rc": 0, "start": "2025-12-18 09:20:13.804834", "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.011632", "end": "2025-12-18 09:20:13.846074", "msg": "", "rc": 0, "start": "2025-12-18 09:20:13.834442", "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-18 09:20:14.055998", "msg": "", "rc": 0, "start": "2025-12-18 09:20:14.050276", "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.007003", "end": "2025-12-18 09:19:42.750773", "msg": "", "rc": 0, "start": "2025-12-18 09:19:42.743770", "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.005731", "end": "2025-12-18 06:20:14.304413", "msg": "", "rc": 0, "start": "2025-12-18 06:20:14.298682", "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.005317", "end": "2025-12-18 09:19:49.670905", "msg": "", "rc": 0, "start": "2025-12-18 09:19:49.665588", "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.005424", "end": "2025-12-18 09:20:14.468517", "msg": "", "rc": 0, "start": "2025-12-18 09:20:14.463093", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.018260", "end": "2025-12-18 09:20:15.188067", "msg": "", "rc": 0, "start": "2025-12-18 09:20:15.169807", "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.025734", "end": "2025-12-18 09:20:14.451797", "msg": "", "rc": 0, "start": "2025-12-18 09:20:14.426063", "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.004175", "end": "2025-12-18 09:20:14.990812", "msg": "", "rc": 0, "start": "2025-12-18 09:20:14.986637", "stderr": "", "stderr_lines": [], "stdout": "78.0%", "stdout_lines": ["78.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.004746", "end": "2025-12-18 09:20:15.019258", "msg": "", "rc": 0, "start": "2025-12-18 09:20:15.014512", "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.004171", "end": "2025-12-18 09:20:15.026593", "msg": "", "rc": 0, "start": "2025-12-18 09:20:15.022422", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.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.005040", "end": "2025-12-18 09:20:15.034825", "msg": "", "rc": 0, "start": "2025-12-18 09:20:15.029785", "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.005567", "end": "2025-12-18 09:20:15.043085", "msg": "", "rc": 0, "start": "2025-12-18 09:20:15.037518", "stderr": "", "stderr_lines": [], "stdout": "58.8%", "stdout_lines": ["58.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.003781", "end": "2025-12-18 09:19:48.177778", "msg": "", "rc": 0, "start": "2025-12-18 09:19:48.173997", "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.004094", "end": "2025-12-18 09:19:41.445886", "msg": "", "rc": 0, "start": "2025-12-18 09:19:41.441792", "stderr": "", "stderr_lines": [], "stdout": "64.3%", "stdout_lines": ["64.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.011462", "end": "2025-12-18 09:20:15.711890", "msg": "", "rc": 0, "start": "2025-12-18 09:20:15.700428", "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.011838", "end": "2025-12-18 09:20:15.743443", "msg": "", "rc": 0, "start": "2025-12-18 09:20:15.731605", "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.005767", "end": "2025-12-18 09:20:15.937140", "msg": "", "rc": 0, "start": "2025-12-18 09:20:15.931373", "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.007553", "end": "2025-12-18 09:19:44.660556", "msg": "", "rc": 0, "start": "2025-12-18 09:19:44.653003", "stderr": "", "stderr_lines": [], "stdout": "25.8%", "stdout_lines": ["25.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.005026", "end": "2025-12-18 06:20:16.194691", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 06:20:16.189665", "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.003818", "end": "2025-12-18 09:19:51.516619", "msg": "", "rc": 0, "start": "2025-12-18 09:19:51.512801", "stderr": "", "stderr_lines": [], "stdout": "47.3%", "stdout_lines": ["47.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.006237", "end": "2025-12-18 09:20:16.365626", "msg": "", "rc": 0, "start": "2025-12-18 09:20:16.359389", "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.008637", "end": "2025-12-18 09:20:17.163228", "msg": "", "rc": 0, "start": "2025-12-18 09:20:17.154591", "stderr": "", "stderr_lines": [], "stdout": "12.6%", "stdout_lines": ["12.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.030156", "end": "2025-12-18 09:20:16.568265", "msg": "", "rc": 0, "start": "2025-12-18 09:20:16.538109", "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.005314", "end": "2025-12-18 09:20:17.114221", "msg": "", "rc": 0, "start": "2025-12-18 09:20:17.108907", "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.005135", "end": "2025-12-18 09:20:17.140335", "msg": "", "rc": 0, "start": "2025-12-18 09:20:17.135200", "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.005337", "end": "2025-12-18 09:20:17.144473", "msg": "", "rc": 0, "start": "2025-12-18 09:20:17.139136", "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.003588", "end": "2025-12-18 09:20:17.171378", "msg": "", "rc": 0, "start": "2025-12-18 09:20:17.167790", "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.006856", "end": "2025-12-18 09:20:17.200925", "msg": "", "rc": 0, "start": "2025-12-18 09:20:17.194069", "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.002801", "end": "2025-12-18 09:19:50.326356", "msg": "", "rc": 0, "start": "2025-12-18 09:19:50.323555", "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.003391", "end": "2025-12-18 09:19:43.673663", "msg": "", "rc": 0, "start": "2025-12-18 09:19:43.670272", "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.012200", "end": "2025-12-18 09:20:17.809745", "msg": "", "rc": 0, "start": "2025-12-18 09:20:17.797545", "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.012962", "end": "2025-12-18 09:20:17.849372", "msg": "", "rc": 0, "start": "2025-12-18 09:20:17.836410", "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.003322", "end": "2025-12-18 09:20:18.080826", "msg": "", "rc": 0, "start": "2025-12-18 09:20:18.077504", "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.004133", "end": "2025-12-18 06:20:18.305278", "msg": "", "rc": 0, "start": "2025-12-18 06:20:18.301145", "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.002923", "end": "2025-12-18 09:19:53.639943", "msg": "", "rc": 0, "start": "2025-12-18 09:19:53.637020", "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-18 09:19:46.859905", "msg": "", "rc": 0, "start": "2025-12-18 09:19:46.856394", "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.003001", "end": "2025-12-18 09:20:18.486311", "msg": "", "rc": 0, "start": "2025-12-18 09:20:18.483310", "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.004258", "end": "2025-12-18 09:20:19.475468", "msg": "", "rc": 0, "start": "2025-12-18 09:20:19.471210", "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-18 09:20:18.674956", "msg": "", "rc": 0, "start": "2025-12-18 09:20:18.646262", "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.004328", "end": "2025-12-18 09:20:19.195831", "msg": "", "rc": 0, "start": "2025-12-18 09:20:19.191503", "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.004032", "end": "2025-12-18 09:20:19.211684", "msg": "", "rc": 0, "start": "2025-12-18 09:20:19.207652", "stderr": "", "stderr_lines": [], "stdout": "0.72", "stdout_lines": ["0.72"]}
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.004854", "end": "2025-12-18 09:20:19.227369", "msg": "", "rc": 0, "start": "2025-12-18 09:20:19.222515", "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.004940", "end": "2025-12-18 09:20:19.250972", "msg": "", "rc": 0, "start": "2025-12-18 09:20:19.246032", "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.006082", "end": "2025-12-18 09:20:19.278887", "msg": "", "rc": 0, "start": "2025-12-18 09:20:19.272805", "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.004161", "end": "2025-12-18 09:19:52.395655", "msg": "", "rc": 0, "start": "2025-12-18 09:19:52.391494", "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.006610", "end": "2025-12-18 09:19:45.723132", "msg": "", "rc": 0, "start": "2025-12-18 09:19:45.716522", "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.010175", "end": "2025-12-18 09:20:19.957438", "msg": "", "rc": 0, "start": "2025-12-18 09:20:19.947263", "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.011161", "end": "2025-12-18 09:20:19.996258", "msg": "", "rc": 0, "start": "2025-12-18 09:20:19.985097", "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.005581", "end": "2025-12-18 09:20:20.150795", "msg": "", "rc": 0, "start": "2025-12-18 09:20:20.145214", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
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.004820", "end": "2025-12-18 09:19:48.888951", "msg": "", "rc": 0, "start": "2025-12-18 09:19:48.884131", "stderr": "", "stderr_lines": [], "stdout": "0.73", "stdout_lines": ["0.73"]}
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-18 06:20:20.440650", "msg": "", "rc": 0, "start": "2025-12-18 06:20:20.434784", "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.004233", "end": "2025-12-18 09:19:55.779811", "msg": "", "rc": 0, "start": "2025-12-18 09:19:55.775578", "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.005252", "end": "2025-12-18 09:20:20.572480", "msg": "", "rc": 0, "start": "2025-12-18 09:20:20.567228", "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.009359", "end": "2025-12-18 09:20:21.557725", "msg": "", "rc": 0, "start": "2025-12-18 09:20:21.548366", "stderr": "", "stderr_lines": [], "stdout": "1.55", "stdout_lines": ["1.55"]}
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.024569", "end": "2025-12-18 09:20:20.580517", "msg": "", "rc": 0, "start": "2025-12-18 09:20:20.555948", "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: 09:20:11 up 3 days, 22:52, 1 user, load average: 0.76, 0.84, 0.55\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 0.72\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:20:11 up 22 days, 20:11, 1 user, load average: 0.11, 0.16, 0.17\nDisk Usage: 23%\nMemory Usage: 78.0%\nCPU Load: 0.10\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:20:11 up 22 days, 20:31, 1 user, load average: 0.77, 0.73, 0.64\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.80\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:20:11 up 22 days, 21:44, 1 user, load average: 0.82, 0.66, 0.64\nDisk Usage: 14%\nMemory Usage: 58.8%\nCPU Load: 0.84\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:20:11 up 22 days, 22:30, 1 user, load average: 0.01, 0.05, 0.01\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: 09:20:12 up 15 days, 22:46, 1 user, load average: 0.22, 0.14, 0.08\nDisk Usage: 21%\nMemory Usage: 19.9%\nCPU Load: 0.34\nCPU Temp: 35.8°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:20:11 up 195 days, 53 min, 1 user, load average: 0.17, 0.24, 0.20\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.31\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:20:11 up 195 days, 53 min, 1 user, load average: 0.10, 0.15, 0.11\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.34\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:19:44 up 11 days, 21:09, 0 user, load average: 0.13, 0.10, 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: 09:19:37 up 18 days, 17:21, 0 user, load average: 0.08, 0.02, 0.01\nDisk Usage: 24%\nMemory Usage: 64.3%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:20:12 up 3 days, 22:51, 1 user, load average: 0.18, 0.08, 0.02\nDisk Usage: 1%\nMemory Usage: 35.6%\nCPU Load: 0.25\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:19:40 up 21 days, 12:13, 0 user, load average: 0.70, 0.49, 0.45\nDisk Usage: 28%\nMemory Usage: 25.8%\nCPU Load: 0.73\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:19:47 up 17 days, 22:35, 0 user, load average: 0.64, 0.38, 0.21\nDisk Usage: 76%\nMemory Usage: 47.3%\nCPU Load: 0.67\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:20AM up 22 days, 20:09, 1 user, load averages: 0.38, 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: 09:20:12 up 3 days, 22:51, 1 user, load average: 0.17, 0.17, 0.12\nDisk Usage: 79%\nMemory Usage: 14.0%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:20:13 up 5:22, 1 user, load average: 1.34, 1.18, 1.18\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.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-18T14:20:22.409992+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `e5d6ef657806460189def1a0f87d1dbc` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T14:25:00.003189+00:00 |
| **Fin** | 2025-12-18T14:25:20.937249+00:00 |
| **Durée** | 20.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: [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: [ali2v.xeon.home]
ok: [hp3.i5.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: [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.003346", "end": "2025-12-18 09:25:10.211340", "msg": "", "rc": 0, "start": "2025-12-18 09:25:10.207994", "stderr": "", "stderr_lines": [], "stdout": " 09:25:10 up 22 days, 20:36, 1 user, load average: 0.66, 0.64, 0.62", "stdout_lines": [" 09:25:10 up 22 days, 20:36, 1 user, load average: 0.66, 0.64, 0.62"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002901", "end": "2025-12-18 09:25:10.221003", "msg": "", "rc": 0, "start": "2025-12-18 09:25:10.218102", "stderr": "", "stderr_lines": [], "stdout": " 09:25:10 up 3 days, 22:57, 1 user, load average: 0.25, 0.45, 0.45", "stdout_lines": [" 09:25:10 up 3 days, 22:57, 1 user, load average: 0.25, 0.45, 0.45"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003765", "end": "2025-12-18 09:25:10.217978", "msg": "", "rc": 0, "start": "2025-12-18 09:25:10.214213", "stderr": "", "stderr_lines": [], "stdout": " 09:25:10 up 22 days, 22:35, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 09:25:10 up 22 days, 22:35, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003841", "end": "2025-12-18 09:25:10.221458", "msg": "", "rc": 0, "start": "2025-12-18 09:25:10.217617", "stderr": "", "stderr_lines": [], "stdout": " 09:25:10 up 22 days, 21:49, 1 user, load average: 0.72, 0.64, 0.63", "stdout_lines": [" 09:25:10 up 22 days, 21:49, 1 user, load average: 0.72, 0.64, 0.63"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002782", "end": "2025-12-18 09:24:43.368876", "msg": "", "rc": 0, "start": "2025-12-18 09:24:43.366094", "stderr": "", "stderr_lines": [], "stdout": " 09:24:43 up 11 days, 21:14, 0 user, load average: 0.24, 0.16, 0.11", "stdout_lines": [" 09:24:43 up 11 days, 21:14, 0 user, load average: 0.24, 0.16, 0.11"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008327", "end": "2025-12-18 09:25:10.909437", "msg": "", "rc": 0, "start": "2025-12-18 09:25:10.901110", "stderr": "", "stderr_lines": [], "stdout": " 09:25:10 up 195 days, 58 min, 1 user, load average: 0.30, 0.27, 0.17", "stdout_lines": [" 09:25:10 up 195 days, 58 min, 1 user, load average: 0.30, 0.27, 0.17"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009311", "end": "2025-12-18 09:25:10.918545", "msg": "", "rc": 0, "start": "2025-12-18 09:25:10.909234", "stderr": "", "stderr_lines": [], "stdout": " 09:25:10 up 195 days, 58 min, 1 user, load average: 0.10, 0.19, 0.18", "stdout_lines": [" 09:25:10 up 195 days, 58 min, 1 user, load average: 0.10, 0.19, 0.18"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003802", "end": "2025-12-18 09:25:11.203066", "msg": "", "rc": 0, "start": "2025-12-18 09:25:10.199264", "stderr": "", "stderr_lines": [], "stdout": " 09:25:10 up 22 days, 20:16, 1 user, load average: 0.11, 0.11, 0.14", "stdout_lines": [" 09:25:10 up 22 days, 20:16, 1 user, load average: 0.11, 0.11, 0.14"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003684", "end": "2025-12-18 09:24:37.074973", "msg": "", "rc": 0, "start": "2025-12-18 09:24:37.071289", "stderr": "", "stderr_lines": [], "stdout": " 09:24:37 up 18 days, 17:26, 0 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 09:24:37 up 18 days, 17:26, 0 user, load average: 0.00, 0.00, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004933", "end": "2025-12-18 09:25:11.403434", "msg": "", "rc": 0, "start": "2025-12-18 09:25:11.398501", "stderr": "", "stderr_lines": [], "stdout": " 09:25:11 up 3 days, 22:56, 1 user, load average: 0.00, 0.03, 0.00", "stdout_lines": [" 09:25:11 up 3 days, 22:56, 1 user, load average: 0.00, 0.03, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003113", "end": "2025-12-18 09:24:40.002130", "msg": "", "rc": 0, "start": "2025-12-18 09:24:39.999017", "stderr": "", "stderr_lines": [], "stdout": " 09:24:40 up 21 days, 12:18, 0 user, load average: 0.52, 0.57, 0.51", "stdout_lines": [" 09:24:40 up 21 days, 12:18, 0 user, load average: 0.52, 0.57, 0.51"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004088", "end": "2025-12-18 06:25:11.601689", "msg": "", "rc": 0, "start": "2025-12-18 06:25:11.597601", "stderr": "", "stderr_lines": [], "stdout": " 6:25AM up 22 days, 20:14, 1 user, load averages: 0.15, 0.27, 0.23", "stdout_lines": [" 6:25AM up 22 days, 20:14, 1 user, load averages: 0.15, 0.27, 0.23"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.016328", "end": "2025-12-18 09:24:46.955579", "msg": "", "rc": 0, "start": "2025-12-18 09:24:46.939251", "stderr": "", "stderr_lines": [], "stdout": " 09:24:46 up 17 days, 22:40, 0 user, load average: 0.36, 0.39, 0.27", "stdout_lines": [" 09:24:46 up 17 days, 22:40, 0 user, load average: 0.36, 0.39, 0.27"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019331", "end": "2025-12-18 09:25:11.582110", "msg": "", "rc": 0, "start": "2025-12-18 09:25:11.562779", "stderr": "", "stderr_lines": [], "stdout": " 09:25:11 up 15 days, 22:51, 2 users, load average: 0.04, 0.10, 0.08", "stdout_lines": [" 09:25:11 up 15 days, 22:51, 2 users, load average: 0.04, 0.10, 0.08"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007389", "end": "2025-12-18 09:25:11.818911", "msg": "", "rc": 0, "start": "2025-12-18 09:25:11.811522", "stderr": "", "stderr_lines": [], "stdout": " 09:25:11 up 5:27, 1 user, load average: 1.53, 1.24, 1.19", "stdout_lines": [" 09:25:11 up 5:27, 1 user, load average: 1.53, 1.24, 1.19"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003733", "end": "2025-12-18 09:25:11.814812", "msg": "", "rc": 0, "start": "2025-12-18 09:25:11.811079", "stderr": "", "stderr_lines": [], "stdout": " 09:25:11 up 3 days, 22:56, 1 user, load average: 0.11, 0.18, 0.14", "stdout_lines": [" 09:25:11 up 3 days, 22:56, 1 user, load average: 0.11, 0.18, 0.14"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004385", "end": "2025-12-18 09:25:12.215859", "msg": "", "rc": 0, "start": "2025-12-18 09:25:12.211474", "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.004074", "end": "2025-12-18 09:25:12.232284", "msg": "", "rc": 0, "start": "2025-12-18 09:25:12.228210", "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.004932", "end": "2025-12-18 09:25:12.247832", "msg": "", "rc": 0, "start": "2025-12-18 09:25:12.242900", "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.006053", "end": "2025-12-18 09:25:12.284520", "msg": "", "rc": 0, "start": "2025-12-18 09:25:12.278467", "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.004726", "end": "2025-12-18 09:25:12.288782", "msg": "", "rc": 0, "start": "2025-12-18 09:25:12.284056", "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.005337", "end": "2025-12-18 09:24:45.409320", "msg": "", "rc": 0, "start": "2025-12-18 09:24:45.403983", "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.006495", "end": "2025-12-18 09:24:38.689158", "msg": "", "rc": 0, "start": "2025-12-18 09:24:38.682663", "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.010671", "end": "2025-12-18 09:25:12.948296", "msg": "", "rc": 0, "start": "2025-12-18 09:25:12.937625", "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.011552", "end": "2025-12-18 09:25:12.959970", "msg": "", "rc": 0, "start": "2025-12-18 09:25:12.948418", "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.006586", "end": "2025-12-18 09:25:13.166667", "msg": "", "rc": 0, "start": "2025-12-18 09:25:13.160081", "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.005371", "end": "2025-12-18 09:24:41.845212", "msg": "", "rc": 0, "start": "2025-12-18 09:24:41.839841", "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.005377", "end": "2025-12-18 06:25:13.407820", "msg": "", "rc": 0, "start": "2025-12-18 06:25:13.402443", "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.005042", "end": "2025-12-18 09:24:48.730548", "msg": "", "rc": 0, "start": "2025-12-18 09:24:48.725506", "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.005741", "end": "2025-12-18 09:25:13.574646", "msg": "", "rc": 0, "start": "2025-12-18 09:25:13.568905", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.016934", "end": "2025-12-18 09:25:13.769405", "msg": "", "rc": 0, "start": "2025-12-18 09:25:13.752471", "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.025163", "end": "2025-12-18 09:25:13.583338", "msg": "", "rc": 0, "start": "2025-12-18 09:25:13.558175", "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.004158", "end": "2025-12-18 09:25:14.091746", "msg": "", "rc": 0, "start": "2025-12-18 09:25:14.087588", "stderr": "", "stderr_lines": [], "stdout": "78.0%", "stdout_lines": ["78.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.004100", "end": "2025-12-18 09:25:14.119505", "msg": "", "rc": 0, "start": "2025-12-18 09:25:14.115405", "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.004746", "end": "2025-12-18 09:25:14.127080", "msg": "", "rc": 0, "start": "2025-12-18 09:25:14.122334", "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.004656", "end": "2025-12-18 09:25:14.147636", "msg": "", "rc": 0, "start": "2025-12-18 09:25:14.142980", "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.006492", "end": "2025-12-18 09:25:14.170136", "msg": "", "rc": 0, "start": "2025-12-18 09:25:14.163644", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.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.003733", "end": "2025-12-18 09:24:47.289641", "msg": "", "rc": 0, "start": "2025-12-18 09:24:47.285908", "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.005758", "end": "2025-12-18 09:24:40.599048", "msg": "", "rc": 0, "start": "2025-12-18 09:24:40.593290", "stderr": "", "stderr_lines": [], "stdout": "64.4%", "stdout_lines": ["64.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.010971", "end": "2025-12-18 09:25:14.785140", "msg": "", "rc": 0, "start": "2025-12-18 09:25:14.774169", "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.011941", "end": "2025-12-18 09:25:14.869229", "msg": "", "rc": 0, "start": "2025-12-18 09:25:14.857288", "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.005931", "end": "2025-12-18 09:25:15.044066", "msg": "", "rc": 0, "start": "2025-12-18 09:25:15.038135", "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.004188", "end": "2025-12-18 09:24:43.773767", "msg": "", "rc": 0, "start": "2025-12-18 09:24:43.769579", "stderr": "", "stderr_lines": [], "stdout": "27.6%", "stdout_lines": ["27.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.003700", "end": "2025-12-18 09:24:50.583597", "msg": "", "rc": 0, "start": "2025-12-18 09:24:50.579897", "stderr": "", "stderr_lines": [], "stdout": "47.9%", "stdout_lines": ["47.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.005236", "end": "2025-12-18 06:25:15.315821", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 06:25:15.310585", "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.006180", "end": "2025-12-18 09:25:15.456391", "msg": "", "rc": 0, "start": "2025-12-18 09:25:15.450211", "stderr": "", "stderr_lines": [], "stdout": "14.4%", "stdout_lines": ["14.4%"]}
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.011081", "end": "2025-12-18 09:25:15.801960", "msg": "", "rc": 0, "start": "2025-12-18 09:25:15.790879", "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.029186", "end": "2025-12-18 09:25:15.548451", "msg": "", "rc": 0, "start": "2025-12-18 09:25:15.519265", "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.005263", "end": "2025-12-18 09:25:16.064682", "msg": "", "rc": 0, "start": "2025-12-18 09:25:16.059419", "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.005459", "end": "2025-12-18 09:25:16.082157", "msg": "", "rc": 0, "start": "2025-12-18 09:25:16.076698", "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.005018", "end": "2025-12-18 09:25:16.098426", "msg": "", "rc": 0, "start": "2025-12-18 09:25:16.093408", "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.003015", "end": "2025-12-18 09:25:16.114808", "msg": "", "rc": 0, "start": "2025-12-18 09:25:16.111793", "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-18 09:25:16.137666", "msg": "", "rc": 0, "start": "2025-12-18 09:25:16.131135", "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.002552", "end": "2025-12-18 09:24:49.254169", "msg": "", "rc": 0, "start": "2025-12-18 09:24:49.251617", "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.003167", "end": "2025-12-18 09:24:42.535796", "msg": "", "rc": 0, "start": "2025-12-18 09:24:42.532629", "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.011943", "end": "2025-12-18 09:25:16.736772", "msg": "", "rc": 0, "start": "2025-12-18 09:25:16.724829", "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.013001", "end": "2025-12-18 09:25:16.787689", "msg": "", "rc": 0, "start": "2025-12-18 09:25:16.774688", "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.003291", "end": "2025-12-18 09:25:17.024902", "msg": "", "rc": 0, "start": "2025-12-18 09:25:17.021611", "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.002948", "end": "2025-12-18 09:24:52.531285", "msg": "", "rc": 0, "start": "2025-12-18 09:24:52.528337", "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.004318", "end": "2025-12-18 06:25:17.244969", "msg": "", "rc": 0, "start": "2025-12-18 06:25:17.240651", "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.003334", "end": "2025-12-18 09:24:45.765217", "msg": "", "rc": 0, "start": "2025-12-18 09:24:45.761883", "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.003026", "end": "2025-12-18 09:25:17.424012", "msg": "", "rc": 0, "start": "2025-12-18 09:25:17.420986", "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.003935", "end": "2025-12-18 09:25:17.822263", "msg": "", "rc": 0, "start": "2025-12-18 09:25:17.818328", "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.035774", "end": "2025-12-18 09:25:17.699117", "msg": "", "rc": 0, "start": "2025-12-18 09:25:17.663343", "stderr": "", "stderr_lines": [], "stdout": "38.1°C", "stdout_lines": ["38.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.004193", "end": "2025-12-18 09:25:18.234305", "msg": "", "rc": 0, "start": "2025-12-18 09:25:18.230112", "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.004012", "end": "2025-12-18 09:25:18.262223", "msg": "", "rc": 0, "start": "2025-12-18 09:25:18.258211", "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.004733", "end": "2025-12-18 09:25:18.270175", "msg": "", "rc": 0, "start": "2025-12-18 09:25:18.265442", "stderr": "", "stderr_lines": [], "stdout": "0.77", "stdout_lines": ["0.77"]}
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.005229", "end": "2025-12-18 09:25:18.284035", "msg": "", "rc": 0, "start": "2025-12-18 09:25:18.278806", "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-18 09:25:18.317793", "msg": "", "rc": 0, "start": "2025-12-18 09:25:18.312161", "stderr": "", "stderr_lines": [], "stdout": "0.69", "stdout_lines": ["0.69"]}
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.003999", "end": "2025-12-18 09:24:51.477670", "msg": "", "rc": 0, "start": "2025-12-18 09:24:51.473671", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
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.007732", "end": "2025-12-18 09:24:44.773250", "msg": "", "rc": 0, "start": "2025-12-18 09:24:44.765518", "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.010419", "end": "2025-12-18 09:25:19.027562", "msg": "", "rc": 0, "start": "2025-12-18 09:25:19.017143", "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.011340", "end": "2025-12-18 09:25:19.052900", "msg": "", "rc": 0, "start": "2025-12-18 09:25:19.041560", "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.005943", "end": "2025-12-18 09:25:19.247325", "msg": "", "rc": 0, "start": "2025-12-18 09:25:19.241382", "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.005131", "end": "2025-12-18 09:24:47.969205", "msg": "", "rc": 0, "start": "2025-12-18 09:24:47.964074", "stderr": "", "stderr_lines": [], "stdout": "0.68", "stdout_lines": ["0.68"]}
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.004330", "end": "2025-12-18 09:24:54.840047", "msg": "", "rc": 0, "start": "2025-12-18 09:24:54.835717", "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.005901", "end": "2025-12-18 06:25:19.532424", "msg": "", "rc": 0, "start": "2025-12-18 06:25:19.526523", "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.005639", "end": "2025-12-18 09:25:19.662743", "msg": "", "rc": 0, "start": "2025-12-18 09:25:19.657104", "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.024354", "end": "2025-12-18 09:25:19.637326", "msg": "", "rc": 0, "start": "2025-12-18 09:25:19.612972", "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.008338", "end": "2025-12-18 09:25:20.152584", "msg": "", "rc": 0, "start": "2025-12-18 09:25:20.144246", "stderr": "", "stderr_lines": [], "stdout": "1.69", "stdout_lines": ["1.69"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:25:10 up 22 days, 20:16, 1 user, load average: 0.11, 0.11, 0.14\nDisk Usage: 23%\nMemory Usage: 78.0%\nCPU Load: 0.10\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:25:10 up 3 days, 22:57, 1 user, load average: 0.25, 0.45, 0.45\nDisk Usage: 22%\nMemory Usage: 22.6%\nCPU Load: 0.31\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:25:10 up 22 days, 20:36, 1 user, load average: 0.66, 0.64, 0.62\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.77\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:25:10 up 22 days, 21:49, 1 user, load average: 0.72, 0.64, 0.63\nDisk Usage: 14%\nMemory Usage: 58.7%\nCPU Load: 0.69\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:25:10 up 22 days, 22:35, 1 user, load average: 0.00, 0.01, 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: 09:25:11 up 15 days, 22:51, 2 users, load average: 0.04, 0.10, 0.08\nDisk Usage: 21%\nMemory Usage: 20.3%\nCPU Load: 0.20\nCPU Temp: 38.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:25:10 up 195 days, 58 min, 1 user, load average: 0.10, 0.19, 0.18\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.18\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:25:10 up 195 days, 58 min, 1 user, load average: 0.30, 0.27, 0.17\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.27\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:24:43 up 11 days, 21:14, 0 user, load average: 0.24, 0.16, 0.11\nDisk Usage: 48%\nMemory Usage: 70.9%\nCPU Load: 0.42\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:24:37 up 18 days, 17:26, 0 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 24%\nMemory Usage: 64.4%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:25:11 up 3 days, 22:56, 1 user, load average: 0.00, 0.03, 0.00\nDisk Usage: 1%\nMemory Usage: 35.6%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:24:40 up 21 days, 12:18, 0 user, load average: 0.52, 0.57, 0.51\nDisk Usage: 28%\nMemory Usage: 27.6%\nCPU Load: 0.68\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:24:46 up 17 days, 22:40, 0 user, load average: 0.36, 0.39, 0.27\nDisk Usage: 76%\nMemory Usage: 47.9%\nCPU Load: 0.33\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:25AM up 22 days, 20:14, 1 user, load averages: 0.15, 0.27, 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: 09:25:11 up 3 days, 22:56, 1 user, load average: 0.11, 0.18, 0.14\nDisk Usage: 79%\nMemory Usage: 14.4%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:25:11 up 5:27, 1 user, load average: 1.53, 1.24, 1.19\nDisk Usage: 1%\nMemory Usage: 12.7%\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-18T14:25:20.982349+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `8d8314d3a1df4b70b224dfa17218ed36` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T14:30:00.005901+00:00 |
| **Fin** | 2025-12-18T14:30:23.686754+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: [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.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: [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.003588", "end": "2025-12-18 09:30:12.777308", "msg": "", "rc": 0, "start": "2025-12-18 09:30:12.773720", "stderr": "", "stderr_lines": [], "stdout": " 09:30:12 up 22 days, 22:40, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 09:30:12 up 22 days, 22:40, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003946", "end": "2025-12-18 09:30:12.789357", "msg": "", "rc": 0, "start": "2025-12-18 09:30:12.785411", "stderr": "", "stderr_lines": [], "stdout": " 09:30:12 up 22 days, 20:41, 1 user, load average: 0.63, 0.64, 0.63", "stdout_lines": [" 09:30:12 up 22 days, 20:41, 1 user, load average: 0.63, 0.64, 0.63"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002831", "end": "2025-12-18 09:30:12.810110", "msg": "", "rc": 0, "start": "2025-12-18 09:30:12.807279", "stderr": "", "stderr_lines": [], "stdout": " 09:30:12 up 3 days, 23:02, 1 user, load average: 0.10, 0.25, 0.36", "stdout_lines": [" 09:30:12 up 3 days, 23:02, 1 user, load average: 0.10, 0.25, 0.36"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004094", "end": "2025-12-18 09:30:12.803899", "msg": "", "rc": 0, "start": "2025-12-18 09:30:12.799805", "stderr": "", "stderr_lines": [], "stdout": " 09:30:12 up 22 days, 21:54, 1 user, load average: 0.61, 0.62, 0.63", "stdout_lines": [" 09:30:12 up 22 days, 21:54, 1 user, load average: 0.61, 0.62, 0.63"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003412", "end": "2025-12-18 09:29:45.973735", "msg": "", "rc": 0, "start": "2025-12-18 09:29:45.970323", "stderr": "", "stderr_lines": [], "stdout": " 09:29:45 up 11 days, 21:19, 0 user, load average: 0.30, 0.17, 0.11", "stdout_lines": [" 09:29:45 up 11 days, 21:19, 0 user, load average: 0.30, 0.17, 0.11"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008342", "end": "2025-12-18 09:30:13.472758", "msg": "", "rc": 0, "start": "2025-12-18 09:30:13.464416", "stderr": "", "stderr_lines": [], "stdout": " 09:30:13 up 195 days, 1:03, 1 user, load average: 0.18, 0.19, 0.15", "stdout_lines": [" 09:30:13 up 195 days, 1:03, 1 user, load average: 0.18, 0.19, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009282", "end": "2025-12-18 09:30:13.512701", "msg": "", "rc": 0, "start": "2025-12-18 09:30:13.503419", "stderr": "", "stderr_lines": [], "stdout": " 09:30:13 up 195 days, 1:03, 1 user, load average: 0.23, 0.23, 0.19", "stdout_lines": [" 09:30:13 up 195 days, 1:03, 1 user, load average: 0.23, 0.23, 0.19"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004288", "end": "2025-12-18 09:30:13.769435", "msg": "", "rc": 0, "start": "2025-12-18 09:30:12.765147", "stderr": "", "stderr_lines": [], "stdout": " 09:30:12 up 22 days, 20:21, 1 user, load average: 0.10, 0.08, 0.11", "stdout_lines": [" 09:30:12 up 22 days, 20:21, 1 user, load average: 0.10, 0.08, 0.11"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003269", "end": "2025-12-18 09:29:39.691683", "msg": "", "rc": 0, "start": "2025-12-18 09:29:39.688414", "stderr": "", "stderr_lines": [], "stdout": " 09:29:39 up 18 days, 17:31, 0 user, load average: 0.10, 0.04, 0.01", "stdout_lines": [" 09:29:39 up 18 days, 17:31, 0 user, load average: 0.10, 0.04, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005326", "end": "2025-12-18 09:30:14.087174", "msg": "", "rc": 0, "start": "2025-12-18 09:30:14.081848", "stderr": "", "stderr_lines": [], "stdout": " 09:30:14 up 3 days, 23:01, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 09:30:14 up 3 days, 23:01, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003368", "end": "2025-12-18 09:29:42.696226", "msg": "", "rc": 0, "start": "2025-12-18 09:29:42.692858", "stderr": "", "stderr_lines": [], "stdout": " 09:29:42 up 21 days, 12:24, 0 user, load average: 0.43, 0.48, 0.47", "stdout_lines": [" 09:29:42 up 21 days, 12:24, 0 user, load average: 0.43, 0.48, 0.47"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004150", "end": "2025-12-18 06:30:14.215647", "msg": "", "rc": 0, "start": "2025-12-18 06:30:14.211497", "stderr": "", "stderr_lines": [], "stdout": " 6:30AM up 22 days, 20:20, 1 user, load averages: 0.26, 0.24, 0.22", "stdout_lines": [" 6:30AM up 22 days, 20:20, 1 user, load averages: 0.26, 0.24, 0.22"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007227", "end": "2025-12-18 09:29:49.544485", "msg": "", "rc": 0, "start": "2025-12-18 09:29:49.537258", "stderr": "", "stderr_lines": [], "stdout": " 09:29:49 up 17 days, 22:45, 0 user, load average: 0.59, 0.44, 0.31", "stdout_lines": [" 09:29:49 up 17 days, 22:45, 0 user, load average: 0.59, 0.44, 0.31"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.021164", "end": "2025-12-18 09:30:14.209538", "msg": "", "rc": 0, "start": "2025-12-18 09:30:14.188374", "stderr": "", "stderr_lines": [], "stdout": " 09:30:14 up 15 days, 22:56, 1 user, load average: 0.30, 0.18, 0.11", "stdout_lines": [" 09:30:14 up 15 days, 22:56, 1 user, load average: 0.30, 0.18, 0.11"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008204", "end": "2025-12-18 09:30:15.552387", "msg": "", "rc": 0, "start": "2025-12-18 09:30:15.544183", "stderr": "", "stderr_lines": [], "stdout": " 09:30:15 up 5:32, 1 user, load average: 1.73, 1.28, 1.21", "stdout_lines": [" 09:30:15 up 5:32, 1 user, load average: 1.73, 1.28, 1.21"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003731", "end": "2025-12-18 09:30:14.502052", "msg": "", "rc": 0, "start": "2025-12-18 09:30:14.498321", "stderr": "", "stderr_lines": [], "stdout": " 09:30:14 up 3 days, 23:01, 1 user, load average: 0.02, 0.08, 0.10", "stdout_lines": [" 09:30:14 up 3 days, 23:01, 1 user, load average: 0.02, 0.08, 0.10"]}
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-18 09:30:14.886618", "msg": "", "rc": 0, "start": "2025-12-18 09:30:14.882481", "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.004146", "end": "2025-12-18 09:30:14.902303", "msg": "", "rc": 0, "start": "2025-12-18 09:30:14.898157", "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.004738", "end": "2025-12-18 09:30:14.940523", "msg": "", "rc": 0, "start": "2025-12-18 09:30:14.935785", "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.005393", "end": "2025-12-18 09:30:14.941763", "msg": "", "rc": 0, "start": "2025-12-18 09:30:14.936370", "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.004802", "end": "2025-12-18 09:30:14.963057", "msg": "", "rc": 0, "start": "2025-12-18 09:30:14.958255", "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.004956", "end": "2025-12-18 09:29:48.090607", "msg": "", "rc": 0, "start": "2025-12-18 09:29:48.085651", "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.005449", "end": "2025-12-18 09:29:41.338454", "msg": "", "rc": 0, "start": "2025-12-18 09:29:41.333005", "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.011636", "end": "2025-12-18 09:30:15.577918", "msg": "", "rc": 0, "start": "2025-12-18 09:30:15.566282", "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.010563", "end": "2025-12-18 09:30:15.662560", "msg": "", "rc": 0, "start": "2025-12-18 09:30:15.651997", "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.005723", "end": "2025-12-18 09:30:15.868628", "msg": "", "rc": 0, "start": "2025-12-18 09:30:15.862905", "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.005126", "end": "2025-12-18 09:29:44.526707", "msg": "", "rc": 0, "start": "2025-12-18 09:29:44.521581", "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.009050", "end": "2025-12-18 09:29:51.396848", "msg": "", "rc": 0, "start": "2025-12-18 09:29:51.387798", "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.005484", "end": "2025-12-18 06:30:16.104549", "msg": "", "rc": 0, "start": "2025-12-18 06:30:16.099065", "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.005575", "end": "2025-12-18 09:30:16.284689", "msg": "", "rc": 0, "start": "2025-12-18 09:30:16.279114", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020026", "end": "2025-12-18 09:30:17.479937", "msg": "", "rc": 0, "start": "2025-12-18 09:30:17.459911", "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.027800", "end": "2025-12-18 09:30:16.475246", "msg": "", "rc": 0, "start": "2025-12-18 09:30:16.447446", "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.004240", "end": "2025-12-18 09:30:17.022367", "msg": "", "rc": 0, "start": "2025-12-18 09:30:17.018127", "stderr": "", "stderr_lines": [], "stdout": "77.9%", "stdout_lines": ["77.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.005150", "end": "2025-12-18 09:30:17.048441", "msg": "", "rc": 0, "start": "2025-12-18 09:30:17.043291", "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.004308", "end": "2025-12-18 09:30:17.051550", "msg": "", "rc": 0, "start": "2025-12-18 09:30:17.047242", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.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.004895", "end": "2025-12-18 09:30:17.076139", "msg": "", "rc": 0, "start": "2025-12-18 09:30:17.071244", "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.005399", "end": "2025-12-18 09:30:17.086409", "msg": "", "rc": 0, "start": "2025-12-18 09:30:17.081010", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.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.003818", "end": "2025-12-18 09:29:50.199771", "msg": "", "rc": 0, "start": "2025-12-18 09:29:50.195953", "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.004385", "end": "2025-12-18 09:29:43.498206", "msg": "", "rc": 0, "start": "2025-12-18 09:29:43.493821", "stderr": "", "stderr_lines": [], "stdout": "64.5%", "stdout_lines": ["64.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.010802", "end": "2025-12-18 09:30:17.723296", "msg": "", "rc": 0, "start": "2025-12-18 09:30:17.712494", "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.011942", "end": "2025-12-18 09:30:17.748603", "msg": "", "rc": 0, "start": "2025-12-18 09:30:17.736661", "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.005904", "end": "2025-12-18 09:30:17.965537", "msg": "", "rc": 0, "start": "2025-12-18 09:30:17.959633", "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.004162", "end": "2025-12-18 09:29:46.703896", "msg": "", "rc": 0, "start": "2025-12-18 09:29:46.699734", "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.005291", "end": "2025-12-18 06:30:18.327329", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 06:30:18.322038", "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.009070", "end": "2025-12-18 09:29:53.653539", "msg": "", "rc": 0, "start": "2025-12-18 09:29:53.644469", "stderr": "", "stderr_lines": [], "stdout": "46.1%", "stdout_lines": ["46.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.005468", "end": "2025-12-18 09:30:18.405879", "msg": "", "rc": 0, "start": "2025-12-18 09:30:18.400411", "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.009968", "end": "2025-12-18 09:30:19.736708", "msg": "", "rc": 0, "start": "2025-12-18 09:30:19.726740", "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.025763", "end": "2025-12-18 09:30:18.518043", "msg": "", "rc": 0, "start": "2025-12-18 09:30:18.492280", "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.005326", "end": "2025-12-18 09:30:19.070294", "msg": "", "rc": 0, "start": "2025-12-18 09:30:19.064968", "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.005931", "end": "2025-12-18 09:30:19.092858", "msg": "", "rc": 0, "start": "2025-12-18 09:30:19.086927", "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.002865", "end": "2025-12-18 09:30:19.105015", "msg": "", "rc": 0, "start": "2025-12-18 09:30:19.102150", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
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.004877", "end": "2025-12-18 09:30:19.116837", "msg": "", "rc": 0, "start": "2025-12-18 09:30:19.111960", "stderr": "", "stderr_lines": [], "stdout": "45.0°C", "stdout_lines": ["45.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.007017", "end": "2025-12-18 09:30:19.145531", "msg": "", "rc": 0, "start": "2025-12-18 09:30:19.138514", "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.003001", "end": "2025-12-18 09:29:52.258276", "msg": "", "rc": 0, "start": "2025-12-18 09:29:52.255275", "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.004017", "end": "2025-12-18 09:29:45.558203", "msg": "", "rc": 0, "start": "2025-12-18 09:29:45.554186", "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.011861", "end": "2025-12-18 09:30:19.750359", "msg": "", "rc": 0, "start": "2025-12-18 09:30:19.738498", "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.013173", "end": "2025-12-18 09:30:19.800512", "msg": "", "rc": 0, "start": "2025-12-18 09:30:19.787339", "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.003356", "end": "2025-12-18 09:30:20.008113", "msg": "", "rc": 0, "start": "2025-12-18 09:30:20.004757", "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.002992", "end": "2025-12-18 09:29:48.743771", "msg": "", "rc": 0, "start": "2025-12-18 09:29:48.740779", "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.002485", "end": "2025-12-18 09:29:55.555395", "msg": "", "rc": 0, "start": "2025-12-18 09:29:55.552910", "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.003949", "end": "2025-12-18 06:30:20.276041", "msg": "", "rc": 0, "start": "2025-12-18 06:30:20.272092", "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.002949", "end": "2025-12-18 09:30:20.400838", "msg": "", "rc": 0, "start": "2025-12-18 09:30:20.397889", "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.005391", "end": "2025-12-18 09:30:21.834836", "msg": "", "rc": 0, "start": "2025-12-18 09:30:21.829445", "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.028561", "end": "2025-12-18 09:30:20.430605", "msg": "", "rc": 0, "start": "2025-12-18 09:30:20.402044", "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.004125", "end": "2025-12-18 09:30:20.962354", "msg": "", "rc": 0, "start": "2025-12-18 09:30:20.958229", "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.004296", "end": "2025-12-18 09:30:20.987261", "msg": "", "rc": 0, "start": "2025-12-18 09:30:20.982965", "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.004654", "end": "2025-12-18 09:30:21.006009", "msg": "", "rc": 0, "start": "2025-12-18 09:30:21.001355", "stderr": "", "stderr_lines": [], "stdout": "0.61", "stdout_lines": ["0.61"]}
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.005119", "end": "2025-12-18 09:30:21.050584", "msg": "", "rc": 0, "start": "2025-12-18 09:30:21.045465", "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.005633", "end": "2025-12-18 09:30:21.047040", "msg": "", "rc": 0, "start": "2025-12-18 09:30:21.041407", "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.005059", "end": "2025-12-18 09:29:54.369584", "msg": "", "rc": 0, "start": "2025-12-18 09:29:54.364525", "stderr": "", "stderr_lines": [], "stdout": "0.44", "stdout_lines": ["0.44"]}
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.005404", "end": "2025-12-18 09:29:47.670468", "msg": "", "rc": 0, "start": "2025-12-18 09:29:47.665064", "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.011041", "end": "2025-12-18 09:30:21.856705", "msg": "", "rc": 0, "start": "2025-12-18 09:30:21.845664", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
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.010192", "end": "2025-12-18 09:30:21.927597", "msg": "", "rc": 0, "start": "2025-12-18 09:30:21.917405", "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.005632", "end": "2025-12-18 09:30:22.212948", "msg": "", "rc": 0, "start": "2025-12-18 09:30:22.207316", "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.005047", "end": "2025-12-18 09:29:50.950300", "msg": "", "rc": 0, "start": "2025-12-18 09:29:50.945253", "stderr": "", "stderr_lines": [], "stdout": "0.45", "stdout_lines": ["0.45"]}
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.005991", "end": "2025-12-18 06:30:22.456814", "msg": "", "rc": 0, "start": "2025-12-18 06:30:22.450823", "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.004323", "end": "2025-12-18 09:29:57.797211", "msg": "", "rc": 0, "start": "2025-12-18 09:29:57.792888", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.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.024436", "end": "2025-12-18 09:30:22.500569", "msg": "", "rc": 0, "start": "2025-12-18 09:30:22.476133", "stderr": "", "stderr_lines": [], "stdout": "0.48", "stdout_lines": ["0.48"]}
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.005208", "end": "2025-12-18 09:30:22.663506", "msg": "", "rc": 0, "start": "2025-12-18 09:30:22.658298", "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.007105", "end": "2025-12-18 09:30:22.874727", "msg": "", "rc": 0, "start": "2025-12-18 09:30:22.867622", "stderr": "", "stderr_lines": [], "stdout": "1.69", "stdout_lines": ["1.69"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:30:12 up 3 days, 23:02, 1 user, load average: 0.10, 0.25, 0.36\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 0.08\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:30:12 up 22 days, 20:21, 1 user, load average: 0.10, 0.08, 0.11\nDisk Usage: 23%\nMemory Usage: 77.9%\nCPU Load: 0.08\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:30:12 up 22 days, 20:41, 1 user, load average: 0.63, 0.64, 0.63\nDisk Usage: 14%\nMemory Usage: 49.1%\nCPU Load: 0.61\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:30:12 up 22 days, 21:54, 1 user, load average: 0.61, 0.62, 0.63\nDisk Usage: 14%\nMemory Usage: 58.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: 09:30:12 up 22 days, 22:40, 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: 09:30:14 up 15 days, 22:56, 1 user, load average: 0.30, 0.18, 0.11\nDisk Usage: 21%\nMemory Usage: 19.5%\nCPU Load: 0.48\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:30:13 up 195 days, 1:03, 1 user, load average: 0.23, 0.23, 0.19\nDisk Usage: 6%\nMemory Usage: 13.2%\nCPU Load: 0.27\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:30:13 up 195 days, 1:03, 1 user, load average: 0.18, 0.19, 0.15\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.22\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:29:45 up 11 days, 21:19, 0 user, load average: 0.30, 0.17, 0.11\nDisk Usage: 48%\nMemory Usage: 71.0%\nCPU Load: 0.44\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:29:39 up 18 days, 17:31, 0 user, load average: 0.10, 0.04, 0.01\nDisk Usage: 24%\nMemory Usage: 64.5%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:30:14 up 3 days, 23:01, 1 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 1%\nMemory Usage: 35.6%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:29:42 up 21 days, 12:24, 0 user, load average: 0.43, 0.48, 0.47\nDisk Usage: 28%\nMemory Usage: 27.7%\nCPU Load: 0.45\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:29:49 up 17 days, 22:45, 0 user, load average: 0.59, 0.44, 0.31\nDisk Usage: 76%\nMemory Usage: 46.1%\nCPU Load: 0.50\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:30AM up 22 days, 20:20, 1 user, load averages: 0.26, 0.24, 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: 09:30:14 up 3 days, 23:01, 1 user, load average: 0.02, 0.08, 0.10\nDisk Usage: 79%\nMemory Usage: 14.0%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:30:15 up 5:32, 1 user, load average: 1.73, 1.28, 1.21\nDisk Usage: 1%\nMemory Usage: 12.7%\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-18T14:30:23.727511+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `63f5cd1ff2284742905466fe1d8d368f` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T14:35:00.002819+00:00 |
| **Fin** | 2025-12-18T14:35:22.003988+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: [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.003320", "end": "2025-12-18 09:35:10.591301", "msg": "", "rc": 0, "start": "2025-12-18 09:35:10.587981", "stderr": "", "stderr_lines": [], "stdout": " 09:35:10 up 22 days, 20:26, 1 user, load average: 0.17, 0.12, 0.11", "stdout_lines": [" 09:35:10 up 22 days, 20:26, 1 user, load average: 0.17, 0.12, 0.11"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003368", "end": "2025-12-18 09:35:10.603599", "msg": "", "rc": 0, "start": "2025-12-18 09:35:10.600231", "stderr": "", "stderr_lines": [], "stdout": " 09:35:10 up 22 days, 20:46, 1 user, load average: 1.31, 0.86, 0.71", "stdout_lines": [" 09:35:10 up 22 days, 20:46, 1 user, load average: 1.31, 0.86, 0.71"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003713", "end": "2025-12-18 09:35:10.606414", "msg": "", "rc": 0, "start": "2025-12-18 09:35:10.602701", "stderr": "", "stderr_lines": [], "stdout": " 09:35:10 up 22 days, 22:45, 1 user, load average: 0.06, 0.03, 0.01", "stdout_lines": [" 09:35:10 up 22 days, 22:45, 1 user, load average: 0.06, 0.03, 0.01"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003793", "end": "2025-12-18 09:35:10.629604", "msg": "", "rc": 0, "start": "2025-12-18 09:35:10.625811", "stderr": "", "stderr_lines": [], "stdout": " 09:35:10 up 22 days, 21:59, 1 user, load average: 0.91, 0.79, 0.69", "stdout_lines": [" 09:35:10 up 22 days, 21:59, 1 user, load average: 0.91, 0.79, 0.69"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002907", "end": "2025-12-18 09:35:10.632410", "msg": "", "rc": 0, "start": "2025-12-18 09:35:10.629503", "stderr": "", "stderr_lines": [], "stdout": " 09:35:10 up 3 days, 23:07, 1 user, load average: 0.55, 0.26, 0.32", "stdout_lines": [" 09:35:10 up 3 days, 23:07, 1 user, load average: 0.55, 0.26, 0.32"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002776", "end": "2025-12-18 09:34:43.778233", "msg": "", "rc": 0, "start": "2025-12-18 09:34:43.775457", "stderr": "", "stderr_lines": [], "stdout": " 09:34:43 up 11 days, 21:24, 0 user, load average: 0.04, 0.10, 0.09", "stdout_lines": [" 09:34:43 up 11 days, 21:24, 0 user, load average: 0.04, 0.10, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003614", "end": "2025-12-18 09:34:37.038081", "msg": "", "rc": 0, "start": "2025-12-18 09:34:37.034467", "stderr": "", "stderr_lines": [], "stdout": " 09:34:37 up 18 days, 17:36, 0 user, load average: 0.09, 0.04, 0.00", "stdout_lines": [" 09:34:37 up 18 days, 17:36, 0 user, load average: 0.09, 0.04, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008425", "end": "2025-12-18 09:35:11.282083", "msg": "", "rc": 0, "start": "2025-12-18 09:35:11.273658", "stderr": "", "stderr_lines": [], "stdout": " 09:35:11 up 195 days, 1:08, 1 user, load average: 0.33, 0.18, 0.15", "stdout_lines": [" 09:35:11 up 195 days, 1:08, 1 user, load average: 0.33, 0.18, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009290", "end": "2025-12-18 09:35:11.334576", "msg": "", "rc": 0, "start": "2025-12-18 09:35:11.325286", "stderr": "", "stderr_lines": [], "stdout": " 09:35:11 up 195 days, 1:08, 1 user, load average: 0.27, 0.25, 0.20", "stdout_lines": [" 09:35:11 up 195 days, 1:08, 1 user, load average: 0.27, 0.25, 0.20"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004819", "end": "2025-12-18 09:35:11.553963", "msg": "", "rc": 0, "start": "2025-12-18 09:35:11.549144", "stderr": "", "stderr_lines": [], "stdout": " 09:35:11 up 3 days, 23:06, 1 user, load average: 0.02, 0.04, 0.01", "stdout_lines": [" 09:35:11 up 3 days, 23:06, 1 user, load average: 0.02, 0.04, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003266", "end": "2025-12-18 09:34:40.216012", "msg": "", "rc": 0, "start": "2025-12-18 09:34:40.212746", "stderr": "", "stderr_lines": [], "stdout": " 09:34:40 up 21 days, 12:28, 0 user, load average: 0.51, 0.43, 0.45", "stdout_lines": [" 09:34:40 up 21 days, 12:28, 0 user, load average: 0.51, 0.43, 0.45"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002822", "end": "2025-12-18 09:34:47.090768", "msg": "", "rc": 0, "start": "2025-12-18 09:34:47.087946", "stderr": "", "stderr_lines": [], "stdout": " 09:34:47 up 17 days, 22:50, 0 user, load average: 0.33, 0.45, 0.35", "stdout_lines": [" 09:34:47 up 17 days, 22:50, 0 user, load average: 0.33, 0.45, 0.35"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004099", "end": "2025-12-18 06:35:11.793776", "msg": "", "rc": 0, "start": "2025-12-18 06:35:11.789677", "stderr": "", "stderr_lines": [], "stdout": " 6:35AM up 22 days, 20:24, 1 user, load averages: 0.37, 0.29, 0.25", "stdout_lines": [" 6:35AM up 22 days, 20:24, 1 user, load averages: 0.37, 0.29, 0.25"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003714", "end": "2025-12-18 09:35:11.970773", "msg": "", "rc": 0, "start": "2025-12-18 09:35:11.967059", "stderr": "", "stderr_lines": [], "stdout": " 09:35:11 up 3 days, 23:06, 1 user, load average: 0.22, 0.17, 0.12", "stdout_lines": [" 09:35:11 up 3 days, 23:06, 1 user, load average: 0.22, 0.17, 0.12"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008249", "end": "2025-12-18 09:35:12.564150", "msg": "", "rc": 0, "start": "2025-12-18 09:35:12.555901", "stderr": "", "stderr_lines": [], "stdout": " 09:35:12 up 5:37, 1 user, load average: 1.15, 1.17, 1.18", "stdout_lines": [" 09:35:12 up 5:37, 1 user, load average: 1.15, 1.17, 1.18"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019575", "end": "2025-12-18 09:35:11.968185", "msg": "", "rc": 0, "start": "2025-12-18 09:35:11.948610", "stderr": "", "stderr_lines": [], "stdout": " 09:35:11 up 15 days, 23:01, 1 user, load average: 0.12, 0.14, 0.10", "stdout_lines": [" 09:35:11 up 15 days, 23:01, 1 user, load average: 0.12, 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.004202", "end": "2025-12-18 09:35:12.485268", "msg": "", "rc": 0, "start": "2025-12-18 09:35:12.481066", "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-18 09:35:12.519352", "msg": "", "rc": 0, "start": "2025-12-18 09:35:12.515263", "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.004729", "end": "2025-12-18 09:35:12.514709", "msg": "", "rc": 0, "start": "2025-12-18 09:35:12.509980", "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.004645", "end": "2025-12-18 09:35:12.541954", "msg": "", "rc": 0, "start": "2025-12-18 09:35:12.537309", "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.005479", "end": "2025-12-18 09:35:12.562621", "msg": "", "rc": 0, "start": "2025-12-18 09:35:12.557142", "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.004737", "end": "2025-12-18 09:34:45.710202", "msg": "", "rc": 0, "start": "2025-12-18 09:34:45.705465", "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-18 09:34:38.968374", "msg": "", "rc": 0, "start": "2025-12-18 09:34:38.962965", "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.010542", "end": "2025-12-18 09:35:13.239586", "msg": "", "rc": 0, "start": "2025-12-18 09:35:13.229044", "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.011649", "end": "2025-12-18 09:35:13.270197", "msg": "", "rc": 0, "start": "2025-12-18 09:35:13.258548", "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.005892", "end": "2025-12-18 09:35:13.483581", "msg": "", "rc": 0, "start": "2025-12-18 09:35:13.477689", "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.005422", "end": "2025-12-18 09:34:42.144904", "msg": "", "rc": 0, "start": "2025-12-18 09:34:42.139482", "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.004859", "end": "2025-12-18 09:34:49.027211", "msg": "", "rc": 0, "start": "2025-12-18 09:34:49.022352", "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.005459", "end": "2025-12-18 06:35:13.728014", "msg": "", "rc": 0, "start": "2025-12-18 06:35:13.722555", "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.005431", "end": "2025-12-18 09:35:13.888358", "msg": "", "rc": 0, "start": "2025-12-18 09:35:13.882927", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021983", "end": "2025-12-18 09:35:14.586963", "msg": "", "rc": 0, "start": "2025-12-18 09:35:14.564980", "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-18 09:35:13.874900", "msg": "", "rc": 0, "start": "2025-12-18 09:35:13.849745", "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.004379", "end": "2025-12-18 09:35:14.390138", "msg": "", "rc": 0, "start": "2025-12-18 09:35:14.385759", "stderr": "", "stderr_lines": [], "stdout": "77.9%", "stdout_lines": ["77.9%"]}
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.004293", "end": "2025-12-18 09:35:14.416221", "msg": "", "rc": 0, "start": "2025-12-18 09:35:14.411928", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.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.005063", "end": "2025-12-18 09:35:14.446370", "msg": "", "rc": 0, "start": "2025-12-18 09:35:14.441307", "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.004763", "end": "2025-12-18 09:35:14.442587", "msg": "", "rc": 0, "start": "2025-12-18 09:35:14.437824", "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.005731", "end": "2025-12-18 09:35:14.467496", "msg": "", "rc": 0, "start": "2025-12-18 09:35:14.461765", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.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.004134", "end": "2025-12-18 09:34:47.590964", "msg": "", "rc": 0, "start": "2025-12-18 09:34:47.586830", "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.004509", "end": "2025-12-18 09:34:40.876496", "msg": "", "rc": 0, "start": "2025-12-18 09:34:40.871987", "stderr": "", "stderr_lines": [], "stdout": "64.3%", "stdout_lines": ["64.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.015111", "end": "2025-12-18 09:35:15.171139", "msg": "", "rc": 0, "start": "2025-12-18 09:35:15.156028", "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.011840", "end": "2025-12-18 09:35:15.208563", "msg": "", "rc": 0, "start": "2025-12-18 09:35:15.196723", "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-18 09:35:15.369821", "msg": "", "rc": 0, "start": "2025-12-18 09:35:15.363999", "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.004504", "end": "2025-12-18 09:34:44.041731", "msg": "", "rc": 0, "start": "2025-12-18 09:34:44.037227", "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.005155", "end": "2025-12-18 06:35:15.664584", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 06:35:15.659429", "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.004579", "end": "2025-12-18 09:34:50.971861", "msg": "", "rc": 0, "start": "2025-12-18 09:34:50.967282", "stderr": "", "stderr_lines": [], "stdout": "47.2%", "stdout_lines": ["47.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.005428", "end": "2025-12-18 09:35:15.778026", "msg": "", "rc": 0, "start": "2025-12-18 09:35:15.772598", "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.009879", "end": "2025-12-18 09:35:16.562103", "msg": "", "rc": 0, "start": "2025-12-18 09:35:16.552224", "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.027562", "end": "2025-12-18 09:35:15.994943", "msg": "", "rc": 0, "start": "2025-12-18 09:35:15.967381", "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.005308", "end": "2025-12-18 09:35:16.544325", "msg": "", "rc": 0, "start": "2025-12-18 09:35:16.539017", "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.004823", "end": "2025-12-18 09:35:16.557115", "msg": "", "rc": 0, "start": "2025-12-18 09:35:16.552292", "stderr": "", "stderr_lines": [], "stdout": "44.0°C", "stdout_lines": ["44.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.003058", "end": "2025-12-18 09:35:16.586051", "msg": "", "rc": 0, "start": "2025-12-18 09:35:16.582993", "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.005999", "end": "2025-12-18 09:35:16.589518", "msg": "", "rc": 0, "start": "2025-12-18 09:35:16.583519", "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.006084", "end": "2025-12-18 09:35:16.597224", "msg": "", "rc": 0, "start": "2025-12-18 09:35:16.591140", "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.002501", "end": "2025-12-18 09:34:49.749320", "msg": "", "rc": 0, "start": "2025-12-18 09:34:49.746819", "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-18 09:34:43.020861", "msg": "", "rc": 0, "start": "2025-12-18 09:34:43.017818", "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.011582", "end": "2025-12-18 09:35:17.253927", "msg": "", "rc": 0, "start": "2025-12-18 09:35:17.242345", "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.012906", "end": "2025-12-18 09:35:17.287077", "msg": "", "rc": 0, "start": "2025-12-18 09:35:17.274171", "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.003104", "end": "2025-12-18 09:35:17.528607", "msg": "", "rc": 0, "start": "2025-12-18 09:35:17.525503", "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.003349", "end": "2025-12-18 09:34:46.236346", "msg": "", "rc": 0, "start": "2025-12-18 09:34:46.232997", "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.003805", "end": "2025-12-18 06:35:17.768313", "msg": "", "rc": 0, "start": "2025-12-18 06:35:17.764508", "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.003331", "end": "2025-12-18 09:34:53.073151", "msg": "", "rc": 0, "start": "2025-12-18 09:34:53.069820", "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-18 09:35:17.939674", "msg": "", "rc": 0, "start": "2025-12-18 09:35:17.936730", "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.005219", "end": "2025-12-18 09:35:18.925662", "msg": "", "rc": 0, "start": "2025-12-18 09:35:18.920443", "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-18 09:35:18.201881", "msg": "", "rc": 0, "start": "2025-12-18 09:35:18.173338", "stderr": "", "stderr_lines": [], "stdout": "38.9°C", "stdout_lines": ["38.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.004228", "end": "2025-12-18 09:35:18.714413", "msg": "", "rc": 0, "start": "2025-12-18 09:35:18.710185", "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.004124", "end": "2025-12-18 09:35:18.741411", "msg": "", "rc": 0, "start": "2025-12-18 09:35:18.737287", "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.005308", "end": "2025-12-18 09:35:18.766541", "msg": "", "rc": 0, "start": "2025-12-18 09:35:18.761233", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
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.004999", "end": "2025-12-18 09:35:18.777101", "msg": "", "rc": 0, "start": "2025-12-18 09:35:18.772102", "stderr": "", "stderr_lines": [], "stdout": "1.60", "stdout_lines": ["1.60"]}
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-18 09:35:18.787180", "msg": "", "rc": 0, "start": "2025-12-18 09:35:18.781576", "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.004380", "end": "2025-12-18 09:34:51.923965", "msg": "", "rc": 0, "start": "2025-12-18 09:34:51.919585", "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.005539", "end": "2025-12-18 09:34:45.202694", "msg": "", "rc": 0, "start": "2025-12-18 09:34:45.197155", "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.010022", "end": "2025-12-18 09:35:19.534322", "msg": "", "rc": 0, "start": "2025-12-18 09:35:19.524300", "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.011268", "end": "2025-12-18 09:35:19.551146", "msg": "", "rc": 0, "start": "2025-12-18 09:35:19.539878", "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.005810", "end": "2025-12-18 09:35:19.694525", "msg": "", "rc": 0, "start": "2025-12-18 09:35:19.688715", "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.004793", "end": "2025-12-18 09:34:48.372675", "msg": "", "rc": 0, "start": "2025-12-18 09:34:48.367882", "stderr": "", "stderr_lines": [], "stdout": "0.51", "stdout_lines": ["0.51"]}
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-18 06:35:20.024066", "msg": "", "rc": 0, "start": "2025-12-18 06:35:20.018289", "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.004271", "end": "2025-12-18 09:34:55.333483", "msg": "", "rc": 0, "start": "2025-12-18 09:34:55.329212", "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.005606", "end": "2025-12-18 09:35:20.114171", "msg": "", "rc": 0, "start": "2025-12-18 09:35:20.108565", "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.007743", "end": "2025-12-18 09:35:21.078024", "msg": "", "rc": 0, "start": "2025-12-18 09:35:21.070281", "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.024972", "end": "2025-12-18 09:35:20.113639", "msg": "", "rc": 0, "start": "2025-12-18 09:35:20.088667", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:35:10 up 22 days, 20:26, 1 user, load average: 0.17, 0.12, 0.11\nDisk Usage: 23%\nMemory Usage: 77.9%\nCPU Load: 0.14\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:35:10 up 3 days, 23:07, 1 user, load average: 0.55, 0.26, 0.32\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 0.54\nCPU Temp: 44.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:35:10 up 22 days, 20:46, 1 user, load average: 1.31, 0.86, 0.71\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 1.60\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:35:10 up 22 days, 21:59, 1 user, load average: 0.91, 0.79, 0.69\nDisk Usage: 14%\nMemory Usage: 58.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: 09:35:10 up 22 days, 22:45, 1 user, load average: 0.06, 0.03, 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: 09:35:11 up 15 days, 23:01, 1 user, load average: 0.12, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 20.9%\nCPU Load: 0.28\nCPU Temp: 38.9°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:35:11 up 195 days, 1:08, 1 user, load average: 0.27, 0.25, 0.20\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.33\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:35:11 up 195 days, 1:08, 1 user, load average: 0.33, 0.18, 0.15\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.31\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:34:37 up 18 days, 17:36, 0 user, load average: 0.09, 0.04, 0.00\nDisk Usage: 24%\nMemory Usage: 64.3%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:34:43 up 11 days, 21:24, 0 user, load average: 0.04, 0.10, 0.09\nDisk Usage: 48%\nMemory Usage: 71.1%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:35:11 up 3 days, 23:06, 1 user, load average: 0.02, 0.04, 0.01\nDisk Usage: 1%\nMemory Usage: 35.6%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:34:40 up 21 days, 12:28, 0 user, load average: 0.51, 0.43, 0.45\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.51\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:34:47 up 17 days, 22:50, 0 user, load average: 0.33, 0.45, 0.35\nDisk Usage: 76%\nMemory Usage: 47.2%\nCPU Load: 0.31\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:35AM up 22 days, 20:24, 1 user, load averages: 0.37, 0.29, 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: 09:35:11 up 3 days, 23:06, 1 user, load average: 0.22, 0.17, 0.12\nDisk Usage: 79%\nMemory Usage: 14.0%\nCPU Load: 0.27\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:35:12 up 5:37, 1 user, load average: 1.15, 1.17, 1.18\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-18T14:35:22.053448+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `9929b3bb429d483c8cd52d3ef16780dd` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T14:40:00.003038+00:00 |
| **Fin** | 2025-12-18T14:40:22.029477+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: [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: [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.003300", "end": "2025-12-18 09:40:10.900697", "msg": "", "rc": 0, "start": "2025-12-18 09:40:10.897397", "stderr": "", "stderr_lines": [], "stdout": " 09:40:10 up 22 days, 20:31, 1 user, load average: 0.13, 0.10, 0.09", "stdout_lines": [" 09:40:10 up 22 days, 20:31, 1 user, load average: 0.13, 0.10, 0.09"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003452", "end": "2025-12-18 09:40:10.902820", "msg": "", "rc": 0, "start": "2025-12-18 09:40:10.899368", "stderr": "", "stderr_lines": [], "stdout": " 09:40:10 up 22 days, 20:51, 1 user, load average: 1.00, 1.00, 0.82", "stdout_lines": [" 09:40:10 up 22 days, 20:51, 1 user, load average: 1.00, 1.00, 0.82"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003760", "end": "2025-12-18 09:40:10.922886", "msg": "", "rc": 0, "start": "2025-12-18 09:40:10.919126", "stderr": "", "stderr_lines": [], "stdout": " 09:40:10 up 22 days, 22:50, 1 user, load average: 0.08, 0.02, 0.01", "stdout_lines": [" 09:40:10 up 22 days, 22:50, 1 user, load average: 0.08, 0.02, 0.01"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004360", "end": "2025-12-18 09:40:10.929618", "msg": "", "rc": 0, "start": "2025-12-18 09:40:10.925258", "stderr": "", "stderr_lines": [], "stdout": " 09:40:10 up 22 days, 22:04, 1 user, load average: 0.76, 0.74, 0.70", "stdout_lines": [" 09:40:10 up 22 days, 22:04, 1 user, load average: 0.76, 0.74, 0.70"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002837", "end": "2025-12-18 09:40:10.943165", "msg": "", "rc": 0, "start": "2025-12-18 09:40:10.940328", "stderr": "", "stderr_lines": [], "stdout": " 09:40:10 up 3 days, 23:12, 1 user, load average: 0.20, 0.19, 0.26", "stdout_lines": [" 09:40:10 up 3 days, 23:12, 1 user, load average: 0.20, 0.19, 0.26"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002993", "end": "2025-12-18 09:39:44.048221", "msg": "", "rc": 0, "start": "2025-12-18 09:39:44.045228", "stderr": "", "stderr_lines": [], "stdout": " 09:39:44 up 11 days, 21:29, 0 user, load average: 0.11, 0.14, 0.10", "stdout_lines": [" 09:39:44 up 11 days, 21:29, 0 user, load average: 0.11, 0.14, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003368", "end": "2025-12-18 09:39:37.332657", "msg": "", "rc": 0, "start": "2025-12-18 09:39:37.329289", "stderr": "", "stderr_lines": [], "stdout": " 09:39:37 up 18 days, 17:41, 0 user, load average: 0.07, 0.03, 0.00", "stdout_lines": [" 09:39:37 up 18 days, 17:41, 0 user, load average: 0.07, 0.03, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008433", "end": "2025-12-18 09:40:11.585144", "msg": "", "rc": 0, "start": "2025-12-18 09:40:11.576711", "stderr": "", "stderr_lines": [], "stdout": " 09:40:11 up 195 days, 1:13, 1 user, load average: 0.16, 0.16, 0.15", "stdout_lines": [" 09:40:11 up 195 days, 1:13, 1 user, load average: 0.16, 0.16, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009307", "end": "2025-12-18 09:40:11.605329", "msg": "", "rc": 0, "start": "2025-12-18 09:40:11.596022", "stderr": "", "stderr_lines": [], "stdout": " 09:40:11 up 195 days, 1:13, 1 user, load average: 0.19, 0.23, 0.19", "stdout_lines": [" 09:40:11 up 195 days, 1:13, 1 user, load average: 0.19, 0.23, 0.19"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004835", "end": "2025-12-18 09:40:11.826524", "msg": "", "rc": 0, "start": "2025-12-18 09:40:11.821689", "stderr": "", "stderr_lines": [], "stdout": " 09:40:11 up 3 days, 23:11, 1 user, load average: 0.10, 0.04, 0.01", "stdout_lines": [" 09:40:11 up 3 days, 23:11, 1 user, load average: 0.10, 0.04, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003139", "end": "2025-12-18 09:39:40.492817", "msg": "", "rc": 0, "start": "2025-12-18 09:39:40.489678", "stderr": "", "stderr_lines": [], "stdout": " 09:39:40 up 21 days, 12:33, 0 user, load average: 1.05, 0.77, 0.57", "stdout_lines": [" 09:39:40 up 21 days, 12:33, 0 user, load average: 1.05, 0.77, 0.57"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004098", "end": "2025-12-18 06:40:12.044226", "msg": "", "rc": 0, "start": "2025-12-18 06:40:12.040128", "stderr": "", "stderr_lines": [], "stdout": " 6:40AM up 22 days, 20:29, 1 user, load averages: 0.52, 0.38, 0.28", "stdout_lines": [" 6:40AM up 22 days, 20:29, 1 user, load averages: 0.52, 0.38, 0.28"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004926", "end": "2025-12-18 09:39:47.363783", "msg": "", "rc": 0, "start": "2025-12-18 09:39:47.358857", "stderr": "", "stderr_lines": [], "stdout": " 09:39:47 up 17 days, 22:55, 0 user, load average: 0.31, 0.38, 0.35", "stdout_lines": [" 09:39:47 up 17 days, 22:55, 0 user, load average: 0.31, 0.38, 0.35"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003699", "end": "2025-12-18 09:40:12.229969", "msg": "", "rc": 0, "start": "2025-12-18 09:40:12.226270", "stderr": "", "stderr_lines": [], "stdout": " 09:40:12 up 3 days, 23:11, 1 user, load average: 0.22, 0.17, 0.11", "stdout_lines": [" 09:40:12 up 3 days, 23:11, 1 user, load average: 0.22, 0.17, 0.11"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009220", "end": "2025-12-18 09:40:12.463150", "msg": "", "rc": 0, "start": "2025-12-18 09:40:12.453930", "stderr": "", "stderr_lines": [], "stdout": " 09:40:12 up 5:42, 1 user, load average: 1.03, 1.11, 1.15", "stdout_lines": [" 09:40:12 up 5:42, 1 user, load average: 1.03, 1.11, 1.15"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019716", "end": "2025-12-18 09:40:12.272134", "msg": "", "rc": 0, "start": "2025-12-18 09:40:12.252418", "stderr": "", "stderr_lines": [], "stdout": " 09:40:12 up 15 days, 23:06, 1 user, load average: 0.05, 0.10, 0.09", "stdout_lines": [" 09:40:12 up 15 days, 23:06, 1 user, load average: 0.05, 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.004255", "end": "2025-12-18 09:40:12.802457", "msg": "", "rc": 0, "start": "2025-12-18 09:40:12.798202", "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.004054", "end": "2025-12-18 09:40:12.814325", "msg": "", "rc": 0, "start": "2025-12-18 09:40:12.810271", "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.004704", "end": "2025-12-18 09:40:12.823816", "msg": "", "rc": 0, "start": "2025-12-18 09:40:12.819112", "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.005098", "end": "2025-12-18 09:40:12.836901", "msg": "", "rc": 0, "start": "2025-12-18 09:40:12.831803", "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.005697", "end": "2025-12-18 09:40:12.856745", "msg": "", "rc": 0, "start": "2025-12-18 09:40:12.851048", "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.004973", "end": "2025-12-18 09:39:46.003931", "msg": "", "rc": 0, "start": "2025-12-18 09:39:45.998958", "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.005865", "end": "2025-12-18 09:39:39.250696", "msg": "", "rc": 0, "start": "2025-12-18 09:39:39.244831", "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-18 09:40:13.545984", "msg": "", "rc": 0, "start": "2025-12-18 09:40:13.535455", "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.011638", "end": "2025-12-18 09:40:13.568832", "msg": "", "rc": 0, "start": "2025-12-18 09:40:13.557194", "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.005691", "end": "2025-12-18 09:40:13.755402", "msg": "", "rc": 0, "start": "2025-12-18 09:40:13.749711", "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.004994", "end": "2025-12-18 09:39:42.423763", "msg": "", "rc": 0, "start": "2025-12-18 09:39:42.418769", "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.005391", "end": "2025-12-18 06:40:14.013816", "msg": "", "rc": 0, "start": "2025-12-18 06:40:14.008425", "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.005632", "end": "2025-12-18 09:39:49.359354", "msg": "", "rc": 0, "start": "2025-12-18 09:39:49.353722", "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.005465", "end": "2025-12-18 09:40:14.168196", "msg": "", "rc": 0, "start": "2025-12-18 09:40:14.162731", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020459", "end": "2025-12-18 09:40:14.489716", "msg": "", "rc": 0, "start": "2025-12-18 09:40:14.469257", "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.024973", "end": "2025-12-18 09:40:14.196134", "msg": "", "rc": 0, "start": "2025-12-18 09:40:14.171161", "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.004438", "end": "2025-12-18 09:40:14.717489", "msg": "", "rc": 0, "start": "2025-12-18 09:40:14.713051", "stderr": "", "stderr_lines": [], "stdout": "77.8%", "stdout_lines": ["77.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.004444", "end": "2025-12-18 09:40:14.724306", "msg": "", "rc": 0, "start": "2025-12-18 09:40:14.719862", "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.005408", "end": "2025-12-18 09:40:14.764322", "msg": "", "rc": 0, "start": "2025-12-18 09:40:14.758914", "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-18 09:40:14.786408", "msg": "", "rc": 0, "start": "2025-12-18 09:40:14.781501", "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.005647", "end": "2025-12-18 09:40:14.799459", "msg": "", "rc": 0, "start": "2025-12-18 09:40:14.793812", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.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.003754", "end": "2025-12-18 09:39:47.892509", "msg": "", "rc": 0, "start": "2025-12-18 09:39:47.888755", "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.004058", "end": "2025-12-18 09:39:41.190475", "msg": "", "rc": 0, "start": "2025-12-18 09:39:41.186417", "stderr": "", "stderr_lines": [], "stdout": "64.2%", "stdout_lines": ["64.2%"]}
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.011892", "end": "2025-12-18 09:40:15.455975", "msg": "", "rc": 0, "start": "2025-12-18 09:40:15.444083", "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.015879", "end": "2025-12-18 09:40:15.496652", "msg": "", "rc": 0, "start": "2025-12-18 09:40:15.480773", "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.006343", "end": "2025-12-18 09:40:15.670797", "msg": "", "rc": 0, "start": "2025-12-18 09:40:15.664454", "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.004210", "end": "2025-12-18 09:39:44.345680", "msg": "", "rc": 0, "start": "2025-12-18 09:39:44.341470", "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.004640", "end": "2025-12-18 09:39:51.250315", "msg": "", "rc": 0, "start": "2025-12-18 09:39:51.245675", "stderr": "", "stderr_lines": [], "stdout": "48.6%", "stdout_lines": ["48.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.005079", "end": "2025-12-18 06:40:15.978789", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 06:40:15.973710", "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.005344", "end": "2025-12-18 09:40:16.079215", "msg": "", "rc": 0, "start": "2025-12-18 09:40:16.073871", "stderr": "", "stderr_lines": [], "stdout": "14.4%", "stdout_lines": ["14.4%"]}
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.009333", "end": "2025-12-18 09:40:16.487681", "msg": "", "rc": 0, "start": "2025-12-18 09:40:16.478348", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.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.027749", "end": "2025-12-18 09:40:16.292193", "msg": "", "rc": 0, "start": "2025-12-18 09:40:16.264444", "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.005364", "end": "2025-12-18 09:40:16.823410", "msg": "", "rc": 0, "start": "2025-12-18 09:40:16.818046", "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.004854", "end": "2025-12-18 09:40:16.853861", "msg": "", "rc": 0, "start": "2025-12-18 09:40:16.849007", "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.005789", "end": "2025-12-18 09:40:16.851364", "msg": "", "rc": 0, "start": "2025-12-18 09:40:16.845575", "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.003212", "end": "2025-12-18 09:40:16.862129", "msg": "", "rc": 0, "start": "2025-12-18 09:40:16.858917", "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.006507", "end": "2025-12-18 09:40:16.878145", "msg": "", "rc": 0, "start": "2025-12-18 09:40:16.871638", "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.002750", "end": "2025-12-18 09:39:49.998729", "msg": "", "rc": 0, "start": "2025-12-18 09:39:49.995979", "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.003127", "end": "2025-12-18 09:39:43.270606", "msg": "", "rc": 0, "start": "2025-12-18 09:39:43.267479", "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.011700", "end": "2025-12-18 09:40:17.526937", "msg": "", "rc": 0, "start": "2025-12-18 09:40:17.515237", "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.013103", "end": "2025-12-18 09:40:17.561872", "msg": "", "rc": 0, "start": "2025-12-18 09:40:17.548769", "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.003172", "end": "2025-12-18 09:40:17.773349", "msg": "", "rc": 0, "start": "2025-12-18 09:40:17.770177", "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.002989", "end": "2025-12-18 09:39:46.446338", "msg": "", "rc": 0, "start": "2025-12-18 09:39:46.443349", "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.003795", "end": "2025-12-18 06:40:18.015021", "msg": "", "rc": 0, "start": "2025-12-18 06:40:18.011226", "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.002773", "end": "2025-12-18 09:39:53.326913", "msg": "", "rc": 0, "start": "2025-12-18 09:39:53.324140", "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.002913", "end": "2025-12-18 09:40:18.184812", "msg": "", "rc": 0, "start": "2025-12-18 09:40:18.181899", "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.006250", "end": "2025-12-18 09:40:18.712098", "msg": "", "rc": 0, "start": "2025-12-18 09:40:18.705848", "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.033140", "end": "2025-12-18 09:40:18.485574", "msg": "", "rc": 0, "start": "2025-12-18 09:40:18.452434", "stderr": "", "stderr_lines": [], "stdout": "38.9°C", "stdout_lines": ["38.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.004360", "end": "2025-12-18 09:40:19.014815", "msg": "", "rc": 0, "start": "2025-12-18 09:40:19.010455", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
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.004037", "end": "2025-12-18 09:40:19.028522", "msg": "", "rc": 0, "start": "2025-12-18 09:40:19.024485", "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.004585", "end": "2025-12-18 09:40:19.037124", "msg": "", "rc": 0, "start": "2025-12-18 09:40:19.032539", "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.004995", "end": "2025-12-18 09:40:19.049006", "msg": "", "rc": 0, "start": "2025-12-18 09:40:19.044011", "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.006427", "end": "2025-12-18 09:40:19.079985", "msg": "", "rc": 0, "start": "2025-12-18 09:40:19.073558", "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.004843", "end": "2025-12-18 09:39:52.236477", "msg": "", "rc": 0, "start": "2025-12-18 09:39:52.231634", "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.005466", "end": "2025-12-18 09:39:45.485233", "msg": "", "rc": 0, "start": "2025-12-18 09:39:45.479767", "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.010147", "end": "2025-12-18 09:40:19.805913", "msg": "", "rc": 0, "start": "2025-12-18 09:40:19.795766", "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.011284", "end": "2025-12-18 09:40:19.802673", "msg": "", "rc": 0, "start": "2025-12-18 09:40:19.791389", "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.005917", "end": "2025-12-18 09:40:20.005711", "msg": "", "rc": 0, "start": "2025-12-18 09:40:19.999794", "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.005346", "end": "2025-12-18 09:39:48.649174", "msg": "", "rc": 0, "start": "2025-12-18 09:39:48.643828", "stderr": "", "stderr_lines": [], "stdout": "0.89", "stdout_lines": ["0.89"]}
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.005984", "end": "2025-12-18 06:40:20.262491", "msg": "", "rc": 0, "start": "2025-12-18 06:40:20.256507", "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.006070", "end": "2025-12-18 09:39:55.645756", "msg": "", "rc": 0, "start": "2025-12-18 09:39:55.639686", "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.005298", "end": "2025-12-18 09:40:20.425926", "msg": "", "rc": 0, "start": "2025-12-18 09:40:20.420628", "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.007932", "end": "2025-12-18 09:40:21.027823", "msg": "", "rc": 0, "start": "2025-12-18 09:40:21.019891", "stderr": "", "stderr_lines": [], "stdout": "1.25", "stdout_lines": ["1.25"]}
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.024122", "end": "2025-12-18 09:40:20.395637", "msg": "", "rc": 0, "start": "2025-12-18 09:40:20.371515", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:40:10 up 22 days, 20:31, 1 user, load average: 0.13, 0.10, 0.09\nDisk Usage: 23%\nMemory Usage: 77.8%\nCPU Load: 0.20\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:40:10 up 3 days, 23:12, 1 user, load average: 0.20, 0.19, 0.26\nDisk Usage: 22%\nMemory Usage: 22.6%\nCPU Load: 0.24\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:40:10 up 22 days, 20:51, 1 user, load average: 1.00, 1.00, 0.82\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: 09:40:10 up 22 days, 22:04, 1 user, load average: 0.76, 0.74, 0.70\nDisk Usage: 14%\nMemory Usage: 58.7%\nCPU Load: 0.72\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:40:10 up 22 days, 22:50, 1 user, load average: 0.08, 0.02, 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: 09:40:12 up 15 days, 23:06, 1 user, load average: 0.05, 0.10, 0.09\nDisk Usage: 21%\nMemory Usage: 19.2%\nCPU Load: 0.20\nCPU Temp: 38.9°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:40:11 up 195 days, 1:13, 1 user, load average: 0.19, 0.23, 0.19\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.34\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:40:11 up 195 days, 1:13, 1 user, load average: 0.16, 0.16, 0.15\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.23\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:39:44 up 11 days, 21:29, 0 user, load average: 0.11, 0.14, 0.10\nDisk Usage: 48%\nMemory Usage: 71.1%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:39:37 up 18 days, 17:41, 0 user, load average: 0.07, 0.03, 0.00\nDisk Usage: 24%\nMemory Usage: 64.2%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:40:11 up 3 days, 23:11, 1 user, load average: 0.10, 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: 09:39:40 up 21 days, 12:33, 0 user, load average: 1.05, 0.77, 0.57\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.89\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:39:47 up 17 days, 22:55, 0 user, load average: 0.31, 0.38, 0.35\nDisk Usage: 76%\nMemory Usage: 48.6%\nCPU Load: 0.36\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:40AM up 22 days, 20:29, 1 user, load averages: 0.52, 0.38, 0.28\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: 09:40:12 up 3 days, 23:11, 1 user, load average: 0.22, 0.17, 0.11\nDisk Usage: 79%\nMemory Usage: 14.4%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:40:12 up 5:42, 1 user, load average: 1.03, 1.11, 1.15\nDisk Usage: 1%\nMemory Usage: 12.9%\nCPU Load: 1.25\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-18T14:40:22.064326+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `c18eda17637f4ff38ab0fef8f6da603d` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T14:45:00.002515+00:00 |
| **Fin** | 2025-12-18T14:45:22.434802+00:00 |
| **Durée** | 22.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: [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: [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.003901", "end": "2025-12-18 09:45:11.316329", "msg": "", "rc": 0, "start": "2025-12-18 09:45:11.312428", "stderr": "", "stderr_lines": [], "stdout": " 09:45:11 up 22 days, 22:55, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 09:45:11 up 22 days, 22:55, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003043", "end": "2025-12-18 09:45:11.354629", "msg": "", "rc": 0, "start": "2025-12-18 09:45:11.351586", "stderr": "", "stderr_lines": [], "stdout": " 09:45:11 up 3 days, 23:17, 2 users, load average: 0.10, 0.15, 0.22", "stdout_lines": [" 09:45:11 up 3 days, 23:17, 2 users, load average: 0.10, 0.15, 0.22"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009492", "end": "2025-12-18 09:45:12.062540", "msg": "", "rc": 0, "start": "2025-12-18 09:45:12.053048", "stderr": "", "stderr_lines": [], "stdout": " 09:45:12 up 195 days, 1:18, 1 user, load average: 0.24, 0.21, 0.18", "stdout_lines": [" 09:45:12 up 195 days, 1:18, 1 user, load average: 0.24, 0.21, 0.18"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004534", "end": "2025-12-18 09:45:12.314576", "msg": "", "rc": 0, "start": "2025-12-18 09:45:11.310042", "stderr": "", "stderr_lines": [], "stdout": " 09:45:11 up 22 days, 20:36, 1 user, load average: 0.05, 0.08, 0.08", "stdout_lines": [" 09:45:11 up 22 days, 20:36, 1 user, load average: 0.05, 0.08, 0.08"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004133", "end": "2025-12-18 09:45:12.322015", "msg": "", "rc": 0, "start": "2025-12-18 09:45:11.317882", "stderr": "", "stderr_lines": [], "stdout": " 09:45:11 up 22 days, 20:56, 1 user, load average: 0.46, 0.72, 0.75", "stdout_lines": [" 09:45:11 up 22 days, 20:56, 1 user, load average: 0.46, 0.72, 0.75"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004908", "end": "2025-12-18 09:45:12.333825", "msg": "", "rc": 0, "start": "2025-12-18 09:45:11.328917", "stderr": "", "stderr_lines": [], "stdout": " 09:45:11 up 22 days, 22:09, 1 user, load average: 0.64, 0.70, 0.70", "stdout_lines": [" 09:45:11 up 22 days, 22:09, 1 user, load average: 0.64, 0.70, 0.70"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002964", "end": "2025-12-18 09:44:45.427253", "msg": "", "rc": 0, "start": "2025-12-18 09:44:45.424289", "stderr": "", "stderr_lines": [], "stdout": " 09:44:45 up 11 days, 21:34, 0 user, load average: 0.21, 0.21, 0.13", "stdout_lines": [" 09:44:45 up 11 days, 21:34, 0 user, load average: 0.21, 0.21, 0.13"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008410", "end": "2025-12-18 09:45:12.743427", "msg": "", "rc": 0, "start": "2025-12-18 09:45:12.735017", "stderr": "", "stderr_lines": [], "stdout": " 09:45:12 up 195 days, 1:18, 1 user, load average: 0.12, 0.13, 0.14", "stdout_lines": [" 09:45:12 up 195 days, 1:18, 1 user, load average: 0.12, 0.13, 0.14"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005106", "end": "2025-12-18 09:45:12.796701", "msg": "", "rc": 0, "start": "2025-12-18 09:45:12.791595", "stderr": "", "stderr_lines": [], "stdout": " 09:45:12 up 3 days, 23:16, 1 user, load average: 0.18, 0.08, 0.02", "stdout_lines": [" 09:45:12 up 3 days, 23:16, 1 user, load average: 0.18, 0.08, 0.02"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019193", "end": "2025-12-18 09:45:12.701878", "msg": "", "rc": 0, "start": "2025-12-18 09:45:12.682685", "stderr": "", "stderr_lines": [], "stdout": " 09:45:12 up 15 days, 23:11, 1 user, load average: 0.14, 0.12, 0.09", "stdout_lines": [" 09:45:12 up 15 days, 23:11, 1 user, load average: 0.14, 0.12, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003319", "end": "2025-12-18 09:44:38.699190", "msg": "", "rc": 0, "start": "2025-12-18 09:44:38.695871", "stderr": "", "stderr_lines": [], "stdout": " 09:44:38 up 18 days, 17:46, 0 user, load average: 0.25, 0.07, 0.02", "stdout_lines": [" 09:44:38 up 18 days, 17:46, 0 user, load average: 0.25, 0.07, 0.02"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006917", "end": "2025-12-18 09:45:14.385582", "msg": "", "rc": 0, "start": "2025-12-18 09:45:14.378665", "stderr": "", "stderr_lines": [], "stdout": " 09:45:14 up 5:48, 1 user, load average: 1.29, 1.14, 1.15", "stdout_lines": [" 09:45:14 up 5:48, 1 user, load average: 1.29, 1.14, 1.15"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004159", "end": "2025-12-18 06:45:13.220939", "msg": "", "rc": 0, "start": "2025-12-18 06:45:13.216780", "stderr": "", "stderr_lines": [], "stdout": " 6:45AM up 22 days, 20:35, 1 user, load averages: 0.22, 0.30, 0.27", "stdout_lines": [" 6:45AM up 22 days, 20:35, 1 user, load averages: 0.22, 0.30, 0.27"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004983", "end": "2025-12-18 09:44:48.532355", "msg": "", "rc": 0, "start": "2025-12-18 09:44:48.527372", "stderr": "", "stderr_lines": [], "stdout": " 09:44:48 up 17 days, 23:00, 0 user, load average: 0.18, 0.29, 0.32", "stdout_lines": [" 09:44:48 up 17 days, 23:00, 0 user, load average: 0.18, 0.29, 0.32"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004069", "end": "2025-12-18 09:45:13.241573", "msg": "", "rc": 0, "start": "2025-12-18 09:45:13.237504", "stderr": "", "stderr_lines": [], "stdout": " 09:45:13 up 3 days, 23:16, 1 user, load average: 0.00, 0.06, 0.08", "stdout_lines": [" 09:45:13 up 3 days, 23:16, 1 user, load average: 0.00, 0.06, 0.08"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003080", "end": "2025-12-18 09:44:41.766788", "msg": "", "rc": 0, "start": "2025-12-18 09:44:41.763708", "stderr": "", "stderr_lines": [], "stdout": " 09:44:41 up 21 days, 12:38, 0 user, load average: 0.50, 0.64, 0.57", "stdout_lines": [" 09:44:41 up 21 days, 12:38, 0 user, load average: 0.50, 0.64, 0.57"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004366", "end": "2025-12-18 09:45:13.685717", "msg": "", "rc": 0, "start": "2025-12-18 09:45:13.681351", "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.004334", "end": "2025-12-18 09:45:13.700303", "msg": "", "rc": 0, "start": "2025-12-18 09:45:13.695969", "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.005156", "end": "2025-12-18 09:45:13.748487", "msg": "", "rc": 0, "start": "2025-12-18 09:45:13.743331", "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.004911", "end": "2025-12-18 09:45:13.747410", "msg": "", "rc": 0, "start": "2025-12-18 09:45:13.742499", "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.006838", "end": "2025-12-18 09:45:13.756750", "msg": "", "rc": 0, "start": "2025-12-18 09:45:13.749912", "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.004849", "end": "2025-12-18 09:44:46.892922", "msg": "", "rc": 0, "start": "2025-12-18 09:44:46.888073", "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.005370", "end": "2025-12-18 09:44:40.175641", "msg": "", "rc": 0, "start": "2025-12-18 09:44:40.170271", "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.013543", "end": "2025-12-18 09:45:14.492276", "msg": "", "rc": 0, "start": "2025-12-18 09:45:14.478733", "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.015719", "end": "2025-12-18 09:45:14.525156", "msg": "", "rc": 0, "start": "2025-12-18 09:45:14.509437", "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.005832", "end": "2025-12-18 09:45:14.682834", "msg": "", "rc": 0, "start": "2025-12-18 09:45:14.677002", "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.005592", "end": "2025-12-18 09:44:43.345247", "msg": "", "rc": 0, "start": "2025-12-18 09:44:43.339655", "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.005421", "end": "2025-12-18 06:45:15.000949", "msg": "", "rc": 0, "start": "2025-12-18 06:45:14.995528", "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.005844", "end": "2025-12-18 09:44:50.299959", "msg": "", "rc": 0, "start": "2025-12-18 09:44:50.294115", "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.005533", "end": "2025-12-18 09:45:15.105068", "msg": "", "rc": 0, "start": "2025-12-18 09:45:15.099535", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020124", "end": "2025-12-18 09:45:16.496268", "msg": "", "rc": 0, "start": "2025-12-18 09:45:16.476144", "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.027742", "end": "2025-12-18 09:45:15.287565", "msg": "", "rc": 0, "start": "2025-12-18 09:45:15.259823", "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.004670", "end": "2025-12-18 09:45:15.822124", "msg": "", "rc": 0, "start": "2025-12-18 09:45:15.817454", "stderr": "", "stderr_lines": [], "stdout": "77.8%", "stdout_lines": ["77.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.004075", "end": "2025-12-18 09:45:15.847864", "msg": "", "rc": 0, "start": "2025-12-18 09:45:15.843789", "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.005162", "end": "2025-12-18 09:45:15.866302", "msg": "", "rc": 0, "start": "2025-12-18 09:45:15.861140", "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.004822", "end": "2025-12-18 09:45:15.877269", "msg": "", "rc": 0, "start": "2025-12-18 09:45:15.872447", "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.005429", "end": "2025-12-18 09:45:15.889345", "msg": "", "rc": 0, "start": "2025-12-18 09:45:15.883916", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.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.003897", "end": "2025-12-18 09:44:49.009049", "msg": "", "rc": 0, "start": "2025-12-18 09:44:49.005152", "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.004812", "end": "2025-12-18 09:44:42.281076", "msg": "", "rc": 0, "start": "2025-12-18 09:44:42.276264", "stderr": "", "stderr_lines": [], "stdout": "64.3%", "stdout_lines": ["64.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.010693", "end": "2025-12-18 09:45:16.515920", "msg": "", "rc": 0, "start": "2025-12-18 09:45:16.505227", "stderr": "", "stderr_lines": [], "stdout": "7.1%", "stdout_lines": ["7.1%"]}
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.011912", "end": "2025-12-18 09:45:16.555373", "msg": "", "rc": 0, "start": "2025-12-18 09:45:16.543461", "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.005816", "end": "2025-12-18 09:45:16.804193", "msg": "", "rc": 0, "start": "2025-12-18 09:45:16.798377", "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.004280", "end": "2025-12-18 09:44:45.441364", "msg": "", "rc": 0, "start": "2025-12-18 09:44:45.437084", "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.005017", "end": "2025-12-18 06:45:16.999358", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 06:45:16.994341", "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.004672", "end": "2025-12-18 09:44:52.297355", "msg": "", "rc": 0, "start": "2025-12-18 09:44:52.292683", "stderr": "", "stderr_lines": [], "stdout": "50.2%", "stdout_lines": ["50.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.005626", "end": "2025-12-18 09:45:17.222355", "msg": "", "rc": 0, "start": "2025-12-18 09:45:17.216729", "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.009443", "end": "2025-12-18 09:45:18.646699", "msg": "", "rc": 0, "start": "2025-12-18 09:45:18.637256", "stderr": "", "stderr_lines": [], "stdout": "13.0%", "stdout_lines": ["13.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.029980", "end": "2025-12-18 09:45:17.484638", "msg": "", "rc": 0, "start": "2025-12-18 09:45:17.454658", "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.005539", "end": "2025-12-18 09:45:18.050178", "msg": "", "rc": 0, "start": "2025-12-18 09:45:18.044639", "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.004866", "end": "2025-12-18 09:45:18.073948", "msg": "", "rc": 0, "start": "2025-12-18 09:45:18.069082", "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.003210", "end": "2025-12-18 09:45:18.085013", "msg": "", "rc": 0, "start": "2025-12-18 09:45:18.081803", "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.005701", "end": "2025-12-18 09:45:18.083953", "msg": "", "rc": 0, "start": "2025-12-18 09:45:18.078252", "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.006599", "end": "2025-12-18 09:45:18.110224", "msg": "", "rc": 0, "start": "2025-12-18 09:45:18.103625", "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.003063", "end": "2025-12-18 09:44:51.257572", "msg": "", "rc": 0, "start": "2025-12-18 09:44:51.254509", "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.003176", "end": "2025-12-18 09:44:44.500791", "msg": "", "rc": 0, "start": "2025-12-18 09:44:44.497615", "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.011780", "end": "2025-12-18 09:45:18.750483", "msg": "", "rc": 0, "start": "2025-12-18 09:45:18.738703", "stderr": "", "stderr_lines": [], "stdout": "33.6°C", "stdout_lines": ["33.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.012956", "end": "2025-12-18 09:45:18.791883", "msg": "", "rc": 0, "start": "2025-12-18 09:45:18.778927", "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.003203", "end": "2025-12-18 09:45:19.043077", "msg": "", "rc": 0, "start": "2025-12-18 09:45:19.039874", "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.002687", "end": "2025-12-18 09:44:47.692257", "msg": "", "rc": 0, "start": "2025-12-18 09:44:47.689570", "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.003877", "end": "2025-12-18 06:45:19.273146", "msg": "", "rc": 0, "start": "2025-12-18 06:45:19.269269", "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.002577", "end": "2025-12-18 09:44:54.572825", "msg": "", "rc": 0, "start": "2025-12-18 09:44:54.570248", "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-18 09:45:19.445534", "msg": "", "rc": 0, "start": "2025-12-18 09:45:19.442614", "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.004194", "end": "2025-12-18 09:45:19.580013", "msg": "", "rc": 0, "start": "2025-12-18 09:45:19.575819", "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.028735", "end": "2025-12-18 09:45:19.445672", "msg": "", "rc": 0, "start": "2025-12-18 09:45:19.416937", "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.004161", "end": "2025-12-18 09:45:19.955920", "msg": "", "rc": 0, "start": "2025-12-18 09:45:19.951759", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
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.004151", "end": "2025-12-18 09:45:19.971231", "msg": "", "rc": 0, "start": "2025-12-18 09:45:19.967080", "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.004685", "end": "2025-12-18 09:45:19.986759", "msg": "", "rc": 0, "start": "2025-12-18 09:45:19.982074", "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.004658", "end": "2025-12-18 09:45:20.006925", "msg": "", "rc": 0, "start": "2025-12-18 09:45:20.002267", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
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.005621", "end": "2025-12-18 09:45:20.010978", "msg": "", "rc": 0, "start": "2025-12-18 09:45:20.005357", "stderr": "", "stderr_lines": [], "stdout": "0.62", "stdout_lines": ["0.62"]}
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.004239", "end": "2025-12-18 09:44:53.110249", "msg": "", "rc": 0, "start": "2025-12-18 09:44:53.106010", "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.006052", "end": "2025-12-18 09:44:46.396736", "msg": "", "rc": 0, "start": "2025-12-18 09:44:46.390684", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
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.009998", "end": "2025-12-18 09:45:20.719470", "msg": "", "rc": 0, "start": "2025-12-18 09:45:20.709472", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
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.011062", "end": "2025-12-18 09:45:20.793806", "msg": "", "rc": 0, "start": "2025-12-18 09:45:20.782744", "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.005525", "end": "2025-12-18 09:45:20.893621", "msg": "", "rc": 0, "start": "2025-12-18 09:45:20.888096", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
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.004774", "end": "2025-12-18 09:44:49.568230", "msg": "", "rc": 0, "start": "2025-12-18 09:44:49.563456", "stderr": "", "stderr_lines": [], "stdout": "0.46", "stdout_lines": ["0.46"]}
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.004356", "end": "2025-12-18 09:44:56.497832", "msg": "", "rc": 0, "start": "2025-12-18 09:44:56.493476", "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.005809", "end": "2025-12-18 06:45:21.248425", "msg": "", "rc": 0, "start": "2025-12-18 06:45:21.242616", "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.005218", "end": "2025-12-18 09:45:21.322162", "msg": "", "rc": 0, "start": "2025-12-18 09:45:21.316944", "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.006766", "end": "2025-12-18 09:45:21.509092", "msg": "", "rc": 0, "start": "2025-12-18 09:45:21.502326", "stderr": "", "stderr_lines": [], "stdout": "1.40", "stdout_lines": ["1.40"]}
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.023919", "end": "2025-12-18 09:45:21.339915", "msg": "", "rc": 0, "start": "2025-12-18 09:45:21.315996", "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: 09:45:11 up 3 days, 23:17, 2 users, load average: 0.10, 0.15, 0.22\nDisk Usage: 22%\nMemory Usage: 22.6%\nCPU Load: 0.23\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:45:11 up 22 days, 20:36, 1 user, load average: 0.05, 0.08, 0.08\nDisk Usage: 23%\nMemory Usage: 77.8%\nCPU Load: 0.05\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:45:11 up 22 days, 20:56, 1 user, load average: 0.46, 0.72, 0.75\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.47\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:45:11 up 22 days, 22:09, 1 user, load average: 0.64, 0.70, 0.70\nDisk Usage: 14%\nMemory Usage: 58.7%\nCPU Load: 0.62\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:45:11 up 22 days, 22:55, 1 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:45:12 up 15 days, 23:11, 1 user, load average: 0.14, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 19.5%\nCPU Load: 0.34\nCPU Temp: 36.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:45:12 up 195 days, 1:18, 1 user, load average: 0.24, 0.21, 0.18\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.29\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:45:12 up 195 days, 1:18, 1 user, load average: 0.12, 0.13, 0.14\nDisk Usage: 3%\nMemory Usage: 7.1%\nCPU Load: 0.19\nCPU Temp: 33.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:44:45 up 11 days, 21:34, 0 user, load average: 0.21, 0.21, 0.13\nDisk Usage: 48%\nMemory Usage: 70.9%\nCPU Load: 0.18\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:44:38 up 18 days, 17:46, 0 user, load average: 0.25, 0.07, 0.02\nDisk Usage: 24%\nMemory Usage: 64.3%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:45:12 up 3 days, 23:16, 1 user, load average: 0.18, 0.08, 0.02\nDisk Usage: 1%\nMemory Usage: 35.6%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:44:41 up 21 days, 12:38, 0 user, load average: 0.50, 0.64, 0.57\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.46\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:44:48 up 17 days, 23:00, 0 user, load average: 0.18, 0.29, 0.32\nDisk Usage: 76%\nMemory Usage: 50.2%\nCPU Load: 0.25\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:45AM up 22 days, 20:35, 1 user, load averages: 0.22, 0.30, 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: 09:45:13 up 3 days, 23:16, 1 user, load average: 0.00, 0.06, 0.08\nDisk Usage: 79%\nMemory Usage: 14.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:45:14 up 5:48, 1 user, load average: 1.29, 1.14, 1.15\nDisk Usage: 1%\nMemory Usage: 13.0%\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-18T14:45:22.483771+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `847280d4e83540978803d1fbd7a6cb35` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T14:50:00.002792+00:00 |
| **Fin** | 2025-12-18T14:50:23.743279+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: [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: [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.003229", "end": "2025-12-18 09:50:11.601505", "msg": "", "rc": 0, "start": "2025-12-18 09:50:11.598276", "stderr": "", "stderr_lines": [], "stdout": " 09:50:11 up 22 days, 20:41, 1 user, load average: 0.11, 0.10, 0.09", "stdout_lines": [" 09:50:11 up 22 days, 20:41, 1 user, load average: 0.11, 0.10, 0.09"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003783", "end": "2025-12-18 09:50:11.616602", "msg": "", "rc": 0, "start": "2025-12-18 09:50:11.612819", "stderr": "", "stderr_lines": [], "stdout": " 09:50:11 up 22 days, 23:00, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 09:50:11 up 22 days, 23:00, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002901", "end": "2025-12-18 09:50:11.642756", "msg": "", "rc": 0, "start": "2025-12-18 09:50:11.639855", "stderr": "", "stderr_lines": [], "stdout": " 09:50:11 up 3 days, 23:22, 2 users, load average: 0.10, 0.12, 0.18", "stdout_lines": [" 09:50:11 up 3 days, 23:22, 2 users, load average: 0.10, 0.12, 0.18"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008387", "end": "2025-12-18 09:50:12.276718", "msg": "", "rc": 0, "start": "2025-12-18 09:50:12.268331", "stderr": "", "stderr_lines": [], "stdout": " 09:50:12 up 195 days, 1:23, 1 user, load average: 0.04, 0.11, 0.12", "stdout_lines": [" 09:50:12 up 195 days, 1:23, 1 user, load average: 0.04, 0.11, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009106", "end": "2025-12-18 09:50:12.315459", "msg": "", "rc": 0, "start": "2025-12-18 09:50:12.306353", "stderr": "", "stderr_lines": [], "stdout": " 09:50:12 up 195 days, 1:23, 1 user, load average: 0.18, 0.15, 0.16", "stdout_lines": [" 09:50:12 up 195 days, 1:23, 1 user, load average: 0.18, 0.15, 0.16"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004905", "end": "2025-12-18 09:50:12.612493", "msg": "", "rc": 0, "start": "2025-12-18 09:50:11.607588", "stderr": "", "stderr_lines": [], "stdout": " 09:50:11 up 22 days, 21:01, 1 user, load average: 1.32, 0.98, 0.84", "stdout_lines": [" 09:50:11 up 22 days, 21:01, 1 user, load average: 1.32, 0.98, 0.84"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004908", "end": "2025-12-18 09:50:12.652678", "msg": "", "rc": 0, "start": "2025-12-18 09:50:11.647770", "stderr": "", "stderr_lines": [], "stdout": " 09:50:11 up 22 days, 22:14, 1 user, load average: 0.69, 0.65, 0.69", "stdout_lines": [" 09:50:11 up 22 days, 22:14, 1 user, load average: 0.69, 0.65, 0.69"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002751", "end": "2025-12-18 09:49:45.425415", "msg": "", "rc": 0, "start": "2025-12-18 09:49:45.422664", "stderr": "", "stderr_lines": [], "stdout": " 09:49:45 up 11 days, 21:39, 0 user, load average: 0.05, 0.10, 0.09", "stdout_lines": [" 09:49:45 up 11 days, 21:39, 0 user, load average: 0.05, 0.10, 0.09"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003469", "end": "2025-12-18 09:49:38.728294", "msg": "", "rc": 0, "start": "2025-12-18 09:49:38.724825", "stderr": "", "stderr_lines": [], "stdout": " 09:49:38 up 18 days, 17:51, 0 user, load average: 0.02, 0.04, 0.01", "stdout_lines": [" 09:49:38 up 18 days, 17:51, 0 user, load average: 0.02, 0.04, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004814", "end": "2025-12-18 09:50:13.069539", "msg": "", "rc": 0, "start": "2025-12-18 09:50:13.064725", "stderr": "", "stderr_lines": [], "stdout": " 09:50:13 up 3 days, 23:21, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 09:50:13 up 3 days, 23:21, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019175", "end": "2025-12-18 09:50:12.972060", "msg": "", "rc": 0, "start": "2025-12-18 09:50:12.952885", "stderr": "", "stderr_lines": [], "stdout": " 09:50:12 up 15 days, 23:16, 1 user, load average: 0.12, 0.11, 0.09", "stdout_lines": [" 09:50:12 up 15 days, 23:16, 1 user, load average: 0.12, 0.11, 0.09"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003365", "end": "2025-12-18 09:49:41.657488", "msg": "", "rc": 0, "start": "2025-12-18 09:49:41.654123", "stderr": "", "stderr_lines": [], "stdout": " 09:49:41 up 21 days, 12:43, 0 user, load average: 0.39, 0.49, 0.52", "stdout_lines": [" 09:49:41 up 21 days, 12:43, 0 user, load average: 0.39, 0.49, 0.52"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002913", "end": "2025-12-18 09:49:48.507204", "msg": "", "rc": 0, "start": "2025-12-18 09:49:48.504291", "stderr": "", "stderr_lines": [], "stdout": " 09:49:48 up 17 days, 23:05, 0 user, load average: 0.79, 0.65, 0.47", "stdout_lines": [" 09:49:48 up 17 days, 23:05, 0 user, load average: 0.79, 0.65, 0.47"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004256", "end": "2025-12-18 06:50:13.291005", "msg": "", "rc": 0, "start": "2025-12-18 06:50:13.286749", "stderr": "", "stderr_lines": [], "stdout": " 6:50AM up 22 days, 20:40, 1 user, load averages: 0.06, 0.19, 0.22", "stdout_lines": [" 6:50AM up 22 days, 20:40, 1 user, load averages: 0.06, 0.19, 0.22"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007116", "end": "2025-12-18 09:50:14.235857", "msg": "", "rc": 0, "start": "2025-12-18 09:50:14.228741", "stderr": "", "stderr_lines": [], "stdout": " 09:50:14 up 5:53, 1 user, load average: 1.03, 1.09, 1.12", "stdout_lines": [" 09:50:14 up 5:53, 1 user, load average: 1.03, 1.09, 1.12"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003768", "end": "2025-12-18 09:50:13.489814", "msg": "", "rc": 0, "start": "2025-12-18 09:50:13.486046", "stderr": "", "stderr_lines": [], "stdout": " 09:50:13 up 3 days, 23:21, 1 user, load average: 0.00, 0.03, 0.06", "stdout_lines": [" 09:50:13 up 3 days, 23:21, 1 user, load average: 0.00, 0.03, 0.06"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004260", "end": "2025-12-18 09:50:13.892142", "msg": "", "rc": 0, "start": "2025-12-18 09:50:13.887882", "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.004330", "end": "2025-12-18 09:50:13.918540", "msg": "", "rc": 0, "start": "2025-12-18 09:50:13.914210", "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.004978", "end": "2025-12-18 09:50:13.937799", "msg": "", "rc": 0, "start": "2025-12-18 09:50:13.932821", "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-18 09:50:13.955849", "msg": "", "rc": 0, "start": "2025-12-18 09:50:13.950901", "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.007148", "end": "2025-12-18 09:50:13.978463", "msg": "", "rc": 0, "start": "2025-12-18 09:50:13.971315", "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.005544", "end": "2025-12-18 09:49:47.135412", "msg": "", "rc": 0, "start": "2025-12-18 09:49:47.129868", "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.005699", "end": "2025-12-18 09:49:40.398023", "msg": "", "rc": 0, "start": "2025-12-18 09:49:40.392324", "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.015920", "end": "2025-12-18 09:50:14.713764", "msg": "", "rc": 0, "start": "2025-12-18 09:50:14.697844", "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.015241", "end": "2025-12-18 09:50:14.723070", "msg": "", "rc": 0, "start": "2025-12-18 09:50:14.707829", "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.005768", "end": "2025-12-18 09:50:14.931844", "msg": "", "rc": 0, "start": "2025-12-18 09:50:14.926076", "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.005204", "end": "2025-12-18 09:49:43.569680", "msg": "", "rc": 0, "start": "2025-12-18 09:49:43.564476", "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.005406", "end": "2025-12-18 06:50:15.195678", "msg": "", "rc": 0, "start": "2025-12-18 06:50:15.190272", "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.004792", "end": "2025-12-18 09:49:50.522918", "msg": "", "rc": 0, "start": "2025-12-18 09:49:50.518126", "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-18 09:50:15.337072", "msg": "", "rc": 0, "start": "2025-12-18 09:50:15.331623", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020370", "end": "2025-12-18 09:50:16.315091", "msg": "", "rc": 0, "start": "2025-12-18 09:50:16.294721", "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.027848", "end": "2025-12-18 09:50:15.511732", "msg": "", "rc": 0, "start": "2025-12-18 09:50:15.483884", "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.004309", "end": "2025-12-18 09:50:16.070038", "msg": "", "rc": 0, "start": "2025-12-18 09:50:16.065729", "stderr": "", "stderr_lines": [], "stdout": "77.8%", "stdout_lines": ["77.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.004253", "end": "2025-12-18 09:50:16.095940", "msg": "", "rc": 0, "start": "2025-12-18 09:50:16.091687", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.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.005231", "end": "2025-12-18 09:50:16.112198", "msg": "", "rc": 0, "start": "2025-12-18 09:50:16.106967", "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.004889", "end": "2025-12-18 09:50:16.129606", "msg": "", "rc": 0, "start": "2025-12-18 09:50:16.124717", "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.005410", "end": "2025-12-18 09:50:16.134064", "msg": "", "rc": 0, "start": "2025-12-18 09:50:16.128654", "stderr": "", "stderr_lines": [], "stdout": "58.6%", "stdout_lines": ["58.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.003576", "end": "2025-12-18 09:49:49.255025", "msg": "", "rc": 0, "start": "2025-12-18 09:49:49.251449", "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.004180", "end": "2025-12-18 09:49:42.549757", "msg": "", "rc": 0, "start": "2025-12-18 09:49:42.545577", "stderr": "", "stderr_lines": [], "stdout": "64.3%", "stdout_lines": ["64.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.010709", "end": "2025-12-18 09:50:16.792300", "msg": "", "rc": 0, "start": "2025-12-18 09:50:16.781591", "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.011975", "end": "2025-12-18 09:50:16.817168", "msg": "", "rc": 0, "start": "2025-12-18 09:50:16.805193", "stderr": "", "stderr_lines": [], "stdout": "13.3%", "stdout_lines": ["13.3%"]}
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.005956", "end": "2025-12-18 09:50:17.045772", "msg": "", "rc": 0, "start": "2025-12-18 09:50:17.039816", "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.004217", "end": "2025-12-18 09:49:45.716828", "msg": "", "rc": 0, "start": "2025-12-18 09:49:45.712611", "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.005751", "end": "2025-12-18 06:50:17.275868", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 06:50:17.270117", "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.004041", "end": "2025-12-18 09:49:52.596299", "msg": "", "rc": 0, "start": "2025-12-18 09:49:52.592258", "stderr": "", "stderr_lines": [], "stdout": "49.8%", "stdout_lines": ["49.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.005447", "end": "2025-12-18 09:50:17.452451", "msg": "", "rc": 0, "start": "2025-12-18 09:50:17.447004", "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.009671", "end": "2025-12-18 09:50:18.536634", "msg": "", "rc": 0, "start": "2025-12-18 09:50:18.526963", "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.031363", "end": "2025-12-18 09:50:17.782684", "msg": "", "rc": 0, "start": "2025-12-18 09:50:17.751321", "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.005181", "end": "2025-12-18 09:50:18.326785", "msg": "", "rc": 0, "start": "2025-12-18 09:50:18.321604", "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.005277", "end": "2025-12-18 09:50:18.369590", "msg": "", "rc": 0, "start": "2025-12-18 09:50:18.364313", "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.006023", "end": "2025-12-18 09:50:18.386140", "msg": "", "rc": 0, "start": "2025-12-18 09:50:18.380117", "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.003023", "end": "2025-12-18 09:50:18.397262", "msg": "", "rc": 0, "start": "2025-12-18 09:50:18.394239", "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.006994", "end": "2025-12-18 09:50:18.398730", "msg": "", "rc": 0, "start": "2025-12-18 09:50:18.391736", "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.002571", "end": "2025-12-18 09:49:51.557386", "msg": "", "rc": 0, "start": "2025-12-18 09:49:51.554815", "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.003080", "end": "2025-12-18 09:49:44.789334", "msg": "", "rc": 0, "start": "2025-12-18 09:49:44.786254", "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.011848", "end": "2025-12-18 09:50:19.056630", "msg": "", "rc": 0, "start": "2025-12-18 09:50:19.044782", "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.013148", "end": "2025-12-18 09:50:19.092950", "msg": "", "rc": 0, "start": "2025-12-18 09:50:19.079802", "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.003173", "end": "2025-12-18 09:50:19.346787", "msg": "", "rc": 0, "start": "2025-12-18 09:50:19.343614", "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.002793", "end": "2025-12-18 09:49:47.972007", "msg": "", "rc": 0, "start": "2025-12-18 09:49:47.969214", "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.004393", "end": "2025-12-18 06:50:19.540604", "msg": "", "rc": 0, "start": "2025-12-18 06:50:19.536211", "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.003882", "end": "2025-12-18 09:49:54.857074", "msg": "", "rc": 0, "start": "2025-12-18 09:49:54.853192", "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.002880", "end": "2025-12-18 09:50:19.743137", "msg": "", "rc": 0, "start": "2025-12-18 09:50:19.740257", "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.004683", "end": "2025-12-18 09:50:20.890742", "msg": "", "rc": 0, "start": "2025-12-18 09:50:20.886059", "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.029297", "end": "2025-12-18 09:50:19.727347", "msg": "", "rc": 0, "start": "2025-12-18 09:50:19.698050", "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.004078", "end": "2025-12-18 09:50:20.230776", "msg": "", "rc": 0, "start": "2025-12-18 09:50:20.226698", "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.003945", "end": "2025-12-18 09:50:20.266956", "msg": "", "rc": 0, "start": "2025-12-18 09:50:20.263011", "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.004640", "end": "2025-12-18 09:50:20.269355", "msg": "", "rc": 0, "start": "2025-12-18 09:50:20.264715", "stderr": "", "stderr_lines": [], "stdout": "1.43", "stdout_lines": ["1.43"]}
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-18 09:50:20.297904", "msg": "", "rc": 0, "start": "2025-12-18 09:50:20.292780", "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-18 09:50:20.310344", "msg": "", "rc": 0, "start": "2025-12-18 09:50:20.304885", "stderr": "", "stderr_lines": [], "stdout": "0.81", "stdout_lines": ["0.81"]}
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-18 09:49:53.412858", "msg": "", "rc": 0, "start": "2025-12-18 09:49:53.408682", "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.005319", "end": "2025-12-18 09:49:46.706503", "msg": "", "rc": 0, "start": "2025-12-18 09:49:46.701184", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
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.010401", "end": "2025-12-18 09:50:21.040814", "msg": "", "rc": 0, "start": "2025-12-18 09:50:21.030413", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
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.011161", "end": "2025-12-18 09:50:21.071049", "msg": "", "rc": 0, "start": "2025-12-18 09:50:21.059888", "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.005652", "end": "2025-12-18 09:50:21.190493", "msg": "", "rc": 0, "start": "2025-12-18 09:50:21.184841", "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.005261", "end": "2025-12-18 09:49:49.861109", "msg": "", "rc": 0, "start": "2025-12-18 09:49:49.855848", "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.005819", "end": "2025-12-18 06:50:21.515425", "msg": "", "rc": 0, "start": "2025-12-18 06:50:21.509606", "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.005142", "end": "2025-12-18 09:49:56.823243", "msg": "", "rc": 0, "start": "2025-12-18 09:49:56.818101", "stderr": "", "stderr_lines": [], "stdout": "0.81", "stdout_lines": ["0.81"]}
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.005263", "end": "2025-12-18 09:50:21.610162", "msg": "", "rc": 0, "start": "2025-12-18 09:50:21.604899", "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.008179", "end": "2025-12-18 09:50:22.872962", "msg": "", "rc": 0, "start": "2025-12-18 09:50:22.864783", "stderr": "", "stderr_lines": [], "stdout": "1.02", "stdout_lines": ["1.02"]}
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.024568", "end": "2025-12-18 09:50:21.606751", "msg": "", "rc": 0, "start": "2025-12-18 09:50:21.582183", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:50:11 up 22 days, 20:41, 1 user, load average: 0.11, 0.10, 0.09\nDisk Usage: 23%\nMemory Usage: 77.8%\nCPU Load: 0.18\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:50:11 up 3 days, 23:22, 2 users, load average: 0.10, 0.12, 0.18\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 0.16\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:50:11 up 22 days, 21:01, 1 user, load average: 1.32, 0.98, 0.84\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 1.43\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:50:11 up 22 days, 22:14, 1 user, load average: 0.69, 0.65, 0.69\nDisk Usage: 14%\nMemory Usage: 58.6%\nCPU Load: 0.81\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:50:11 up 22 days, 23:00, 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: 09:50:12 up 15 days, 23:16, 1 user, load average: 0.12, 0.11, 0.09\nDisk Usage: 21%\nMemory Usage: 20.1%\nCPU Load: 0.33\nCPU Temp: 35.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:50:12 up 195 days, 1:23, 1 user, load average: 0.18, 0.15, 0.16\nDisk Usage: 6%\nMemory Usage: 13.3%\nCPU Load: 0.23\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:50:12 up 195 days, 1:23, 1 user, load average: 0.04, 0.11, 0.12\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.12\nCPU Temp: 32.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:49:45 up 11 days, 21:39, 0 user, load average: 0.05, 0.10, 0.09\nDisk Usage: 48%\nMemory Usage: 71.2%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:50:13 up 3 days, 23:21, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 1%\nMemory Usage: 35.6%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:49:38 up 18 days, 17:51, 0 user, load average: 0.02, 0.04, 0.01\nDisk Usage: 24%\nMemory Usage: 64.3%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:49:41 up 21 days, 12:43, 0 user, load average: 0.39, 0.49, 0.52\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.36\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:49:48 up 17 days, 23:05, 0 user, load average: 0.79, 0.65, 0.47\nDisk Usage: 76%\nMemory Usage: 49.8%\nCPU Load: 0.81\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:50AM up 22 days, 20:40, 1 user, load averages: 0.06, 0.19, 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: 09:50:13 up 3 days, 23:21, 1 user, load average: 0.00, 0.03, 0.06\nDisk Usage: 79%\nMemory Usage: 14.0%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:50:14 up 5:53, 1 user, load average: 1.03, 1.09, 1.12\nDisk Usage: 1%\nMemory Usage: 12.7%\nCPU Load: 1.02\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-18T14:50:23.786592+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `29705143fc8a489abd7cbad5668714ea` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T14:55:00.004680+00:00 |
| **Fin** | 2025-12-18T14:55:22.097541+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: [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: [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.003315", "end": "2025-12-18 09:55:10.603285", "msg": "", "rc": 0, "start": "2025-12-18 09:55:10.599970", "stderr": "", "stderr_lines": [], "stdout": " 09:55:10 up 22 days, 20:46, 1 user, load average: 0.14, 0.07, 0.08", "stdout_lines": [" 09:55:10 up 22 days, 20:46, 1 user, load average: 0.14, 0.07, 0.08"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003772", "end": "2025-12-18 09:55:10.617914", "msg": "", "rc": 0, "start": "2025-12-18 09:55:10.614142", "stderr": "", "stderr_lines": [], "stdout": " 09:55:10 up 22 days, 23:05, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 09:55:10 up 22 days, 23:05, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002882", "end": "2025-12-18 09:55:10.647534", "msg": "", "rc": 0, "start": "2025-12-18 09:55:10.644652", "stderr": "", "stderr_lines": [], "stdout": " 09:55:10 up 3 days, 23:27, 1 user, load average: 0.28, 0.16, 0.18", "stdout_lines": [" 09:55:10 up 3 days, 23:27, 1 user, load average: 0.28, 0.16, 0.18"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008512", "end": "2025-12-18 09:55:11.275032", "msg": "", "rc": 0, "start": "2025-12-18 09:55:11.266520", "stderr": "", "stderr_lines": [], "stdout": " 09:55:11 up 195 days, 1:28, 1 user, load average: 0.16, 0.13, 0.12", "stdout_lines": [" 09:55:11 up 195 days, 1:28, 1 user, load average: 0.16, 0.13, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009252", "end": "2025-12-18 09:55:11.299125", "msg": "", "rc": 0, "start": "2025-12-18 09:55:11.289873", "stderr": "", "stderr_lines": [], "stdout": " 09:55:11 up 195 days, 1:28, 1 user, load average: 0.17, 0.12, 0.15", "stdout_lines": [" 09:55:11 up 195 days, 1:28, 1 user, load average: 0.17, 0.12, 0.15"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004101", "end": "2025-12-18 09:55:11.615516", "msg": "", "rc": 0, "start": "2025-12-18 09:55:10.611415", "stderr": "", "stderr_lines": [], "stdout": " 09:55:10 up 22 days, 21:06, 1 user, load average: 0.77, 0.82, 0.80", "stdout_lines": [" 09:55:10 up 22 days, 21:06, 1 user, load average: 0.77, 0.82, 0.80"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004682", "end": "2025-12-18 09:55:11.654372", "msg": "", "rc": 0, "start": "2025-12-18 09:55:10.649690", "stderr": "", "stderr_lines": [], "stdout": " 09:55:10 up 22 days, 22:19, 1 user, load average: 0.66, 0.70, 0.71", "stdout_lines": [" 09:55:10 up 22 days, 22:19, 1 user, load average: 0.66, 0.70, 0.71"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003286", "end": "2025-12-18 09:54:44.409834", "msg": "", "rc": 0, "start": "2025-12-18 09:54:44.406548", "stderr": "", "stderr_lines": [], "stdout": " 09:54:44 up 11 days, 21:44, 0 user, load average: 0.32, 0.22, 0.15", "stdout_lines": [" 09:54:44 up 11 days, 21:44, 0 user, load average: 0.32, 0.22, 0.15"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004149", "end": "2025-12-18 09:54:37.720577", "msg": "", "rc": 0, "start": "2025-12-18 09:54:37.716428", "stderr": "", "stderr_lines": [], "stdout": " 09:54:37 up 18 days, 17:56, 0 user, load average: 0.08, 0.03, 0.01", "stdout_lines": [" 09:54:37 up 18 days, 17:56, 0 user, load average: 0.08, 0.03, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004959", "end": "2025-12-18 09:55:12.069766", "msg": "", "rc": 0, "start": "2025-12-18 09:55:12.064807", "stderr": "", "stderr_lines": [], "stdout": " 09:55:12 up 3 days, 23:26, 1 user, load average: 0.05, 0.03, 0.00", "stdout_lines": [" 09:55:12 up 3 days, 23:26, 1 user, load average: 0.05, 0.03, 0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019517", "end": "2025-12-18 09:55:11.966269", "msg": "", "rc": 0, "start": "2025-12-18 09:55:11.946752", "stderr": "", "stderr_lines": [], "stdout": " 09:55:11 up 15 days, 23:21, 1 user, load average: 0.22, 0.17, 0.11", "stdout_lines": [" 09:55:11 up 15 days, 23:21, 1 user, load average: 0.22, 0.17, 0.11"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002988", "end": "2025-12-18 09:54:47.472978", "msg": "", "rc": 0, "start": "2025-12-18 09:54:47.469990", "stderr": "", "stderr_lines": [], "stdout": " 09:54:47 up 17 days, 23:10, 0 user, load average: 0.25, 0.39, 0.40", "stdout_lines": [" 09:54:47 up 17 days, 23:10, 0 user, load average: 0.25, 0.39, 0.40"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003529", "end": "2025-12-18 09:54:40.713532", "msg": "", "rc": 0, "start": "2025-12-18 09:54:40.710003", "stderr": "", "stderr_lines": [], "stdout": " 09:54:40 up 21 days, 12:48, 0 user, load average: 0.45, 0.44, 0.48", "stdout_lines": [" 09:54:40 up 21 days, 12:48, 0 user, load average: 0.45, 0.44, 0.48"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004203", "end": "2025-12-18 06:55:12.285716", "msg": "", "rc": 0, "start": "2025-12-18 06:55:12.281513", "stderr": "", "stderr_lines": [], "stdout": " 6:55AM up 22 days, 20:44, 1 user, load averages: 0.15, 0.21, 0.22", "stdout_lines": [" 6:55AM up 22 days, 20:44, 1 user, load averages: 0.15, 0.21, 0.22"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007324", "end": "2025-12-18 09:55:12.780340", "msg": "", "rc": 0, "start": "2025-12-18 09:55:12.773016", "stderr": "", "stderr_lines": [], "stdout": " 09:55:12 up 5:58, 1 user, load average: 1.35, 1.11, 1.10", "stdout_lines": [" 09:55:12 up 5:58, 1 user, load average: 1.35, 1.11, 1.10"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003662", "end": "2025-12-18 09:55:12.480968", "msg": "", "rc": 0, "start": "2025-12-18 09:55:12.477306", "stderr": "", "stderr_lines": [], "stdout": " 09:55:12 up 3 days, 23:26, 1 user, load average: 0.00, 0.01, 0.03", "stdout_lines": [" 09:55:12 up 3 days, 23:26, 1 user, load average: 0.00, 0.01, 0.03"]}
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-18 09:55:12.888674", "msg": "", "rc": 0, "start": "2025-12-18 09:55:12.884476", "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.004123", "end": "2025-12-18 09:55:12.895918", "msg": "", "rc": 0, "start": "2025-12-18 09:55:12.891795", "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.005046", "end": "2025-12-18 09:55:12.923825", "msg": "", "rc": 0, "start": "2025-12-18 09:55:12.918779", "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.004922", "end": "2025-12-18 09:55:12.930638", "msg": "", "rc": 0, "start": "2025-12-18 09:55:12.925716", "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.005720", "end": "2025-12-18 09:55:12.962342", "msg": "", "rc": 0, "start": "2025-12-18 09:55:12.956622", "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.005002", "end": "2025-12-18 09:54:46.049514", "msg": "", "rc": 0, "start": "2025-12-18 09:54:46.044512", "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.005555", "end": "2025-12-18 09:54:39.339283", "msg": "", "rc": 0, "start": "2025-12-18 09:54:39.333728", "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.010698", "end": "2025-12-18 09:55:13.652350", "msg": "", "rc": 0, "start": "2025-12-18 09:55:13.641652", "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.011525", "end": "2025-12-18 09:55:13.664217", "msg": "", "rc": 0, "start": "2025-12-18 09:55:13.652692", "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.005766", "end": "2025-12-18 09:55:13.833139", "msg": "", "rc": 0, "start": "2025-12-18 09:55:13.827373", "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.005319", "end": "2025-12-18 09:54:42.493081", "msg": "", "rc": 0, "start": "2025-12-18 09:54:42.487762", "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.005144", "end": "2025-12-18 06:55:14.104710", "msg": "", "rc": 0, "start": "2025-12-18 06:55:14.099566", "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.004859", "end": "2025-12-18 09:54:49.429832", "msg": "", "rc": 0, "start": "2025-12-18 09:54:49.424973", "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.006672", "end": "2025-12-18 09:55:14.241302", "msg": "", "rc": 0, "start": "2025-12-18 09:55:14.234630", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.019879", "end": "2025-12-18 09:55:14.800025", "msg": "", "rc": 0, "start": "2025-12-18 09:55:14.780146", "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.025232", "end": "2025-12-18 09:55:14.261286", "msg": "", "rc": 0, "start": "2025-12-18 09:55:14.236054", "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.004165", "end": "2025-12-18 09:55:14.782525", "msg": "", "rc": 0, "start": "2025-12-18 09:55:14.778360", "stderr": "", "stderr_lines": [], "stdout": "77.8%", "stdout_lines": ["77.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.004082", "end": "2025-12-18 09:55:14.784410", "msg": "", "rc": 0, "start": "2025-12-18 09:55:14.780328", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.7%"]}
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.004571", "end": "2025-12-18 09:55:14.802208", "msg": "", "rc": 0, "start": "2025-12-18 09:55:14.797637", "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.005255", "end": "2025-12-18 09:55:14.840149", "msg": "", "rc": 0, "start": "2025-12-18 09:55:14.834894", "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.005746", "end": "2025-12-18 09:55:14.843380", "msg": "", "rc": 0, "start": "2025-12-18 09:55:14.837634", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.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.003995", "end": "2025-12-18 09:54:47.985215", "msg": "", "rc": 0, "start": "2025-12-18 09:54:47.981220", "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.004228", "end": "2025-12-18 09:54:41.222786", "msg": "", "rc": 0, "start": "2025-12-18 09:54:41.218558", "stderr": "", "stderr_lines": [], "stdout": "64.2%", "stdout_lines": ["64.2%"]}
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.010879", "end": "2025-12-18 09:55:15.536108", "msg": "", "rc": 0, "start": "2025-12-18 09:55:15.525229", "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.011600", "end": "2025-12-18 09:55:15.570885", "msg": "", "rc": 0, "start": "2025-12-18 09:55:15.559285", "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.005772", "end": "2025-12-18 09:55:15.782192", "msg": "", "rc": 0, "start": "2025-12-18 09:55:15.776420", "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.004578", "end": "2025-12-18 09:54:44.378676", "msg": "", "rc": 0, "start": "2025-12-18 09:54:44.374098", "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.003771", "end": "2025-12-18 09:54:51.306148", "msg": "", "rc": 0, "start": "2025-12-18 09:54:51.302377", "stderr": "", "stderr_lines": [], "stdout": "48.8%", "stdout_lines": ["48.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.005019", "end": "2025-12-18 06:55:16.027669", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 06:55:16.022650", "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.005589", "end": "2025-12-18 09:55:16.191538", "msg": "", "rc": 0, "start": "2025-12-18 09:55:16.185949", "stderr": "", "stderr_lines": [], "stdout": "14.2%", "stdout_lines": ["14.2%"]}
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.008071", "end": "2025-12-18 09:55:16.751784", "msg": "", "rc": 0, "start": "2025-12-18 09:55:16.743713", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.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.027486", "end": "2025-12-18 09:55:16.348430", "msg": "", "rc": 0, "start": "2025-12-18 09:55:16.320944", "stderr": "", "stderr_lines": [], "stdout": "20.0%", "stdout_lines": ["20.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.005209", "end": "2025-12-18 09:55:16.892567", "msg": "", "rc": 0, "start": "2025-12-18 09:55:16.887358", "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.004736", "end": "2025-12-18 09:55:16.929821", "msg": "", "rc": 0, "start": "2025-12-18 09:55:16.925085", "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.002732", "end": "2025-12-18 09:55:16.945845", "msg": "", "rc": 0, "start": "2025-12-18 09:55:16.943113", "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.005605", "end": "2025-12-18 09:55:16.941423", "msg": "", "rc": 0, "start": "2025-12-18 09:55:16.935818", "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.006721", "end": "2025-12-18 09:55:16.967540", "msg": "", "rc": 0, "start": "2025-12-18 09:55:16.960819", "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.002419", "end": "2025-12-18 09:54:50.051534", "msg": "", "rc": 0, "start": "2025-12-18 09:54:50.049115", "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.003080", "end": "2025-12-18 09:54:43.344163", "msg": "", "rc": 0, "start": "2025-12-18 09:54:43.341083", "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.011638", "end": "2025-12-18 09:55:17.582020", "msg": "", "rc": 0, "start": "2025-12-18 09:55:17.570382", "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.012916", "end": "2025-12-18 09:55:17.626609", "msg": "", "rc": 0, "start": "2025-12-18 09:55:17.613693", "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.003127", "end": "2025-12-18 09:55:17.822242", "msg": "", "rc": 0, "start": "2025-12-18 09:55:17.819115", "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.003077", "end": "2025-12-18 09:54:46.502228", "msg": "", "rc": 0, "start": "2025-12-18 09:54:46.499151", "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.003827", "end": "2025-12-18 06:55:18.079534", "msg": "", "rc": 0, "start": "2025-12-18 06:55:18.075707", "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.002769", "end": "2025-12-18 09:54:53.382937", "msg": "", "rc": 0, "start": "2025-12-18 09:54:53.380168", "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-18 09:55:18.235398", "msg": "", "rc": 0, "start": "2025-12-18 09:55:18.232478", "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.003837", "end": "2025-12-18 09:55:18.959894", "msg": "", "rc": 0, "start": "2025-12-18 09:55:18.956057", "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.028645", "end": "2025-12-18 09:55:18.500322", "msg": "", "rc": 0, "start": "2025-12-18 09:55:18.471677", "stderr": "", "stderr_lines": [], "stdout": "37.9°C", "stdout_lines": ["37.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.004269", "end": "2025-12-18 09:55:19.040179", "msg": "", "rc": 0, "start": "2025-12-18 09:55:19.035910", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
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.004570", "end": "2025-12-18 09:55:19.065381", "msg": "", "rc": 0, "start": "2025-12-18 09:55:19.060811", "stderr": "", "stderr_lines": [], "stdout": "0.87", "stdout_lines": ["0.87"]}
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.004034", "end": "2025-12-18 09:55:19.070683", "msg": "", "rc": 0, "start": "2025-12-18 09:55:19.066649", "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.005043", "end": "2025-12-18 09:55:19.085331", "msg": "", "rc": 0, "start": "2025-12-18 09:55:19.080288", "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.006003", "end": "2025-12-18 09:55:19.115152", "msg": "", "rc": 0, "start": "2025-12-18 09:55:19.109149", "stderr": "", "stderr_lines": [], "stdout": "0.71", "stdout_lines": ["0.71"]}
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-18 09:54:52.188391", "msg": "", "rc": 0, "start": "2025-12-18 09:54:52.184074", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
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-18 09:54:45.485304", "msg": "", "rc": 0, "start": "2025-12-18 09:54:45.480151", "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.010248", "end": "2025-12-18 09:55:19.800988", "msg": "", "rc": 0, "start": "2025-12-18 09:55:19.790740", "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.010986", "end": "2025-12-18 09:55:19.861171", "msg": "", "rc": 0, "start": "2025-12-18 09:55:19.850185", "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.005605", "end": "2025-12-18 09:55:19.964431", "msg": "", "rc": 0, "start": "2025-12-18 09:55:19.958826", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
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.004935", "end": "2025-12-18 09:54:48.648699", "msg": "", "rc": 0, "start": "2025-12-18 09:54:48.643764", "stderr": "", "stderr_lines": [], "stdout": "0.46", "stdout_lines": ["0.46"]}
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.004334", "end": "2025-12-18 09:54:55.587973", "msg": "", "rc": 0, "start": "2025-12-18 09:54:55.583639", "stderr": "", "stderr_lines": [], "stdout": "1.41", "stdout_lines": ["1.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.006991", "end": "2025-12-18 06:55:20.316348", "msg": "", "rc": 0, "start": "2025-12-18 06:55:20.309357", "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.005301", "end": "2025-12-18 09:55:20.371604", "msg": "", "rc": 0, "start": "2025-12-18 09:55:20.366303", "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.007976", "end": "2025-12-18 09:55:21.197536", "msg": "", "rc": 0, "start": "2025-12-18 09:55:21.189560", "stderr": "", "stderr_lines": [], "stdout": "1.45", "stdout_lines": ["1.45"]}
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.024655", "end": "2025-12-18 09:55:20.423952", "msg": "", "rc": 0, "start": "2025-12-18 09:55:20.399297", "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: 09:55:10 up 3 days, 23:27, 1 user, load average: 0.28, 0.16, 0.18\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 0.31\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:55:10 up 22 days, 20:46, 1 user, load average: 0.14, 0.07, 0.08\nDisk Usage: 23%\nMemory Usage: 77.8%\nCPU Load: 0.12\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:55:10 up 22 days, 21:06, 1 user, load average: 0.77, 0.82, 0.80\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.87\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:55:10 up 22 days, 22:19, 1 user, load average: 0.66, 0.70, 0.71\nDisk Usage: 14%\nMemory Usage: 58.7%\nCPU Load: 0.71\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:55:10 up 22 days, 23:05, 1 user, load average: 0.00, 0.00, 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: 09:55:11 up 15 days, 23:21, 1 user, load average: 0.22, 0.17, 0.11\nDisk Usage: 21%\nMemory Usage: 20.0%\nCPU Load: 0.36\nCPU Temp: 37.9°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:55:11 up 195 days, 1:28, 1 user, load average: 0.17, 0.12, 0.15\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.24\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:55:11 up 195 days, 1:28, 1 user, load average: 0.16, 0.13, 0.12\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.13\nCPU Temp: 32.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:54:44 up 11 days, 21:44, 0 user, load average: 0.32, 0.22, 0.15\nDisk Usage: 48%\nMemory Usage: 71.2%\nCPU Load: 0.34\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:54:37 up 18 days, 17:56, 0 user, load average: 0.08, 0.03, 0.01\nDisk Usage: 24%\nMemory Usage: 64.2%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:55:12 up 3 days, 23:26, 1 user, load average: 0.05, 0.03, 0.00\nDisk Usage: 1%\nMemory Usage: 35.6%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:54:40 up 21 days, 12:48, 0 user, load average: 0.45, 0.44, 0.48\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.46\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:54:47 up 17 days, 23:10, 0 user, load average: 0.25, 0.39, 0.40\nDisk Usage: 76%\nMemory Usage: 48.8%\nCPU Load: 1.41\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 6:55AM up 22 days, 20:44, 1 user, load averages: 0.15, 0.21, 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: 09:55:12 up 3 days, 23:26, 1 user, load average: 0.00, 0.01, 0.03\nDisk Usage: 79%\nMemory Usage: 14.2%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:55:12 up 5:58, 1 user, load average: 1.35, 1.11, 1.10\nDisk Usage: 1%\nMemory Usage: 12.9%\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-18T14:55:22.142020+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `ea8b41384c734885ba99347e56ea3428` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T15:00:00.004104+00:00 |
| **Fin** | 2025-12-18T15:00:22.340949+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: [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.003205", "end": "2025-12-18 10:00:11.448612", "msg": "", "rc": 0, "start": "2025-12-18 10:00:11.445407", "stderr": "", "stderr_lines": [], "stdout": " 10:00:11 up 22 days, 20:51, 1 user, load average: 0.12, 0.11, 0.09", "stdout_lines": [" 10:00:11 up 22 days, 20:51, 1 user, load average: 0.12, 0.11, 0.09"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003882", "end": "2025-12-18 10:00:11.459957", "msg": "", "rc": 0, "start": "2025-12-18 10:00:11.456075", "stderr": "", "stderr_lines": [], "stdout": " 10:00:11 up 22 days, 23:10, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 10:00:11 up 22 days, 23:10, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003501", "end": "2025-12-18 10:00:11.462548", "msg": "", "rc": 0, "start": "2025-12-18 10:00:11.459047", "stderr": "", "stderr_lines": [], "stdout": " 10:00:11 up 22 days, 21:11, 1 user, load average: 0.81, 0.85, 0.82", "stdout_lines": [" 10:00:11 up 22 days, 21:11, 1 user, load average: 0.81, 0.85, 0.82"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002902", "end": "2025-12-18 10:00:11.488571", "msg": "", "rc": 0, "start": "2025-12-18 10:00:11.485669", "stderr": "", "stderr_lines": [], "stdout": " 10:00:11 up 3 days, 23:32, 1 user, load average: 0.10, 0.11, 0.16", "stdout_lines": [" 10:00:11 up 3 days, 23:32, 1 user, load average: 0.10, 0.11, 0.16"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004278", "end": "2025-12-18 10:00:11.494754", "msg": "", "rc": 0, "start": "2025-12-18 10:00:11.490476", "stderr": "", "stderr_lines": [], "stdout": " 10:00:11 up 22 days, 22:24, 1 user, load average: 0.58, 0.61, 0.68", "stdout_lines": [" 10:00:11 up 22 days, 22:24, 1 user, load average: 0.58, 0.61, 0.68"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002698", "end": "2025-12-18 09:59:44.623931", "msg": "", "rc": 0, "start": "2025-12-18 09:59:44.621233", "stderr": "", "stderr_lines": [], "stdout": " 09:59:44 up 11 days, 21:49, 0 user, load average: 0.08, 0.35, 0.25", "stdout_lines": [" 09:59:44 up 11 days, 21:49, 0 user, load average: 0.08, 0.35, 0.25"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003583", "end": "2025-12-18 09:59:37.909231", "msg": "", "rc": 0, "start": "2025-12-18 09:59:37.905648", "stderr": "", "stderr_lines": [], "stdout": " 09:59:37 up 18 days, 18:01, 0 user, load average: 0.11, 0.04, 0.01", "stdout_lines": [" 09:59:37 up 18 days, 18:01, 0 user, load average: 0.11, 0.04, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008627", "end": "2025-12-18 10:00:12.154231", "msg": "", "rc": 0, "start": "2025-12-18 10:00:12.145604", "stderr": "", "stderr_lines": [], "stdout": " 10:00:12 up 195 days, 1:33, 1 user, load average: 0.08, 0.12, 0.11", "stdout_lines": [" 10:00:12 up 195 days, 1:33, 1 user, load average: 0.08, 0.12, 0.11"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009687", "end": "2025-12-18 10:00:12.253777", "msg": "", "rc": 0, "start": "2025-12-18 10:00:12.244090", "stderr": "", "stderr_lines": [], "stdout": " 10:00:12 up 195 days, 1:33, 1 user, load average: 0.22, 0.23, 0.18", "stdout_lines": [" 10:00:12 up 195 days, 1:33, 1 user, load average: 0.22, 0.23, 0.18"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004908", "end": "2025-12-18 10:00:12.410859", "msg": "", "rc": 0, "start": "2025-12-18 10:00:12.405951", "stderr": "", "stderr_lines": [], "stdout": " 10:00:12 up 3 days, 23:31, 1 user, load average: 0.07, 0.03, 0.00", "stdout_lines": [" 10:00:12 up 3 days, 23:31, 1 user, load average: 0.07, 0.03, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003228", "end": "2025-12-18 09:59:41.087798", "msg": "", "rc": 0, "start": "2025-12-18 09:59:41.084570", "stderr": "", "stderr_lines": [], "stdout": " 09:59:41 up 21 days, 12:53, 0 user, load average: 0.86, 0.50, 0.48", "stdout_lines": [" 09:59:41 up 21 days, 12:53, 0 user, load average: 0.86, 0.50, 0.48"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002643", "end": "2025-12-18 09:59:47.912926", "msg": "", "rc": 0, "start": "2025-12-18 09:59:47.910283", "stderr": "", "stderr_lines": [], "stdout": " 09:59:47 up 17 days, 23:15, 0 user, load average: 0.15, 0.31, 0.38", "stdout_lines": [" 09:59:47 up 17 days, 23:15, 0 user, load average: 0.15, 0.31, 0.38"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004100", "end": "2025-12-18 07:00:12.713994", "msg": "", "rc": 0, "start": "2025-12-18 07:00:12.709894", "stderr": "", "stderr_lines": [], "stdout": " 7:00AM up 22 days, 20:50, 1 user, load averages: 0.24, 0.19, 0.21", "stdout_lines": [" 7:00AM up 22 days, 20:50, 1 user, load averages: 0.24, 0.19, 0.21"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003746", "end": "2025-12-18 10:00:12.834324", "msg": "", "rc": 0, "start": "2025-12-18 10:00:12.830578", "stderr": "", "stderr_lines": [], "stdout": " 10:00:12 up 3 days, 23:31, 1 user, load average: 0.03, 0.06, 0.05", "stdout_lines": [" 10:00:12 up 3 days, 23:31, 1 user, load average: 0.03, 0.06, 0.05"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008665", "end": "2025-12-18 10:00:12.969688", "msg": "", "rc": 0, "start": "2025-12-18 10:00:12.961023", "stderr": "", "stderr_lines": [], "stdout": " 10:00:12 up 6:03, 1 user, load average: 1.21, 1.12, 1.10", "stdout_lines": [" 10:00:12 up 6:03, 1 user, load average: 1.21, 1.12, 1.10"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019492", "end": "2025-12-18 10:00:12.816676", "msg": "", "rc": 0, "start": "2025-12-18 10:00:12.797184", "stderr": "", "stderr_lines": [], "stdout": " 10:00:12 up 15 days, 23:26, 1 user, load average: 0.20, 0.14, 0.10", "stdout_lines": [" 10:00:12 up 15 days, 23:26, 1 user, load average: 0.20, 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.004242", "end": "2025-12-18 10:00:13.333209", "msg": "", "rc": 0, "start": "2025-12-18 10:00:13.328967", "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.004305", "end": "2025-12-18 10:00:13.363025", "msg": "", "rc": 0, "start": "2025-12-18 10:00:13.358720", "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.004661", "end": "2025-12-18 10:00:13.371444", "msg": "", "rc": 0, "start": "2025-12-18 10:00:13.366783", "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.004754", "end": "2025-12-18 10:00:13.398683", "msg": "", "rc": 0, "start": "2025-12-18 10:00:13.393929", "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.005613", "end": "2025-12-18 10:00:13.424764", "msg": "", "rc": 0, "start": "2025-12-18 10:00:13.419151", "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.004821", "end": "2025-12-18 09:59:46.523515", "msg": "", "rc": 0, "start": "2025-12-18 09:59:46.518694", "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.009447", "end": "2025-12-18 09:59:39.837373", "msg": "", "rc": 0, "start": "2025-12-18 09:59:39.827926", "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.011696", "end": "2025-12-18 10:00:14.069199", "msg": "", "rc": 0, "start": "2025-12-18 10:00:14.057503", "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.010518", "end": "2025-12-18 10:00:14.098874", "msg": "", "rc": 0, "start": "2025-12-18 10:00:14.088356", "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.005681", "end": "2025-12-18 10:00:14.317543", "msg": "", "rc": 0, "start": "2025-12-18 10:00:14.311862", "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.005368", "end": "2025-12-18 07:00:14.533224", "msg": "", "rc": 0, "start": "2025-12-18 07:00:14.527856", "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.004749", "end": "2025-12-18 09:59:49.845470", "msg": "", "rc": 0, "start": "2025-12-18 09:59:49.840721", "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.005721", "end": "2025-12-18 09:59:43.034702", "msg": "", "rc": 0, "start": "2025-12-18 09:59:43.028981", "stderr": "", "stderr_lines": [], "stdout": "28%", "stdout_lines": ["28%"]}
ok: [jump.point.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.005874", "end": "2025-12-18 10:00:14.752149", "msg": "", "rc": 0, "start": "2025-12-18 10:00:14.746275", "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.025390", "end": "2025-12-18 10:00:14.719616", "msg": "", "rc": 0, "start": "2025-12-18 10:00:14.694226", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021757", "end": "2025-12-18 10:00:15.015990", "msg": "", "rc": 0, "start": "2025-12-18 10:00:14.994233", "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.004199", "end": "2025-12-18 10:00:15.295505", "msg": "", "rc": 0, "start": "2025-12-18 10:00:15.291306", "stderr": "", "stderr_lines": [], "stdout": "77.9%", "stdout_lines": ["77.9%"]}
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.004370", "end": "2025-12-18 10:00:15.300284", "msg": "", "rc": 0, "start": "2025-12-18 10:00:15.295914", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.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.004718", "end": "2025-12-18 10:00:15.352153", "msg": "", "rc": 0, "start": "2025-12-18 10:00:15.347435", "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.005449", "end": "2025-12-18 10:00:15.361528", "msg": "", "rc": 0, "start": "2025-12-18 10:00:15.356079", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.7%"]}
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.005527", "end": "2025-12-18 10:00:15.431067", "msg": "", "rc": 0, "start": "2025-12-18 10:00:15.425540", "stderr": "", "stderr_lines": [], "stdout": "49.3%", "stdout_lines": ["49.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.004119", "end": "2025-12-18 09:59:48.512903", "msg": "", "rc": 0, "start": "2025-12-18 09:59:48.508784", "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.004409", "end": "2025-12-18 09:59:41.814115", "msg": "", "rc": 0, "start": "2025-12-18 09:59:41.809706", "stderr": "", "stderr_lines": [], "stdout": "64.2%", "stdout_lines": ["64.2%"]}
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.011888", "end": "2025-12-18 10:00:16.085180", "msg": "", "rc": 0, "start": "2025-12-18 10:00:16.073292", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.010773", "end": "2025-12-18 10:00:16.092158", "msg": "", "rc": 0, "start": "2025-12-18 10:00:16.081385", "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.005938", "end": "2025-12-18 10:00:16.328498", "msg": "", "rc": 0, "start": "2025-12-18 10:00:16.322560", "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.004446", "end": "2025-12-18 09:59:44.985214", "msg": "", "rc": 0, "start": "2025-12-18 09:59:44.980768", "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.005305", "end": "2025-12-18 07:00:16.557408", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 07:00:16.552103", "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.004227", "end": "2025-12-18 09:59:51.871900", "msg": "", "rc": 0, "start": "2025-12-18 09:59:51.867673", "stderr": "", "stderr_lines": [], "stdout": "47.1%", "stdout_lines": ["47.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.005442", "end": "2025-12-18 10:00:16.758849", "msg": "", "rc": 0, "start": "2025-12-18 10:00:16.753407", "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.008704", "end": "2025-12-18 10:00:17.018987", "msg": "", "rc": 0, "start": "2025-12-18 10:00:17.010283", "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.033429", "end": "2025-12-18 10:00:16.902071", "msg": "", "rc": 0, "start": "2025-12-18 10:00:16.868642", "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.005283", "end": "2025-12-18 10:00:17.456694", "msg": "", "rc": 0, "start": "2025-12-18 10:00:17.451411", "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.004971", "end": "2025-12-18 10:00:17.482412", "msg": "", "rc": 0, "start": "2025-12-18 10:00:17.477441", "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.005702", "end": "2025-12-18 10:00:17.490299", "msg": "", "rc": 0, "start": "2025-12-18 10:00:17.484597", "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.003602", "end": "2025-12-18 10:00:17.522025", "msg": "", "rc": 0, "start": "2025-12-18 10:00:17.518423", "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.007022", "end": "2025-12-18 10:00:17.516752", "msg": "", "rc": 0, "start": "2025-12-18 10:00:17.509730", "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.002841", "end": "2025-12-18 09:59:50.653019", "msg": "", "rc": 0, "start": "2025-12-18 09:59:50.650178", "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.003004", "end": "2025-12-18 09:59:43.917869", "msg": "", "rc": 0, "start": "2025-12-18 09:59:43.914865", "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.011840", "end": "2025-12-18 10:00:18.160207", "msg": "", "rc": 0, "start": "2025-12-18 10:00:18.148367", "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.013021", "end": "2025-12-18 10:00:18.280513", "msg": "", "rc": 0, "start": "2025-12-18 10:00:18.267492", "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.003204", "end": "2025-12-18 10:00:18.457697", "msg": "", "rc": 0, "start": "2025-12-18 10:00:18.454493", "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.003061", "end": "2025-12-18 09:59:47.071086", "msg": "", "rc": 0, "start": "2025-12-18 09:59:47.068025", "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.003057", "end": "2025-12-18 09:59:53.948321", "msg": "", "rc": 0, "start": "2025-12-18 09:59:53.945264", "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.004256", "end": "2025-12-18 07:00:18.738096", "msg": "", "rc": 0, "start": "2025-12-18 07:00:18.733840", "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.002924", "end": "2025-12-18 10:00:18.885251", "msg": "", "rc": 0, "start": "2025-12-18 10:00:18.882327", "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.004192", "end": "2025-12-18 10:00:19.200430", "msg": "", "rc": 0, "start": "2025-12-18 10:00:19.196238", "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.028536", "end": "2025-12-18 10:00:19.031028", "msg": "", "rc": 0, "start": "2025-12-18 10:00:19.002492", "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.004153", "end": "2025-12-18 10:00:19.547151", "msg": "", "rc": 0, "start": "2025-12-18 10:00:19.542998", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
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.004016", "end": "2025-12-18 10:00:19.578499", "msg": "", "rc": 0, "start": "2025-12-18 10:00:19.574483", "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.004671", "end": "2025-12-18 10:00:19.565923", "msg": "", "rc": 0, "start": "2025-12-18 10:00:19.561252", "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.005093", "end": "2025-12-18 10:00:19.604802", "msg": "", "rc": 0, "start": "2025-12-18 10:00:19.599709", "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.005545", "end": "2025-12-18 10:00:19.611692", "msg": "", "rc": 0, "start": "2025-12-18 10:00:19.606147", "stderr": "", "stderr_lines": [], "stdout": "0.88", "stdout_lines": ["0.88"]}
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.004395", "end": "2025-12-18 09:59:52.746259", "msg": "", "rc": 0, "start": "2025-12-18 09:59:52.741864", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
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.005774", "end": "2025-12-18 09:59:46.015257", "msg": "", "rc": 0, "start": "2025-12-18 09:59:46.009483", "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.011351", "end": "2025-12-18 10:00:20.303372", "msg": "", "rc": 0, "start": "2025-12-18 10:00:20.292021", "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.010020", "end": "2025-12-18 10:00:20.330744", "msg": "", "rc": 0, "start": "2025-12-18 10:00:20.320724", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
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.005641", "end": "2025-12-18 10:00:20.554440", "msg": "", "rc": 0, "start": "2025-12-18 10:00:20.548799", "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.004921", "end": "2025-12-18 09:59:49.183932", "msg": "", "rc": 0, "start": "2025-12-18 09:59:49.179011", "stderr": "", "stderr_lines": [], "stdout": "0.80", "stdout_lines": ["0.80"]}
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-18 07:00:20.774149", "msg": "", "rc": 0, "start": "2025-12-18 07:00:20.768314", "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.004410", "end": "2025-12-18 09:59:56.105284", "msg": "", "rc": 0, "start": "2025-12-18 09:59:56.100874", "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.005262", "end": "2025-12-18 10:00:20.959978", "msg": "", "rc": 0, "start": "2025-12-18 10:00:20.954716", "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.007545", "end": "2025-12-18 10:00:21.431025", "msg": "", "rc": 0, "start": "2025-12-18 10:00:21.423480", "stderr": "", "stderr_lines": [], "stdout": "1.25", "stdout_lines": ["1.25"]}
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.024453", "end": "2025-12-18 10:00:20.950606", "msg": "", "rc": 0, "start": "2025-12-18 10:00:20.926153", "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: 10:00:11 up 3 days, 23:32, 1 user, load average: 0.10, 0.11, 0.16\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 0.16\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:00:11 up 22 days, 20:51, 1 user, load average: 0.12, 0.11, 0.09\nDisk Usage: 23%\nMemory Usage: 77.9%\nCPU Load: 0.11\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:00:11 up 22 days, 21:11, 1 user, load average: 0.81, 0.85, 0.82\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: 10:00:11 up 22 days, 22:24, 1 user, load average: 0.58, 0.61, 0.68\nDisk Usage: 14%\nMemory Usage: 58.7%\nCPU Load: 0.88\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:00:11 up 22 days, 23:10, 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: 10:00:12 up 15 days, 23:26, 1 user, load average: 0.20, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 20.6%\nCPU Load: 0.35\nCPU Temp: 36.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:00:12 up 195 days, 1:33, 1 user, load average: 0.22, 0.23, 0.18\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.21\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:00:12 up 195 days, 1:33, 1 user, load average: 0.08, 0.12, 0.11\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.14\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:59:44 up 11 days, 21:49, 0 user, load average: 0.08, 0.35, 0.25\nDisk Usage: 48%\nMemory Usage: 71.0%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:59:37 up 18 days, 18:01, 0 user, load average: 0.11, 0.04, 0.01\nDisk Usage: 24%\nMemory Usage: 64.2%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:00:12 up 3 days, 23:31, 1 user, load average: 0.07, 0.03, 0.00\nDisk Usage: 1%\nMemory Usage: 35.6%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:59:41 up 21 days, 12:53, 0 user, load average: 0.86, 0.50, 0.48\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.80\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 09:59:47 up 17 days, 23:15, 0 user, load average: 0.15, 0.31, 0.38\nDisk Usage: 76%\nMemory Usage: 47.1%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 7:00AM up 22 days, 20:50, 1 user, load averages: 0.24, 0.19, 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: 10:00:12 up 3 days, 23:31, 1 user, load average: 0.03, 0.06, 0.05\nDisk Usage: 79%\nMemory Usage: 13.9%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:00:12 up 6:03, 1 user, load average: 1.21, 1.12, 1.10\nDisk Usage: 1%\nMemory Usage: 12.7%\nCPU Load: 1.25\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-18T15:00:22.385555+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `0747a1beda5f4ab2ada5dfbb7098993d` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T15:25:00.004617+00:00 |
| **Fin** | 2025-12-18T15:25:22.955227+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: [mimi.pc.home] => {"changed": false, "ping": "pong"}
ok: [ali2v.xeon.home] => {"changed": false, "ping": "pong"}
ok: [hp3.i5.home] => {"changed": false, "ping": "pong"}
ok: [hp2.i7.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: [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: [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.003228", "end": "2025-12-18 10:25:10.572671", "msg": "", "rc": 0, "start": "2025-12-18 10:25:10.569443", "stderr": "", "stderr_lines": [], "stdout": " 10:25:10 up 22 days, 21:16, 1 user, load average: 0.14, 0.11, 0.09", "stdout_lines": [" 10:25:10 up 22 days, 21:16, 1 user, load average: 0.14, 0.11, 0.09"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003464", "end": "2025-12-18 10:25:10.582605", "msg": "", "rc": 0, "start": "2025-12-18 10:25:10.579141", "stderr": "", "stderr_lines": [], "stdout": " 10:25:10 up 22 days, 23:35, 1 user, load average: 0.05, 0.03, 0.00", "stdout_lines": [" 10:25:10 up 22 days, 23:35, 1 user, load average: 0.05, 0.03, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003990", "end": "2025-12-18 10:25:10.603590", "msg": "", "rc": 0, "start": "2025-12-18 10:25:10.599600", "stderr": "", "stderr_lines": [], "stdout": " 10:25:10 up 22 days, 22:49, 1 user, load average: 0.83, 0.71, 0.70", "stdout_lines": [" 10:25:10 up 22 days, 22:49, 1 user, load average: 0.83, 0.71, 0.70"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002835", "end": "2025-12-18 10:25:10.611982", "msg": "", "rc": 0, "start": "2025-12-18 10:25:10.609147", "stderr": "", "stderr_lines": [], "stdout": " 10:25:10 up 3 days, 23:57, 2 users, load average: 0.28, 0.18, 0.17", "stdout_lines": [" 10:25:10 up 3 days, 23:57, 2 users, load average: 0.28, 0.18, 0.17"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003688", "end": "2025-12-18 10:25:10.623923", "msg": "", "rc": 0, "start": "2025-12-18 10:25:10.620235", "stderr": "", "stderr_lines": [], "stdout": " 10:25:10 up 22 days, 21:36, 1 user, load average: 0.64, 0.53, 0.60", "stdout_lines": [" 10:25:10 up 22 days, 21:36, 1 user, load average: 0.64, 0.53, 0.60"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003474", "end": "2025-12-18 10:24:43.846896", "msg": "", "rc": 0, "start": "2025-12-18 10:24:43.843422", "stderr": "", "stderr_lines": [], "stdout": " 10:24:43 up 11 days, 22:14, 0 user, load average: 0.15, 0.23, 0.17", "stdout_lines": [" 10:24:43 up 11 days, 22:14, 0 user, load average: 0.15, 0.23, 0.17"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003271", "end": "2025-12-18 10:24:37.050644", "msg": "", "rc": 0, "start": "2025-12-18 10:24:37.047373", "stderr": "", "stderr_lines": [], "stdout": " 10:24:37 up 18 days, 18:26, 0 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 10:24:37 up 18 days, 18:26, 0 user, load average: 0.00, 0.00, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008431", "end": "2025-12-18 10:25:11.327065", "msg": "", "rc": 0, "start": "2025-12-18 10:25:11.318634", "stderr": "", "stderr_lines": [], "stdout": " 10:25:11 up 195 days, 1:58, 1 user, load average: 0.26, 0.14, 0.10", "stdout_lines": [" 10:25:11 up 195 days, 1:58, 1 user, load average: 0.26, 0.14, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009302", "end": "2025-12-18 10:25:11.378751", "msg": "", "rc": 0, "start": "2025-12-18 10:25:11.369449", "stderr": "", "stderr_lines": [], "stdout": " 10:25:11 up 195 days, 1:58, 1 user, load average: 0.30, 0.15, 0.14", "stdout_lines": [" 10:25:11 up 195 days, 1:58, 1 user, load average: 0.30, 0.15, 0.14"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004881", "end": "2025-12-18 10:25:11.706787", "msg": "", "rc": 0, "start": "2025-12-18 10:25:11.701906", "stderr": "", "stderr_lines": [], "stdout": " 10:25:11 up 3 days, 23:56, 1 user, load average: 0.00, 0.04, 0.00", "stdout_lines": [" 10:25:11 up 3 days, 23:56, 1 user, load average: 0.00, 0.04, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003212", "end": "2025-12-18 10:24:40.275958", "msg": "", "rc": 0, "start": "2025-12-18 10:24:40.272746", "stderr": "", "stderr_lines": [], "stdout": " 10:24:40 up 21 days, 13:18, 0 user, load average: 0.35, 0.39, 0.43", "stdout_lines": [" 10:24:40 up 21 days, 13:18, 0 user, load average: 0.35, 0.39, 0.43"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004240", "end": "2025-12-18 07:25:11.860077", "msg": "", "rc": 0, "start": "2025-12-18 07:25:11.855837", "stderr": "", "stderr_lines": [], "stdout": " 7:25AM up 22 days, 21:14, 1 user, load averages: 0.29, 0.26, 0.23", "stdout_lines": [" 7:25AM up 22 days, 21:14, 1 user, load averages: 0.29, 0.26, 0.23"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003072", "end": "2025-12-18 10:24:47.173490", "msg": "", "rc": 0, "start": "2025-12-18 10:24:47.170418", "stderr": "", "stderr_lines": [], "stdout": " 10:24:47 up 17 days, 23:40, 0 user, load average: 0.50, 0.27, 0.23", "stdout_lines": [" 10:24:47 up 17 days, 23:40, 0 user, load average: 0.50, 0.27, 0.23"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019339", "end": "2025-12-18 10:25:11.989923", "msg": "", "rc": 0, "start": "2025-12-18 10:25:11.970584", "stderr": "", "stderr_lines": [], "stdout": " 10:25:11 up 15 days, 23:51, 1 user, load average: 0.26, 0.09, 0.03", "stdout_lines": [" 10:25:11 up 15 days, 23:51, 1 user, load average: 0.26, 0.09, 0.03"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003705", "end": "2025-12-18 10:25:12.148100", "msg": "", "rc": 0, "start": "2025-12-18 10:25:12.144395", "stderr": "", "stderr_lines": [], "stdout": " 10:25:12 up 3 days, 23:56, 1 user, load average: 0.05, 0.11, 0.05", "stdout_lines": [" 10:25:12 up 3 days, 23:56, 1 user, load average: 0.05, 0.11, 0.05"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009446", "end": "2025-12-18 10:25:12.220540", "msg": "", "rc": 0, "start": "2025-12-18 10:25:12.211094", "stderr": "", "stderr_lines": [], "stdout": " 10:25:12 up 6:29, 1 user, load average: 1.34, 0.87, 0.71", "stdout_lines": [" 10:25:12 up 6:29, 1 user, load average: 1.34, 0.87, 0.71"]}
TASK [Get disk usage] **********************************************************
ok: [ali2v.xeon.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004038", "end": "2025-12-18 10:25:12.651392", "msg": "", "rc": 0, "start": "2025-12-18 10:25:12.647354", "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.004528", "end": "2025-12-18 10:25:12.695667", "msg": "", "rc": 0, "start": "2025-12-18 10:25:12.691139", "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.004299", "end": "2025-12-18 10:25:12.709463", "msg": "", "rc": 0, "start": "2025-12-18 10:25:12.705164", "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.005342", "end": "2025-12-18 10:25:12.726625", "msg": "", "rc": 0, "start": "2025-12-18 10:25:12.721283", "stderr": "", "stderr_lines": [], "stdout": "14%", "stdout_lines": ["14%"]}
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004243", "end": "2025-12-18 10:25:12.862331", "msg": "", "rc": 0, "start": "2025-12-18 10:25:12.858088", "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.005051", "end": "2025-12-18 10:24:45.913380", "msg": "", "rc": 0, "start": "2025-12-18 10:24:45.908329", "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.005800", "end": "2025-12-18 10:24:39.210189", "msg": "", "rc": 0, "start": "2025-12-18 10:24:39.204389", "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.010460", "end": "2025-12-18 10:25:13.471574", "msg": "", "rc": 0, "start": "2025-12-18 10:25:13.461114", "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-18 10:25:13.483542", "msg": "", "rc": 0, "start": "2025-12-18 10:25:13.471968", "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.005644", "end": "2025-12-18 10:25:13.731653", "msg": "", "rc": 0, "start": "2025-12-18 10:25:13.726009", "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.005006", "end": "2025-12-18 10:24:42.374273", "msg": "", "rc": 0, "start": "2025-12-18 10:24:42.369267", "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.005402", "end": "2025-12-18 07:25:13.948027", "msg": "", "rc": 0, "start": "2025-12-18 07:25:13.942625", "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.006899", "end": "2025-12-18 10:24:49.398962", "msg": "", "rc": 0, "start": "2025-12-18 10:24:49.392063", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025430", "end": "2025-12-18 10:25:14.055485", "msg": "", "rc": 0, "start": "2025-12-18 10:25:14.030055", "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.005272", "end": "2025-12-18 10:25:14.193610", "msg": "", "rc": 0, "start": "2025-12-18 10:25:14.188338", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.019817", "end": "2025-12-18 10:25:14.391049", "msg": "", "rc": 0, "start": "2025-12-18 10:25:14.371232", "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.004110", "end": "2025-12-18 10:25:14.705787", "msg": "", "rc": 0, "start": "2025-12-18 10:25:14.701677", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.7%"]}
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.004897", "end": "2025-12-18 10:25:14.720578", "msg": "", "rc": 0, "start": "2025-12-18 10:25:14.715681", "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.005054", "end": "2025-12-18 10:25:14.736342", "msg": "", "rc": 0, "start": "2025-12-18 10:25:14.731288", "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.005529", "end": "2025-12-18 10:25:14.743355", "msg": "", "rc": 0, "start": "2025-12-18 10:25:14.737826", "stderr": "", "stderr_lines": [], "stdout": "58.6%", "stdout_lines": ["58.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.004191", "end": "2025-12-18 10:25:14.816809", "msg": "", "rc": 0, "start": "2025-12-18 10:25:14.812618", "stderr": "", "stderr_lines": [], "stdout": "77.8%", "stdout_lines": ["77.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.003775", "end": "2025-12-18 10:24:47.899474", "msg": "", "rc": 0, "start": "2025-12-18 10:24:47.895699", "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.004458", "end": "2025-12-18 10:24:41.145763", "msg": "", "rc": 0, "start": "2025-12-18 10:24:41.141305", "stderr": "", "stderr_lines": [], "stdout": "64.4%", "stdout_lines": ["64.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.011082", "end": "2025-12-18 10:25:15.411800", "msg": "", "rc": 0, "start": "2025-12-18 10:25:15.400718", "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.012033", "end": "2025-12-18 10:25:15.438008", "msg": "", "rc": 0, "start": "2025-12-18 10:25:15.425975", "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.005790", "end": "2025-12-18 10:25:15.710067", "msg": "", "rc": 0, "start": "2025-12-18 10:25:15.704277", "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.004278", "end": "2025-12-18 10:24:44.309572", "msg": "", "rc": 0, "start": "2025-12-18 10:24:44.305294", "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.005129", "end": "2025-12-18 07:25:15.876225", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 07:25:15.871096", "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.011641", "end": "2025-12-18 10:24:51.232769", "msg": "", "rc": 0, "start": "2025-12-18 10:24:51.221128", "stderr": "", "stderr_lines": [], "stdout": "47.2%", "stdout_lines": ["47.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.005516", "end": "2025-12-18 10:25:16.133970", "msg": "", "rc": 0, "start": "2025-12-18 10:25:16.128454", "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.023948", "end": "2025-12-18 10:25:16.384950", "msg": "", "rc": 0, "start": "2025-12-18 10:25:16.361002", "stderr": "", "stderr_lines": [], "stdout": "12.6%", "stdout_lines": ["12.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.026174", "end": "2025-12-18 10:25:16.100810", "msg": "", "rc": 0, "start": "2025-12-18 10:25:16.074636", "stderr": "", "stderr_lines": [], "stdout": "19.5%", "stdout_lines": ["19.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.004798", "end": "2025-12-18 10:25:16.651642", "msg": "", "rc": 0, "start": "2025-12-18 10:25:16.646844", "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.005777", "end": "2025-12-18 10:25:16.710489", "msg": "", "rc": 0, "start": "2025-12-18 10:25:16.704712", "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.003277", "end": "2025-12-18 10:25:16.715440", "msg": "", "rc": 0, "start": "2025-12-18 10:25:16.712163", "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.006689", "end": "2025-12-18 10:25:16.738652", "msg": "", "rc": 0, "start": "2025-12-18 10:25:16.731963", "stderr": "", "stderr_lines": [], "stdout": "52.0°C", "stdout_lines": ["52.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.011147", "end": "2025-12-18 10:25:16.860355", "msg": "", "rc": 0, "start": "2025-12-18 10:25:16.849208", "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.003686", "end": "2025-12-18 10:24:50.059763", "msg": "", "rc": 0, "start": "2025-12-18 10:24:50.056077", "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.003200", "end": "2025-12-18 10:24:43.327215", "msg": "", "rc": 0, "start": "2025-12-18 10:24:43.324015", "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.011923", "end": "2025-12-18 10:25:17.526264", "msg": "", "rc": 0, "start": "2025-12-18 10:25:17.514341", "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.012922", "end": "2025-12-18 10:25:17.572428", "msg": "", "rc": 0, "start": "2025-12-18 10:25:17.559506", "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.003481", "end": "2025-12-18 10:25:18.075677", "msg": "", "rc": 0, "start": "2025-12-18 10:25:18.072196", "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.002695", "end": "2025-12-18 10:24:53.489978", "msg": "", "rc": 0, "start": "2025-12-18 10:24:53.487283", "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.004112", "end": "2025-12-18 07:25:18.226023", "msg": "", "rc": 0, "start": "2025-12-18 07:25:18.221911", "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.002891", "end": "2025-12-18 10:24:46.702592", "msg": "", "rc": 0, "start": "2025-12-18 10:24:46.699701", "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.028786", "end": "2025-12-18 10:25:18.155378", "msg": "", "rc": 0, "start": "2025-12-18 10:25:18.126592", "stderr": "", "stderr_lines": [], "stdout": "34.9°C", "stdout_lines": ["34.9°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.003871", "end": "2025-12-18 10:25:18.983939", "msg": "", "rc": 0, "start": "2025-12-18 10:25:18.980068", "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.003431", "end": "2025-12-18 10:25:18.686641", "msg": "", "rc": 0, "start": "2025-12-18 10:25:18.683210", "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.004065", "end": "2025-12-18 10:25:19.086442", "msg": "", "rc": 0, "start": "2025-12-18 10:25:19.082377", "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.004152", "end": "2025-12-18 10:25:19.110534", "msg": "", "rc": 0, "start": "2025-12-18 10:25:19.106382", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
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.004576", "end": "2025-12-18 10:25:19.118767", "msg": "", "rc": 0, "start": "2025-12-18 10:25:19.114191", "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.005433", "end": "2025-12-18 10:25:19.178849", "msg": "", "rc": 0, "start": "2025-12-18 10:25:19.173416", "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.005531", "end": "2025-12-18 10:25:19.193360", "msg": "", "rc": 0, "start": "2025-12-18 10:25:19.187829", "stderr": "", "stderr_lines": [], "stdout": "0.78", "stdout_lines": ["0.78"]}
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.004504", "end": "2025-12-18 10:24:52.349760", "msg": "", "rc": 0, "start": "2025-12-18 10:24:52.345256", "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.005238", "end": "2025-12-18 10:24:45.624746", "msg": "", "rc": 0, "start": "2025-12-18 10:24:45.619508", "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.010312", "end": "2025-12-18 10:25:19.997645", "msg": "", "rc": 0, "start": "2025-12-18 10:25:19.987333", "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.011117", "end": "2025-12-18 10:25:19.999927", "msg": "", "rc": 0, "start": "2025-12-18 10:25:19.988810", "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.005720", "end": "2025-12-18 10:25:20.219924", "msg": "", "rc": 0, "start": "2025-12-18 10:25:20.214204", "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.004995", "end": "2025-12-18 10:24:48.881482", "msg": "", "rc": 0, "start": "2025-12-18 10:24:48.876487", "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.005858", "end": "2025-12-18 07:25:20.458574", "msg": "", "rc": 0, "start": "2025-12-18 07:25:20.452716", "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.004783", "end": "2025-12-18 10:24:55.761173", "msg": "", "rc": 0, "start": "2025-12-18 10:24:55.756390", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
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.005244", "end": "2025-12-18 10:25:20.638246", "msg": "", "rc": 0, "start": "2025-12-18 10:25:20.633002", "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.024555", "end": "2025-12-18 10:25:20.547205", "msg": "", "rc": 0, "start": "2025-12-18 10:25:20.522650", "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.007893", "end": "2025-12-18 10:25:21.187994", "msg": "", "rc": 0, "start": "2025-12-18 10:25:21.180101", "stderr": "", "stderr_lines": [], "stdout": "1.90", "stdout_lines": ["1.90"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:25:10 up 3 days, 23:57, 2 users, load average: 0.28, 0.18, 0.17\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 0.33\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:25:10 up 22 days, 21:16, 1 user, load average: 0.14, 0.11, 0.09\nDisk Usage: 23%\nMemory Usage: 77.8%\nCPU Load: 0.12\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:25:10 up 22 days, 21:36, 1 user, load average: 0.64, 0.53, 0.60\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.99\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:25:10 up 22 days, 22:49, 1 user, load average: 0.83, 0.71, 0.70\nDisk Usage: 14%\nMemory Usage: 58.6%\nCPU Load: 0.78\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:25:10 up 22 days, 23:35, 1 user, load average: 0.05, 0.03, 0.00\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: 10:25:11 up 15 days, 23:51, 1 user, load average: 0.26, 0.09, 0.03\nDisk Usage: 21%\nMemory Usage: 19.5%\nCPU Load: 0.30\nCPU Temp: 34.9°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:25:11 up 195 days, 1:58, 1 user, load average: 0.30, 0.15, 0.14\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.33\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:25:11 up 195 days, 1:58, 1 user, load average: 0.26, 0.14, 0.10\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.29\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:24:43 up 11 days, 22:14, 0 user, load average: 0.15, 0.23, 0.17\nDisk Usage: 48%\nMemory Usage: 70.8%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:24:37 up 18 days, 18:26, 0 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 24%\nMemory Usage: 64.4%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:25:11 up 3 days, 23:56, 1 user, load average: 0.00, 0.04, 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: 10:24:40 up 21 days, 13:18, 0 user, load average: 0.35, 0.39, 0.43\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.38\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:24:47 up 17 days, 23:40, 0 user, load average: 0.50, 0.27, 0.23\nDisk Usage: 76%\nMemory Usage: 47.2%\nCPU Load: 0.50\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 7:25AM up 22 days, 21:14, 1 user, load averages: 0.29, 0.26, 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: 10:25:12 up 3 days, 23:56, 1 user, load average: 0.05, 0.11, 0.05\nDisk Usage: 79%\nMemory Usage: 14.1%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:25:12 up 6:29, 1 user, load average: 1.34, 0.87, 0.71\nDisk Usage: 1%\nMemory Usage: 12.6%\nCPU Load: 1.90\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-18T15:25:23.202106+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `4e4b786606944b2886b6f84ff2ff75b8` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T15:30:00.003369+00:00 |
| **Fin** | 2025-12-18T15:30:20.393457+00:00 |
| **Durée** | 20.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: [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: [hp.truenas.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: [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.003749", "end": "2025-12-18 10:30:10.352790", "msg": "", "rc": 0, "start": "2025-12-18 10:30:10.349041", "stderr": "", "stderr_lines": [], "stdout": " 10:30:10 up 22 days, 23:40, 1 user, load average: 0.04, 0.04, 0.00", "stdout_lines": [" 10:30:10 up 22 days, 23:40, 1 user, load average: 0.04, 0.04, 0.00"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003586", "end": "2025-12-18 10:30:10.349394", "msg": "", "rc": 0, "start": "2025-12-18 10:30:10.345808", "stderr": "", "stderr_lines": [], "stdout": " 10:30:10 up 22 days, 21:21, 1 user, load average: 0.05, 0.15, 0.12", "stdout_lines": [" 10:30:10 up 22 days, 21:21, 1 user, load average: 0.05, 0.15, 0.12"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002985", "end": "2025-12-18 10:30:10.366512", "msg": "", "rc": 0, "start": "2025-12-18 10:30:10.363527", "stderr": "", "stderr_lines": [], "stdout": " 10:30:10 up 4 days, 2 min, 2 users, load average: 0.65, 0.35, 0.23", "stdout_lines": [" 10:30:10 up 4 days, 2 min, 2 users, load average: 0.65, 0.35, 0.23"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003977", "end": "2025-12-18 10:30:10.372715", "msg": "", "rc": 0, "start": "2025-12-18 10:30:10.368738", "stderr": "", "stderr_lines": [], "stdout": " 10:30:10 up 22 days, 22:54, 1 user, load average: 1.17, 0.82, 0.75", "stdout_lines": [" 10:30:10 up 22 days, 22:54, 1 user, load average: 1.17, 0.82, 0.75"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002992", "end": "2025-12-18 10:29:43.480763", "msg": "", "rc": 0, "start": "2025-12-18 10:29:43.477771", "stderr": "", "stderr_lines": [], "stdout": " 10:29:43 up 11 days, 22:19, 0 user, load average: 0.04, 0.10, 0.13", "stdout_lines": [" 10:29:43 up 11 days, 22:19, 0 user, load average: 0.04, 0.10, 0.13"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008502", "end": "2025-12-18 10:30:11.017472", "msg": "", "rc": 0, "start": "2025-12-18 10:30:11.008970", "stderr": "", "stderr_lines": [], "stdout": " 10:30:11 up 195 days, 2:03, 1 user, load average: 0.04, 0.11, 0.09", "stdout_lines": [" 10:30:11 up 195 days, 2:03, 1 user, load average: 0.04, 0.11, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009308", "end": "2025-12-18 10:30:11.062308", "msg": "", "rc": 0, "start": "2025-12-18 10:30:11.053000", "stderr": "", "stderr_lines": [], "stdout": " 10:30:11 up 195 days, 2:03, 1 user, load average: 0.36, 0.24, 0.18", "stdout_lines": [" 10:30:11 up 195 days, 2:03, 1 user, load average: 0.36, 0.24, 0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003212", "end": "2025-12-18 10:29:37.150370", "msg": "", "rc": 0, "start": "2025-12-18 10:29:37.147158", "stderr": "", "stderr_lines": [], "stdout": " 10:29:37 up 18 days, 18:31, 0 user, load average: 0.04, 0.16, 0.08", "stdout_lines": [" 10:29:37 up 18 days, 18:31, 0 user, load average: 0.04, 0.16, 0.08"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003734", "end": "2025-12-18 10:30:11.353649", "msg": "", "rc": 0, "start": "2025-12-18 10:30:10.349915", "stderr": "", "stderr_lines": [], "stdout": " 10:30:10 up 22 days, 21:41, 1 user, load average: 0.54, 0.54, 0.59", "stdout_lines": [" 10:30:10 up 22 days, 21:41, 1 user, load average: 0.54, 0.54, 0.59"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004767", "end": "2025-12-18 10:30:11.527958", "msg": "", "rc": 0, "start": "2025-12-18 10:30:11.523191", "stderr": "", "stderr_lines": [], "stdout": " 10:30:11 up 4 days, 1 min, 1 user, load average: 0.40, 0.14, 0.03", "stdout_lines": [" 10:30:11 up 4 days, 1 min, 1 user, load average: 0.40, 0.14, 0.03"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003380", "end": "2025-12-18 10:29:40.092177", "msg": "", "rc": 0, "start": "2025-12-18 10:29:40.088797", "stderr": "", "stderr_lines": [], "stdout": " 10:29:40 up 21 days, 13:23, 0 user, load average: 0.50, 0.41, 0.42", "stdout_lines": [" 10:29:40 up 21 days, 13:23, 0 user, load average: 0.50, 0.41, 0.42"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004173", "end": "2025-12-18 07:30:11.739644", "msg": "", "rc": 0, "start": "2025-12-18 07:30:11.735471", "stderr": "", "stderr_lines": [], "stdout": " 7:30AM up 22 days, 21:19, 1 user, load averages: 0.34, 0.29, 0.25", "stdout_lines": [" 7:30AM up 22 days, 21:19, 1 user, load averages: 0.34, 0.29, 0.25"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004210", "end": "2025-12-18 10:29:47.064886", "msg": "", "rc": 0, "start": "2025-12-18 10:29:47.060676", "stderr": "", "stderr_lines": [], "stdout": " 10:29:47 up 17 days, 23:45, 0 user, load average: 0.72, 0.60, 0.37", "stdout_lines": [" 10:29:47 up 17 days, 23:45, 0 user, load average: 0.72, 0.60, 0.37"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019549", "end": "2025-12-18 10:30:11.713405", "msg": "", "rc": 0, "start": "2025-12-18 10:30:11.693856", "stderr": "", "stderr_lines": [], "stdout": " 10:30:11 up 15 days, 23:56, 1 user, load average: 0.40, 0.21, 0.09", "stdout_lines": [" 10:30:11 up 15 days, 23:56, 1 user, load average: 0.40, 0.21, 0.09"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003716", "end": "2025-12-18 10:30:11.947874", "msg": "", "rc": 0, "start": "2025-12-18 10:30:11.944158", "stderr": "", "stderr_lines": [], "stdout": " 10:30:11 up 4 days, 1 min, 1 user, load average: 0.00, 0.03, 0.02", "stdout_lines": [" 10:30:11 up 4 days, 1 min, 1 user, load average: 0.00, 0.03, 0.02"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008084", "end": "2025-12-18 10:30:13.011591", "msg": "", "rc": 0, "start": "2025-12-18 10:30:13.003507", "stderr": "", "stderr_lines": [], "stdout": " 10:30:12 up 6:35, 1 user, load average: 1.41, 1.09, 0.87", "stdout_lines": [" 10:30:12 up 6:35, 1 user, load average: 1.41, 1.09, 0.87"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004161", "end": "2025-12-18 10:30:12.363225", "msg": "", "rc": 0, "start": "2025-12-18 10:30:12.359064", "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-18 10:30:12.374224", "msg": "", "rc": 0, "start": "2025-12-18 10:30:12.369846", "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.004560", "end": "2025-12-18 10:30:12.423789", "msg": "", "rc": 0, "start": "2025-12-18 10:30:12.419229", "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.005373", "end": "2025-12-18 10:30:12.416961", "msg": "", "rc": 0, "start": "2025-12-18 10:30:12.411588", "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.004632", "end": "2025-12-18 10:30:12.428922", "msg": "", "rc": 0, "start": "2025-12-18 10:30:12.424290", "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.005134", "end": "2025-12-18 10:29:45.518688", "msg": "", "rc": 0, "start": "2025-12-18 10:29:45.513554", "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.005679", "end": "2025-12-18 10:29:38.765851", "msg": "", "rc": 0, "start": "2025-12-18 10:29:38.760172", "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-18 10:30:13.121835", "msg": "", "rc": 0, "start": "2025-12-18 10:30:13.111269", "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.011652", "end": "2025-12-18 10:30:13.134623", "msg": "", "rc": 0, "start": "2025-12-18 10:30:13.122971", "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.006023", "end": "2025-12-18 10:30:13.323270", "msg": "", "rc": 0, "start": "2025-12-18 10:30:13.317247", "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-18 10:29:41.918970", "msg": "", "rc": 0, "start": "2025-12-18 10:29:41.913749", "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.005342", "end": "2025-12-18 07:30:13.575011", "msg": "", "rc": 0, "start": "2025-12-18 07:30:13.569669", "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.007325", "end": "2025-12-18 10:29:48.897967", "msg": "", "rc": 0, "start": "2025-12-18 10:29:48.890642", "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.005368", "end": "2025-12-18 10:30:13.749163", "msg": "", "rc": 0, "start": "2025-12-18 10:30:13.743795", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021605", "end": "2025-12-18 10:30:14.922830", "msg": "", "rc": 0, "start": "2025-12-18 10:30:14.901225", "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.024950", "end": "2025-12-18 10:30:13.725937", "msg": "", "rc": 0, "start": "2025-12-18 10:30:13.700987", "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.004322", "end": "2025-12-18 10:30:14.247270", "msg": "", "rc": 0, "start": "2025-12-18 10:30:14.242948", "stderr": "", "stderr_lines": [], "stdout": "77.9%", "stdout_lines": ["77.9%"]}
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.004099", "end": "2025-12-18 10:30:14.253055", "msg": "", "rc": 0, "start": "2025-12-18 10:30:14.248956", "stderr": "", "stderr_lines": [], "stdout": "22.8%", "stdout_lines": ["22.8%"]}
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.004761", "end": "2025-12-18 10:30:14.264592", "msg": "", "rc": 0, "start": "2025-12-18 10:30:14.259831", "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.004967", "end": "2025-12-18 10:30:14.285912", "msg": "", "rc": 0, "start": "2025-12-18 10:30:14.280945", "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.005395", "end": "2025-12-18 10:30:14.294096", "msg": "", "rc": 0, "start": "2025-12-18 10:30:14.288701", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.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.003899", "end": "2025-12-18 10:29:47.410038", "msg": "", "rc": 0, "start": "2025-12-18 10:29:47.406139", "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.004332", "end": "2025-12-18 10:29:40.656328", "msg": "", "rc": 0, "start": "2025-12-18 10:29:40.651996", "stderr": "", "stderr_lines": [], "stdout": "65.2%", "stdout_lines": ["65.2%"]}
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.010779", "end": "2025-12-18 10:30:14.941982", "msg": "", "rc": 0, "start": "2025-12-18 10:30:14.931203", "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.012418", "end": "2025-12-18 10:30:14.976759", "msg": "", "rc": 0, "start": "2025-12-18 10:30:14.964341", "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.006386", "end": "2025-12-18 10:30:15.249527", "msg": "", "rc": 0, "start": "2025-12-18 10:30:15.243141", "stderr": "", "stderr_lines": [], "stdout": "37.4%", "stdout_lines": ["37.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.004037", "end": "2025-12-18 10:29:43.808140", "msg": "", "rc": 0, "start": "2025-12-18 10:29:43.804103", "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.005634", "end": "2025-12-18 07:30:15.427146", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 07:30:15.421512", "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.003611", "end": "2025-12-18 10:29:50.706480", "msg": "", "rc": 0, "start": "2025-12-18 10:29:50.702869", "stderr": "", "stderr_lines": [], "stdout": "45.6%", "stdout_lines": ["45.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.009864", "end": "2025-12-18 10:30:16.872159", "msg": "", "rc": 0, "start": "2025-12-18 10:30:16.862295", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.005441", "end": "2025-12-18 10:30:15.674634", "msg": "", "rc": 0, "start": "2025-12-18 10:30:15.669193", "stderr": "", "stderr_lines": [], "stdout": "14.0%", "stdout_lines": ["14.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.025965", "end": "2025-12-18 10:30:15.668757", "msg": "", "rc": 0, "start": "2025-12-18 10:30:15.642792", "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.005335", "end": "2025-12-18 10:30:16.192488", "msg": "", "rc": 0, "start": "2025-12-18 10:30:16.187153", "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.004871", "end": "2025-12-18 10:30:16.207104", "msg": "", "rc": 0, "start": "2025-12-18 10:30:16.202233", "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.005525", "end": "2025-12-18 10:30:16.223497", "msg": "", "rc": 0, "start": "2025-12-18 10:30:16.217972", "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.002946", "end": "2025-12-18 10:30:16.240971", "msg": "", "rc": 0, "start": "2025-12-18 10:30:16.238025", "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.006742", "end": "2025-12-18 10:30:16.252267", "msg": "", "rc": 0, "start": "2025-12-18 10:30:16.245525", "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.002741", "end": "2025-12-18 10:29:49.329732", "msg": "", "rc": 0, "start": "2025-12-18 10:29:49.326991", "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.003170", "end": "2025-12-18 10:29:42.571604", "msg": "", "rc": 0, "start": "2025-12-18 10:29:42.568434", "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.011890", "end": "2025-12-18 10:30:16.861076", "msg": "", "rc": 0, "start": "2025-12-18 10:30:16.849186", "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.012963", "end": "2025-12-18 10:30:16.904029", "msg": "", "rc": 0, "start": "2025-12-18 10:30:16.891066", "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.003234", "end": "2025-12-18 10:30:17.141990", "msg": "", "rc": 0, "start": "2025-12-18 10:30:17.138756", "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.002947", "end": "2025-12-18 10:29:45.739958", "msg": "", "rc": 0, "start": "2025-12-18 10:29:45.737011", "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.004071", "end": "2025-12-18 07:30:17.350047", "msg": "", "rc": 0, "start": "2025-12-18 07:30:17.345976", "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.003650", "end": "2025-12-18 10:29:52.621542", "msg": "", "rc": 0, "start": "2025-12-18 10:29:52.617892", "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.003030", "end": "2025-12-18 10:30:17.552638", "msg": "", "rc": 0, "start": "2025-12-18 10:30:17.549608", "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.006807", "end": "2025-12-18 10:30:18.882868", "msg": "", "rc": 0, "start": "2025-12-18 10:30:18.876061", "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.028721", "end": "2025-12-18 10:30:17.575520", "msg": "", "rc": 0, "start": "2025-12-18 10:30:17.546799", "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.004039", "end": "2025-12-18 10:30:18.090456", "msg": "", "rc": 0, "start": "2025-12-18 10:30:18.086417", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
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.004870", "end": "2025-12-18 10:30:18.113974", "msg": "", "rc": 0, "start": "2025-12-18 10:30:18.109104", "stderr": "", "stderr_lines": [], "stdout": "0.50", "stdout_lines": ["0.50"]}
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-18 10:30:18.123411", "msg": "", "rc": 0, "start": "2025-12-18 10:30:18.119417", "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.005153", "end": "2025-12-18 10:30:18.143550", "msg": "", "rc": 0, "start": "2025-12-18 10:30:18.138397", "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.005762", "end": "2025-12-18 10:30:18.152199", "msg": "", "rc": 0, "start": "2025-12-18 10:30:18.146437", "stderr": "", "stderr_lines": [], "stdout": "1.08", "stdout_lines": ["1.08"]}
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.007842", "end": "2025-12-18 10:29:51.275323", "msg": "", "rc": 0, "start": "2025-12-18 10:29:51.267481", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
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.005123", "end": "2025-12-18 10:29:44.490848", "msg": "", "rc": 0, "start": "2025-12-18 10:29:44.485725", "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.010087", "end": "2025-12-18 10:30:18.866852", "msg": "", "rc": 0, "start": "2025-12-18 10:30:18.856765", "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.011205", "end": "2025-12-18 10:30:18.891580", "msg": "", "rc": 0, "start": "2025-12-18 10:30:18.880375", "stderr": "", "stderr_lines": [], "stdout": "0.45", "stdout_lines": ["0.45"]}
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.005560", "end": "2025-12-18 10:30:19.094846", "msg": "", "rc": 0, "start": "2025-12-18 10:30:19.089286", "stderr": "", "stderr_lines": [], "stdout": "0.37", "stdout_lines": ["0.37"]}
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.004781", "end": "2025-12-18 10:29:47.650849", "msg": "", "rc": 0, "start": "2025-12-18 10:29:47.646068", "stderr": "", "stderr_lines": [], "stdout": "0.46", "stdout_lines": ["0.46"]}
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.006195", "end": "2025-12-18 07:30:19.343358", "msg": "", "rc": 0, "start": "2025-12-18 07:30:19.337163", "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.006281", "end": "2025-12-18 10:29:54.631941", "msg": "", "rc": 0, "start": "2025-12-18 10:29:54.625660", "stderr": "", "stderr_lines": [], "stdout": "0.77", "stdout_lines": ["0.77"]}
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.008188", "end": "2025-12-18 10:30:20.900270", "msg": "", "rc": 0, "start": "2025-12-18 10:30:20.892082", "stderr": "", "stderr_lines": [], "stdout": "1.54", "stdout_lines": ["1.54"]}
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.005472", "end": "2025-12-18 10:30:19.507232", "msg": "", "rc": 0, "start": "2025-12-18 10:30:19.501760", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
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.024505", "end": "2025-12-18 10:30:19.466089", "msg": "", "rc": 0, "start": "2025-12-18 10:30:19.441584", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:30:10 up 22 days, 21:21, 1 user, load average: 0.05, 0.15, 0.12\nDisk Usage: 23%\nMemory Usage: 77.9%\nCPU Load: 0.04\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:30:10 up 4 days, 2 min, 2 users, load average: 0.65, 0.35, 0.23\nDisk Usage: 22%\nMemory Usage: 22.8%\nCPU Load: 0.68\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:30:10 up 22 days, 21:41, 1 user, load average: 0.54, 0.54, 0.59\nDisk Usage: 14%\nMemory Usage: 49.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: 10:30:10 up 22 days, 22:54, 1 user, load average: 1.17, 0.82, 0.75\nDisk Usage: 14%\nMemory Usage: 58.7%\nCPU Load: 1.08\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:30:10 up 22 days, 23:40, 1 user, load average: 0.04, 0.04, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:30:11 up 15 days, 23:56, 1 user, load average: 0.40, 0.21, 0.09\nDisk Usage: 21%\nMemory Usage: 20.1%\nCPU Load: 0.41\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:30:11 up 195 days, 2:03, 1 user, load average: 0.36, 0.24, 0.18\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.45\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:30:11 up 195 days, 2:03, 1 user, load average: 0.04, 0.11, 0.09\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.11\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:29:43 up 11 days, 22:19, 0 user, load average: 0.04, 0.10, 0.13\nDisk Usage: 48%\nMemory Usage: 70.6%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:29:37 up 18 days, 18:31, 0 user, load average: 0.04, 0.16, 0.08\nDisk Usage: 24%\nMemory Usage: 65.2%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:30:11 up 4 days, 1 min, 1 user, load average: 0.40, 0.14, 0.03\nDisk Usage: 1%\nMemory Usage: 37.4%\nCPU Load: 0.37\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:29:40 up 21 days, 13:23, 0 user, load average: 0.50, 0.41, 0.42\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.46\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:29:47 up 17 days, 23:45, 0 user, load average: 0.72, 0.60, 0.37\nDisk Usage: 76%\nMemory Usage: 45.6%\nCPU Load: 0.77\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 7:30AM up 22 days, 21:19, 1 user, load averages: 0.34, 0.29, 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: 10:30:11 up 4 days, 1 min, 1 user, load average: 0.00, 0.03, 0.02\nDisk Usage: 79%\nMemory Usage: 14.0%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:30:12 up 6:35, 1 user, load average: 1.41, 1.09, 0.87\nDisk Usage: 1%\nMemory Usage: 13.1%\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-18T15:30:20.444679+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `bd6e1a9347bd4e49b0e2f6655b945adb` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T15:50:00.004961+00:00 |
| **Fin** | 2025-12-18T15:50:22.683991+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.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.003369", "end": "2025-12-18 10:50:11.748827", "msg": "", "rc": 0, "start": "2025-12-18 10:50:11.745458", "stderr": "", "stderr_lines": [], "stdout": " 10:50:11 up 22 days, 21:41, 1 user, load average: 0.12, 0.07, 0.08", "stdout_lines": [" 10:50:11 up 22 days, 21:41, 1 user, load average: 0.12, 0.07, 0.08"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003394", "end": "2025-12-18 10:50:11.758340", "msg": "", "rc": 0, "start": "2025-12-18 10:50:11.754946", "stderr": "", "stderr_lines": [], "stdout": " 10:50:11 up 22 days, 22:01, 1 user, load average: 0.79, 0.68, 0.64", "stdout_lines": [" 10:50:11 up 22 days, 22:01, 1 user, load average: 0.79, 0.68, 0.64"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004130", "end": "2025-12-18 10:50:11.761581", "msg": "", "rc": 0, "start": "2025-12-18 10:50:11.757451", "stderr": "", "stderr_lines": [], "stdout": " 10:50:11 up 23 days, 0 min, 1 user, load average: 0.18, 0.11, 0.03", "stdout_lines": [" 10:50:11 up 23 days, 0 min, 1 user, load average: 0.18, 0.11, 0.03"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002842", "end": "2025-12-18 10:50:11.784301", "msg": "", "rc": 0, "start": "2025-12-18 10:50:11.781459", "stderr": "", "stderr_lines": [], "stdout": " 10:50:11 up 4 days, 22 min, 1 user, load average: 0.38, 0.34, 0.28", "stdout_lines": [" 10:50:11 up 4 days, 22 min, 1 user, load average: 0.38, 0.34, 0.28"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003922", "end": "2025-12-18 10:50:11.788606", "msg": "", "rc": 0, "start": "2025-12-18 10:50:11.784684", "stderr": "", "stderr_lines": [], "stdout": " 10:50:11 up 22 days, 23:14, 1 user, load average: 0.89, 0.82, 0.76", "stdout_lines": [" 10:50:11 up 22 days, 23:14, 1 user, load average: 0.89, 0.82, 0.76"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002952", "end": "2025-12-18 10:49:44.882458", "msg": "", "rc": 0, "start": "2025-12-18 10:49:44.879506", "stderr": "", "stderr_lines": [], "stdout": " 10:49:44 up 11 days, 22:39, 0 user, load average: 0.28, 0.22, 0.18", "stdout_lines": [" 10:49:44 up 11 days, 22:39, 0 user, load average: 0.28, 0.22, 0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004149", "end": "2025-12-18 10:49:38.144432", "msg": "", "rc": 0, "start": "2025-12-18 10:49:38.140283", "stderr": "", "stderr_lines": [], "stdout": " 10:49:38 up 18 days, 18:51, 0 user, load average: 0.10, 0.06, 0.02", "stdout_lines": [" 10:49:38 up 18 days, 18:51, 0 user, load average: 0.10, 0.06, 0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008419", "end": "2025-12-18 10:50:12.413963", "msg": "", "rc": 0, "start": "2025-12-18 10:50:12.405544", "stderr": "", "stderr_lines": [], "stdout": " 10:50:12 up 195 days, 2:23, 1 user, load average: 0.24, 0.15, 0.10", "stdout_lines": [" 10:50:12 up 195 days, 2:23, 1 user, load average: 0.24, 0.15, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009214", "end": "2025-12-18 10:50:12.462618", "msg": "", "rc": 0, "start": "2025-12-18 10:50:12.453404", "stderr": "", "stderr_lines": [], "stdout": " 10:50:12 up 195 days, 2:23, 1 user, load average: 0.17, 0.12, 0.12", "stdout_lines": [" 10:50:12 up 195 days, 2:23, 1 user, load average: 0.17, 0.12, 0.12"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004835", "end": "2025-12-18 10:50:12.713539", "msg": "", "rc": 0, "start": "2025-12-18 10:50:12.708704", "stderr": "", "stderr_lines": [], "stdout": " 10:50:12 up 4 days, 21 min, 1 user, load average: 0.01, 0.04, 0.04", "stdout_lines": [" 10:50:12 up 4 days, 21 min, 1 user, load average: 0.01, 0.04, 0.04"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003226", "end": "2025-12-18 10:49:41.333315", "msg": "", "rc": 0, "start": "2025-12-18 10:49:41.330089", "stderr": "", "stderr_lines": [], "stdout": " 10:49:41 up 21 days, 13:43, 0 user, load average: 0.65, 0.49, 0.46", "stdout_lines": [" 10:49:41 up 21 days, 13:43, 0 user, load average: 0.65, 0.49, 0.46"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003493", "end": "2025-12-18 10:49:48.161531", "msg": "", "rc": 0, "start": "2025-12-18 10:49:48.158038", "stderr": "", "stderr_lines": [], "stdout": " 10:49:48 up 18 days, 5 min, 0 user, load average: 0.06, 0.19, 0.24", "stdout_lines": [" 10:49:48 up 18 days, 5 min, 0 user, load average: 0.06, 0.19, 0.24"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004192", "end": "2025-12-18 07:50:12.922779", "msg": "", "rc": 0, "start": "2025-12-18 07:50:12.918587", "stderr": "", "stderr_lines": [], "stdout": " 7:50AM up 22 days, 21:40, 1 user, load averages: 0.26, 0.22, 0.22", "stdout_lines": [" 7:50AM up 22 days, 21:40, 1 user, load averages: 0.26, 0.22, 0.22"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.010048", "end": "2025-12-18 10:50:14.299724", "msg": "", "rc": 0, "start": "2025-12-18 10:50:14.289676", "stderr": "", "stderr_lines": [], "stdout": " 10:50:14 up 6:56, 1 user, load average: 1.42, 1.08, 0.96", "stdout_lines": [" 10:50:14 up 6:56, 1 user, load average: 1.42, 1.08, 0.96"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019513", "end": "2025-12-18 10:50:13.108316", "msg": "", "rc": 0, "start": "2025-12-18 10:50:13.088803", "stderr": "", "stderr_lines": [], "stdout": " 10:50:13 up 16 days, 16 min, 1 user, load average: 0.16, 0.06, 0.05", "stdout_lines": [" 10:50:13 up 16 days, 16 min, 1 user, load average: 0.16, 0.06, 0.05"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004949", "end": "2025-12-18 10:50:14.122313", "msg": "", "rc": 0, "start": "2025-12-18 10:50:13.117364", "stderr": "", "stderr_lines": [], "stdout": " 10:50:13 up 4 days, 21 min, 1 user, load average: 0.03, 0.20, 0.12", "stdout_lines": [" 10:50:13 up 4 days, 21 min, 1 user, load average: 0.03, 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.004391", "end": "2025-12-18 10:50:14.529239", "msg": "", "rc": 0, "start": "2025-12-18 10:50:14.524848", "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.004147", "end": "2025-12-18 10:50:14.555344", "msg": "", "rc": 0, "start": "2025-12-18 10:50:14.551197", "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.004824", "end": "2025-12-18 10:50:14.557199", "msg": "", "rc": 0, "start": "2025-12-18 10:50:14.552375", "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.004813", "end": "2025-12-18 10:50:14.570415", "msg": "", "rc": 0, "start": "2025-12-18 10:50:14.565602", "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.006638", "end": "2025-12-18 10:50:14.607129", "msg": "", "rc": 0, "start": "2025-12-18 10:50:14.600491", "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.004941", "end": "2025-12-18 10:49:47.711281", "msg": "", "rc": 0, "start": "2025-12-18 10:49:47.706340", "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.005890", "end": "2025-12-18 10:49:41.022878", "msg": "", "rc": 0, "start": "2025-12-18 10:49:41.016988", "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.010389", "end": "2025-12-18 10:50:15.385086", "msg": "", "rc": 0, "start": "2025-12-18 10:50:15.374697", "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.011340", "end": "2025-12-18 10:50:15.399140", "msg": "", "rc": 0, "start": "2025-12-18 10:50:15.387800", "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.005915", "end": "2025-12-18 10:50:15.523456", "msg": "", "rc": 0, "start": "2025-12-18 10:50:15.517541", "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.005526", "end": "2025-12-18 10:49:44.209857", "msg": "", "rc": 0, "start": "2025-12-18 10:49:44.204331", "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.005262", "end": "2025-12-18 07:50:15.846498", "msg": "", "rc": 0, "start": "2025-12-18 07:50:15.841236", "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.004600", "end": "2025-12-18 10:49:51.120330", "msg": "", "rc": 0, "start": "2025-12-18 10:49:51.115730", "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.005362", "end": "2025-12-18 10:50:15.943276", "msg": "", "rc": 0, "start": "2025-12-18 10:50:15.937914", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020833", "end": "2025-12-18 10:50:17.316036", "msg": "", "rc": 0, "start": "2025-12-18 10:50:17.295203", "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.025140", "end": "2025-12-18 10:50:16.039664", "msg": "", "rc": 0, "start": "2025-12-18 10:50:16.014524", "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.004334", "end": "2025-12-18 10:50:16.548834", "msg": "", "rc": 0, "start": "2025-12-18 10:50:16.544500", "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.004056", "end": "2025-12-18 10:50:16.564898", "msg": "", "rc": 0, "start": "2025-12-18 10:50:16.560842", "stderr": "", "stderr_lines": [], "stdout": "22.8%", "stdout_lines": ["22.8%"]}
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.005031", "end": "2025-12-18 10:50:16.588188", "msg": "", "rc": 0, "start": "2025-12-18 10:50:16.583157", "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.004000", "end": "2025-12-18 10:50:16.597440", "msg": "", "rc": 0, "start": "2025-12-18 10:50:16.593440", "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.005437", "end": "2025-12-18 10:50:16.605979", "msg": "", "rc": 0, "start": "2025-12-18 10:50:16.600542", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.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.003885", "end": "2025-12-18 10:49:49.692320", "msg": "", "rc": 0, "start": "2025-12-18 10:49:49.688435", "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.004581", "end": "2025-12-18 10:49:42.926943", "msg": "", "rc": 0, "start": "2025-12-18 10:49:42.922362", "stderr": "", "stderr_lines": [], "stdout": "65.2%", "stdout_lines": ["65.2%"]}
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.010899", "end": "2025-12-18 10:50:17.225584", "msg": "", "rc": 0, "start": "2025-12-18 10:50:17.214685", "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-18 10:50:17.258267", "msg": "", "rc": 0, "start": "2025-12-18 10:50:17.246326", "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.005858", "end": "2025-12-18 10:50:17.538555", "msg": "", "rc": 0, "start": "2025-12-18 10:50:17.532697", "stderr": "", "stderr_lines": [], "stdout": "36.6%", "stdout_lines": ["36.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.004072", "end": "2025-12-18 10:49:46.096060", "msg": "", "rc": 0, "start": "2025-12-18 10:49:46.091988", "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.005149", "end": "2025-12-18 07:50:17.707830", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 07:50:17.702681", "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.003420", "end": "2025-12-18 10:49:52.993126", "msg": "", "rc": 0, "start": "2025-12-18 10:49:52.989706", "stderr": "", "stderr_lines": [], "stdout": "45.4%", "stdout_lines": ["45.4%"]}
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.008759", "end": "2025-12-18 10:50:19.268514", "msg": "", "rc": 0, "start": "2025-12-18 10:50:19.259755", "stderr": "", "stderr_lines": [], "stdout": "13.2%", "stdout_lines": ["13.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.005442", "end": "2025-12-18 10:50:17.961559", "msg": "", "rc": 0, "start": "2025-12-18 10:50:17.956117", "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.025432", "end": "2025-12-18 10:50:17.921115", "msg": "", "rc": 0, "start": "2025-12-18 10:50:17.895683", "stderr": "", "stderr_lines": [], "stdout": "20.5%", "stdout_lines": ["20.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.005368", "end": "2025-12-18 10:50:18.425976", "msg": "", "rc": 0, "start": "2025-12-18 10:50:18.420608", "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.004859", "end": "2025-12-18 10:50:18.439431", "msg": "", "rc": 0, "start": "2025-12-18 10:50:18.434572", "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.005867", "end": "2025-12-18 10:50:18.453384", "msg": "", "rc": 0, "start": "2025-12-18 10:50:18.447517", "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.003182", "end": "2025-12-18 10:50:18.473504", "msg": "", "rc": 0, "start": "2025-12-18 10:50:18.470322", "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.006745", "end": "2025-12-18 10:50:18.494758", "msg": "", "rc": 0, "start": "2025-12-18 10:50:18.488013", "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.003108", "end": "2025-12-18 10:49:51.595667", "msg": "", "rc": 0, "start": "2025-12-18 10:49:51.592559", "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.003148", "end": "2025-12-18 10:49:44.829527", "msg": "", "rc": 0, "start": "2025-12-18 10:49:44.826379", "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.011858", "end": "2025-12-18 10:50:19.102339", "msg": "", "rc": 0, "start": "2025-12-18 10:50:19.090481", "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.013188", "end": "2025-12-18 10:50:19.160048", "msg": "", "rc": 0, "start": "2025-12-18 10:50:19.146860", "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.003157", "end": "2025-12-18 10:50:19.424396", "msg": "", "rc": 0, "start": "2025-12-18 10:50:19.421239", "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.003023", "end": "2025-12-18 10:49:47.986121", "msg": "", "rc": 0, "start": "2025-12-18 10:49:47.983098", "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.002883", "end": "2025-12-18 10:49:54.830963", "msg": "", "rc": 0, "start": "2025-12-18 10:49:54.828080", "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.003876", "end": "2025-12-18 07:50:19.596956", "msg": "", "rc": 0, "start": "2025-12-18 07:50:19.593080", "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.002995", "end": "2025-12-18 10:50:19.833939", "msg": "", "rc": 0, "start": "2025-12-18 10:50:19.830944", "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.004583", "end": "2025-12-18 10:50:21.269198", "msg": "", "rc": 0, "start": "2025-12-18 10:50:21.264615", "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.028688", "end": "2025-12-18 10:50:19.796566", "msg": "", "rc": 0, "start": "2025-12-18 10:50:19.767878", "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.004050", "end": "2025-12-18 10:50:20.308864", "msg": "", "rc": 0, "start": "2025-12-18 10:50:20.304814", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
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.004688", "end": "2025-12-18 10:50:20.320876", "msg": "", "rc": 0, "start": "2025-12-18 10:50:20.316188", "stderr": "", "stderr_lines": [], "stdout": "0.82", "stdout_lines": ["0.82"]}
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.004082", "end": "2025-12-18 10:50:20.332206", "msg": "", "rc": 0, "start": "2025-12-18 10:50:20.328124", "stderr": "", "stderr_lines": [], "stdout": "0.48", "stdout_lines": ["0.48"]}
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.005074", "end": "2025-12-18 10:50:20.351739", "msg": "", "rc": 0, "start": "2025-12-18 10:50:20.346665", "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.005234", "end": "2025-12-18 10:50:20.363655", "msg": "", "rc": 0, "start": "2025-12-18 10:50:20.358421", "stderr": "", "stderr_lines": [], "stdout": "0.98", "stdout_lines": ["0.98"]}
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.004881", "end": "2025-12-18 10:49:53.449064", "msg": "", "rc": 0, "start": "2025-12-18 10:49:53.444183", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
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.005157", "end": "2025-12-18 10:49:46.670390", "msg": "", "rc": 0, "start": "2025-12-18 10:49:46.665233", "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.010048", "end": "2025-12-18 10:50:21.074734", "msg": "", "rc": 0, "start": "2025-12-18 10:50:21.064686", "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.011247", "end": "2025-12-18 10:50:21.119137", "msg": "", "rc": 0, "start": "2025-12-18 10:50:21.107890", "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.005584", "end": "2025-12-18 10:50:21.271310", "msg": "", "rc": 0, "start": "2025-12-18 10:50:21.265726", "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.004816", "end": "2025-12-18 10:49:49.827046", "msg": "", "rc": 0, "start": "2025-12-18 10:49:49.822230", "stderr": "", "stderr_lines": [], "stdout": "0.70", "stdout_lines": ["0.70"]}
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.005873", "end": "2025-12-18 07:50:21.565156", "msg": "", "rc": 0, "start": "2025-12-18 07:50:21.559283", "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.005144", "end": "2025-12-18 10:49:56.819994", "msg": "", "rc": 0, "start": "2025-12-18 10:49:56.814850", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
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-18 10:50:21.679804", "msg": "", "rc": 0, "start": "2025-12-18 10:50:21.674571", "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.007320", "end": "2025-12-18 10:50:21.754897", "msg": "", "rc": 0, "start": "2025-12-18 10:50:21.747577", "stderr": "", "stderr_lines": [], "stdout": "1.55", "stdout_lines": ["1.55"]}
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.024341", "end": "2025-12-18 10:50:21.680908", "msg": "", "rc": 0, "start": "2025-12-18 10:50:21.656567", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
TASK [Display health status] ***************************************************
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:50:11 up 22 days, 22:01, 1 user, load average: 0.79, 0.68, 0.64\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.82\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:50:11 up 4 days, 22 min, 1 user, load average: 0.38, 0.34, 0.28\nDisk Usage: 22%\nMemory Usage: 22.8%\nCPU Load: 0.48\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:50:11 up 22 days, 21:41, 1 user, load average: 0.12, 0.07, 0.08\nDisk Usage: 23%\nMemory Usage: 77.6%\nCPU Load: 0.11\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:50:11 up 22 days, 23:14, 1 user, load average: 0.89, 0.82, 0.76\nDisk Usage: 14%\nMemory Usage: 58.7%\nCPU Load: 0.98\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:50:11 up 23 days, 0 min, 1 user, load average: 0.18, 0.11, 0.03\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:50:12 up 195 days, 2:23, 1 user, load average: 0.17, 0.12, 0.12\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.22\nCPU Temp: 37.5°C\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:50:13 up 16 days, 16 min, 1 user, load average: 0.16, 0.06, 0.05\nDisk Usage: 21%\nMemory Usage: 20.5%\nCPU Load: 0.21\nCPU Temp: 35.1°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:50:12 up 195 days, 2:23, 1 user, load average: 0.24, 0.15, 0.10\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.20\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:49:44 up 11 days, 22:39, 0 user, load average: 0.28, 0.22, 0.18\nDisk Usage: 48%\nMemory Usage: 70.9%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:49:38 up 18 days, 18:51, 0 user, load average: 0.10, 0.06, 0.02\nDisk Usage: 24%\nMemory Usage: 65.2%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:50:12 up 4 days, 21 min, 1 user, load average: 0.01, 0.04, 0.04\nDisk Usage: 1%\nMemory Usage: 36.6%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:49:41 up 21 days, 13:43, 0 user, load average: 0.65, 0.49, 0.46\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.70\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 7:50AM up 22 days, 21:40, 1 user, load averages: 0.26, 0.22, 0.22\nDisk Usage: 10%\nMemory Usage: \nCPU Load: \nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:49:48 up 18 days, 5 min, 0 user, load average: 0.06, 0.19, 0.24\nDisk Usage: 76%\nMemory Usage: 45.4%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [jump.point.home] => {
"msg": "═══════════════════════════════════════\nHost: jump.point.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:50:13 up 4 days, 21 min, 1 user, load average: 0.03, 0.20, 0.12\nDisk Usage: 79%\nMemory Usage: 14.1%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:50:14 up 6:56, 1 user, load average: 1.42, 1.08, 0.96\nDisk Usage: 1%\nMemory Usage: 13.2%\nCPU Load: 1.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-18T15:50:22.743768+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `372d6f82f8324907b9cb89467385e5c8` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T16:05:00.005396+00:00 |
| **Fin** | 2025-12-18T16:05:23.341279+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: [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: [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.003670", "end": "2025-12-18 11:05:11.847653", "msg": "", "rc": 0, "start": "2025-12-18 11:05:11.843983", "stderr": "", "stderr_lines": [], "stdout": " 11:05:11 up 23 days, 15 min, 1 user, load average: 0.12, 0.12, 0.09", "stdout_lines": [" 11:05:11 up 23 days, 15 min, 1 user, load average: 0.12, 0.12, 0.09"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003392", "end": "2025-12-18 11:05:11.843975", "msg": "", "rc": 0, "start": "2025-12-18 11:05:11.840583", "stderr": "", "stderr_lines": [], "stdout": " 11:05:11 up 22 days, 22:16, 1 user, load average: 0.67, 0.70, 0.65", "stdout_lines": [" 11:05:11 up 22 days, 22:16, 1 user, load average: 0.67, 0.70, 0.65"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003954", "end": "2025-12-18 11:05:11.868268", "msg": "", "rc": 0, "start": "2025-12-18 11:05:11.864314", "stderr": "", "stderr_lines": [], "stdout": " 11:05:11 up 22 days, 23:29, 1 user, load average: 0.88, 0.80, 0.76", "stdout_lines": [" 11:05:11 up 22 days, 23:29, 1 user, load average: 0.88, 0.80, 0.76"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002834", "end": "2025-12-18 11:05:11.877353", "msg": "", "rc": 0, "start": "2025-12-18 11:05:11.874519", "stderr": "", "stderr_lines": [], "stdout": " 11:05:11 up 4 days, 37 min, 1 user, load average: 0.58, 0.37, 0.30", "stdout_lines": [" 11:05:11 up 4 days, 37 min, 1 user, load average: 0.58, 0.37, 0.30"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002897", "end": "2025-12-18 11:04:45.049522", "msg": "", "rc": 0, "start": "2025-12-18 11:04:45.046625", "stderr": "", "stderr_lines": [], "stdout": " 11:04:45 up 11 days, 22:54, 0 user, load average: 0.11, 0.10, 0.12", "stdout_lines": [" 11:04:45 up 11 days, 22:54, 0 user, load average: 0.11, 0.10, 0.12"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008443", "end": "2025-12-18 11:05:12.638288", "msg": "", "rc": 0, "start": "2025-12-18 11:05:12.629845", "stderr": "", "stderr_lines": [], "stdout": " 11:05:12 up 195 days, 2:38, 1 user, load average: 0.19, 0.16, 0.10", "stdout_lines": [" 11:05:12 up 195 days, 2:38, 1 user, load average: 0.19, 0.16, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009148", "end": "2025-12-18 11:05:12.712139", "msg": "", "rc": 0, "start": "2025-12-18 11:05:12.702991", "stderr": "", "stderr_lines": [], "stdout": " 11:05:12 up 195 days, 2:38, 1 user, load average: 0.44, 0.23, 0.18", "stdout_lines": [" 11:05:12 up 195 days, 2:38, 1 user, load average: 0.44, 0.23, 0.18"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004698", "end": "2025-12-18 11:05:12.836369", "msg": "", "rc": 0, "start": "2025-12-18 11:05:11.831671", "stderr": "", "stderr_lines": [], "stdout": " 11:05:11 up 22 days, 21:56, 1 user, load average: 0.21, 0.13, 0.10", "stdout_lines": [" 11:05:11 up 22 days, 21:56, 1 user, load average: 0.21, 0.13, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003395", "end": "2025-12-18 11:04:38.718034", "msg": "", "rc": 0, "start": "2025-12-18 11:04:38.714639", "stderr": "", "stderr_lines": [], "stdout": " 11:04:38 up 18 days, 19:06, 0 user, load average: 0.04, 0.05, 0.01", "stdout_lines": [" 11:04:38 up 18 days, 19:06, 0 user, load average: 0.04, 0.05, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005206", "end": "2025-12-18 11:05:13.303381", "msg": "", "rc": 0, "start": "2025-12-18 11:05:13.298175", "stderr": "", "stderr_lines": [], "stdout": " 11:05:13 up 4 days, 36 min, 1 user, load average: 0.16, 0.06, 0.01", "stdout_lines": [" 11:05:13 up 4 days, 36 min, 1 user, load average: 0.16, 0.06, 0.01"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005846", "end": "2025-12-18 11:04:48.644883", "msg": "", "rc": 0, "start": "2025-12-18 11:04:48.639037", "stderr": "", "stderr_lines": [], "stdout": " 11:04:48 up 18 days, 20 min, 0 user, load average: 0.10, 0.14, 0.17", "stdout_lines": [" 11:04:48 up 18 days, 20 min, 0 user, load average: 0.10, 0.14, 0.17"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003232", "end": "2025-12-18 11:04:41.851552", "msg": "", "rc": 0, "start": "2025-12-18 11:04:41.848320", "stderr": "", "stderr_lines": [], "stdout": " 11:04:41 up 21 days, 13:58, 0 user, load average: 0.39, 0.42, 0.44", "stdout_lines": [" 11:04:41 up 21 days, 13:58, 0 user, load average: 0.39, 0.42, 0.44"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019461", "end": "2025-12-18 11:05:13.312865", "msg": "", "rc": 0, "start": "2025-12-18 11:05:13.293404", "stderr": "", "stderr_lines": [], "stdout": " 11:05:13 up 16 days, 31 min, 1 user, load average: 0.36, 0.13, 0.08", "stdout_lines": [" 11:05:13 up 16 days, 31 min, 1 user, load average: 0.36, 0.13, 0.08"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004199", "end": "2025-12-18 08:05:13.491178", "msg": "", "rc": 0, "start": "2025-12-18 08:05:13.486979", "stderr": "", "stderr_lines": [], "stdout": " 8:05AM up 22 days, 21:55, 1 user, load averages: 0.30, 0.21, 0.19", "stdout_lines": [" 8:05AM up 22 days, 21:55, 1 user, load averages: 0.30, 0.21, 0.19"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007771", "end": "2025-12-18 11:05:15.120842", "msg": "", "rc": 0, "start": "2025-12-18 11:05:15.113071", "stderr": "", "stderr_lines": [], "stdout": " 11:05:15 up 7:11, 1 user, load average: 1.42, 1.21, 1.11", "stdout_lines": [" 11:05:15 up 7:11, 1 user, load average: 1.42, 1.21, 1.11"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003796", "end": "2025-12-18 11:05:14.065519", "msg": "", "rc": 0, "start": "2025-12-18 11:05:14.061723", "stderr": "", "stderr_lines": [], "stdout": " 11:05:14 up 4 days, 36 min, 1 user, load average: 0.08, 0.07, 0.08", "stdout_lines": [" 11:05:14 up 4 days, 36 min, 1 user, load average: 0.08, 0.07, 0.08"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004409", "end": "2025-12-18 11:05:14.464015", "msg": "", "rc": 0, "start": "2025-12-18 11:05:14.459606", "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.004168", "end": "2025-12-18 11:05:14.490203", "msg": "", "rc": 0, "start": "2025-12-18 11:05:14.486035", "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-18 11:05:14.501943", "msg": "", "rc": 0, "start": "2025-12-18 11:05:14.497231", "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.005178", "end": "2025-12-18 11:05:14.510195", "msg": "", "rc": 0, "start": "2025-12-18 11:05:14.505017", "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.005737", "end": "2025-12-18 11:05:14.535953", "msg": "", "rc": 0, "start": "2025-12-18 11:05:14.530216", "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.004757", "end": "2025-12-18 11:04:47.691619", "msg": "", "rc": 0, "start": "2025-12-18 11:04:47.686862", "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.006146", "end": "2025-12-18 11:04:40.920031", "msg": "", "rc": 0, "start": "2025-12-18 11:04:40.913885", "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.010569", "end": "2025-12-18 11:05:15.350592", "msg": "", "rc": 0, "start": "2025-12-18 11:05:15.340023", "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.011610", "end": "2025-12-18 11:05:15.394307", "msg": "", "rc": 0, "start": "2025-12-18 11:05:15.382697", "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.005835", "end": "2025-12-18 11:05:15.522036", "msg": "", "rc": 0, "start": "2025-12-18 11:05:15.516201", "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.005460", "end": "2025-12-18 11:04:44.084831", "msg": "", "rc": 0, "start": "2025-12-18 11:04:44.079371", "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.005855", "end": "2025-12-18 11:04:51.098264", "msg": "", "rc": 0, "start": "2025-12-18 11:04:51.092409", "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.005323", "end": "2025-12-18 08:05:15.859924", "msg": "", "rc": 0, "start": "2025-12-18 08:05:15.854601", "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.005299", "end": "2025-12-18 11:05:15.968848", "msg": "", "rc": 0, "start": "2025-12-18 11:05:15.963549", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020709", "end": "2025-12-18 11:05:17.327660", "msg": "", "rc": 0, "start": "2025-12-18 11:05:17.306951", "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.025066", "end": "2025-12-18 11:05:15.928414", "msg": "", "rc": 0, "start": "2025-12-18 11:05:15.903348", "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.004331", "end": "2025-12-18 11:05:16.474012", "msg": "", "rc": 0, "start": "2025-12-18 11:05:16.469681", "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.004689", "end": "2025-12-18 11:05:16.481088", "msg": "", "rc": 0, "start": "2025-12-18 11:05:16.476399", "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.004128", "end": "2025-12-18 11:05:16.493781", "msg": "", "rc": 0, "start": "2025-12-18 11:05:16.489653", "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.004788", "end": "2025-12-18 11:05:16.524333", "msg": "", "rc": 0, "start": "2025-12-18 11:05:16.519545", "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.005777", "end": "2025-12-18 11:05:16.537035", "msg": "", "rc": 0, "start": "2025-12-18 11:05:16.531258", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.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.003630", "end": "2025-12-18 11:04:49.603476", "msg": "", "rc": 0, "start": "2025-12-18 11:04:49.599846", "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.004374", "end": "2025-12-18 11:04:42.871208", "msg": "", "rc": 0, "start": "2025-12-18 11:04:42.866834", "stderr": "", "stderr_lines": [], "stdout": "65.2%", "stdout_lines": ["65.2%"]}
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.011496", "end": "2025-12-18 11:05:17.191979", "msg": "", "rc": 0, "start": "2025-12-18 11:05:17.180483", "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.012090", "end": "2025-12-18 11:05:17.241746", "msg": "", "rc": 0, "start": "2025-12-18 11:05:17.229656", "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.005869", "end": "2025-12-18 11:05:17.448362", "msg": "", "rc": 0, "start": "2025-12-18 11:05:17.442493", "stderr": "", "stderr_lines": [], "stdout": "36.5%", "stdout_lines": ["36.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.004815", "end": "2025-12-18 11:04:46.085335", "msg": "", "rc": 0, "start": "2025-12-18 11:04:46.080520", "stderr": "", "stderr_lines": [], "stdout": "25.5%", "stdout_lines": ["25.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.005079", "end": "2025-12-18 08:05:17.698048", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 08:05:17.692969", "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.007731", "end": "2025-12-18 11:04:52.938220", "msg": "", "rc": 0, "start": "2025-12-18 11:04:52.930489", "stderr": "", "stderr_lines": [], "stdout": "48.4%", "stdout_lines": ["48.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.005527", "end": "2025-12-18 11:05:17.859792", "msg": "", "rc": 0, "start": "2025-12-18 11:05:17.854265", "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.026375", "end": "2025-12-18 11:05:17.857481", "msg": "", "rc": 0, "start": "2025-12-18 11:05:17.831106", "stderr": "", "stderr_lines": [], "stdout": "21.3%", "stdout_lines": ["21.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.011454", "end": "2025-12-18 11:05:19.508286", "msg": "", "rc": 0, "start": "2025-12-18 11:05:19.496832", "stderr": "", "stderr_lines": [], "stdout": "12.5%", "stdout_lines": ["12.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.004959", "end": "2025-12-18 11:05:18.499874", "msg": "", "rc": 0, "start": "2025-12-18 11:05:18.494915", "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.005475", "end": "2025-12-18 11:05:18.501091", "msg": "", "rc": 0, "start": "2025-12-18 11:05:18.495616", "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.005269", "end": "2025-12-18 11:05:18.518754", "msg": "", "rc": 0, "start": "2025-12-18 11:05:18.513485", "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.003616", "end": "2025-12-18 11:05:18.541208", "msg": "", "rc": 0, "start": "2025-12-18 11:05:18.537592", "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.007372", "end": "2025-12-18 11:05:18.578005", "msg": "", "rc": 0, "start": "2025-12-18 11:05:18.570633", "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.002874", "end": "2025-12-18 11:04:51.658427", "msg": "", "rc": 0, "start": "2025-12-18 11:04:51.655553", "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-18 11:04:44.946900", "msg": "", "rc": 0, "start": "2025-12-18 11:04:44.943678", "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.011850", "end": "2025-12-18 11:05:19.243345", "msg": "", "rc": 0, "start": "2025-12-18 11:05:19.231495", "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.012885", "end": "2025-12-18 11:05:19.253446", "msg": "", "rc": 0, "start": "2025-12-18 11:05:19.240561", "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.003350", "end": "2025-12-18 11:05:19.515306", "msg": "", "rc": 0, "start": "2025-12-18 11:05:19.511956", "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.003136", "end": "2025-12-18 11:04:48.199290", "msg": "", "rc": 0, "start": "2025-12-18 11:04:48.196154", "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.004254", "end": "2025-12-18 08:05:19.798866", "msg": "", "rc": 0, "start": "2025-12-18 08:05:19.794612", "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.002463", "end": "2025-12-18 11:04:55.050172", "msg": "", "rc": 0, "start": "2025-12-18 11:04:55.047709", "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.002955", "end": "2025-12-18 11:05:19.954686", "msg": "", "rc": 0, "start": "2025-12-18 11:05:19.951731", "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.028722", "end": "2025-12-18 11:05:19.894451", "msg": "", "rc": 0, "start": "2025-12-18 11:05:19.865729", "stderr": "", "stderr_lines": [], "stdout": "35.4°C", "stdout_lines": ["35.4°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.004479", "end": "2025-12-18 11:05:20.220921", "msg": "", "rc": 0, "start": "2025-12-18 11:05:20.216442", "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.004071", "end": "2025-12-18 11:05:20.623958", "msg": "", "rc": 0, "start": "2025-12-18 11:05:20.619887", "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.004561", "end": "2025-12-18 11:05:20.631517", "msg": "", "rc": 0, "start": "2025-12-18 11:05:20.626956", "stderr": "", "stderr_lines": [], "stdout": "0.65", "stdout_lines": ["0.65"]}
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-18 11:05:20.646371", "msg": "", "rc": 0, "start": "2025-12-18 11:05:20.642359", "stderr": "", "stderr_lines": [], "stdout": "0.49", "stdout_lines": ["0.49"]}
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.005706", "end": "2025-12-18 11:05:20.676098", "msg": "", "rc": 0, "start": "2025-12-18 11:05:20.670392", "stderr": "", "stderr_lines": [], "stdout": "1.07", "stdout_lines": ["1.07"]}
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.005577", "end": "2025-12-18 11:05:20.692677", "msg": "", "rc": 0, "start": "2025-12-18 11:05:20.687100", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
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.004637", "end": "2025-12-18 11:04:53.803369", "msg": "", "rc": 0, "start": "2025-12-18 11:04:53.798732", "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.005461", "end": "2025-12-18 11:04:47.079846", "msg": "", "rc": 0, "start": "2025-12-18 11:04:47.074385", "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.011307", "end": "2025-12-18 11:05:21.483315", "msg": "", "rc": 0, "start": "2025-12-18 11:05:21.472008", "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.010241", "end": "2025-12-18 11:05:21.501079", "msg": "", "rc": 0, "start": "2025-12-18 11:05:21.490838", "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.006128", "end": "2025-12-18 11:05:21.644915", "msg": "", "rc": 0, "start": "2025-12-18 11:05:21.638787", "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.005100", "end": "2025-12-18 11:04:50.284897", "msg": "", "rc": 0, "start": "2025-12-18 11:04:50.279797", "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.006078", "end": "2025-12-18 08:05:22.001524", "msg": "", "rc": 0, "start": "2025-12-18 08:05:21.995446", "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.003985", "end": "2025-12-18 11:04:57.254986", "msg": "", "rc": 0, "start": "2025-12-18 11:04:57.251001", "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.005225", "end": "2025-12-18 11:05:22.105925", "msg": "", "rc": 0, "start": "2025-12-18 11:05:22.100700", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
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.024341", "end": "2025-12-18 11:05:22.018521", "msg": "", "rc": 0, "start": "2025-12-18 11:05:21.994180", "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.007918", "end": "2025-12-18 11:05:22.403210", "msg": "", "rc": 0, "start": "2025-12-18 11:05:22.395292", "stderr": "", "stderr_lines": [], "stdout": "1.66", "stdout_lines": ["1.66"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:05:11 up 22 days, 21:56, 1 user, load average: 0.21, 0.13, 0.10\nDisk Usage: 23%\nMemory Usage: 77.6%\nCPU Load: 0.18\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:05:11 up 4 days, 37 min, 1 user, load average: 0.58, 0.37, 0.30\nDisk Usage: 22%\nMemory Usage: 22.6%\nCPU Load: 0.49\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:05:11 up 22 days, 22:16, 1 user, load average: 0.67, 0.70, 0.65\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.65\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:05:11 up 22 days, 23:29, 1 user, load average: 0.88, 0.80, 0.76\nDisk Usage: 14%\nMemory Usage: 58.7%\nCPU Load: 1.07\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:05:11 up 23 days, 15 min, 1 user, load average: 0.12, 0.12, 0.09\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:05:13 up 16 days, 31 min, 1 user, load average: 0.36, 0.13, 0.08\nDisk Usage: 21%\nMemory Usage: 21.3%\nCPU Load: 0.39\nCPU Temp: 35.4°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:05:12 up 195 days, 2:38, 1 user, load average: 0.44, 0.23, 0.18\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.37\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:05:12 up 195 days, 2:38, 1 user, load average: 0.19, 0.16, 0.10\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.23\nCPU Temp: 32.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:04:45 up 11 days, 22:54, 0 user, load average: 0.11, 0.10, 0.12\nDisk Usage: 48%\nMemory Usage: 70.8%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:04:38 up 18 days, 19:06, 0 user, load average: 0.04, 0.05, 0.01\nDisk Usage: 24%\nMemory Usage: 65.2%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:05:13 up 4 days, 36 min, 1 user, load average: 0.16, 0.06, 0.01\nDisk Usage: 1%\nMemory Usage: 36.5%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:04:41 up 21 days, 13:58, 0 user, load average: 0.39, 0.42, 0.44\nDisk Usage: 28%\nMemory Usage: 25.5%\nCPU Load: 0.41\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:04:48 up 18 days, 20 min, 0 user, load average: 0.10, 0.14, 0.17\nDisk Usage: 76%\nMemory Usage: 48.4%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:05AM up 22 days, 21:55, 1 user, load averages: 0.30, 0.21, 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: 11:05:14 up 4 days, 36 min, 1 user, load average: 0.08, 0.07, 0.08\nDisk Usage: 79%\nMemory Usage: 13.9%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:05:15 up 7:11, 1 user, load average: 1.42, 1.21, 1.11\nDisk Usage: 1%\nMemory Usage: 12.5%\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-18T16:05:23.404069+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `01789257ed114d61aa31181908517bbf` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T16:15:00.000450+00:00 |
| **Fin** | 2025-12-18T16:15:22.471477+00:00 |
| **Durée** | 22.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: [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.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: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003470", "end": "2025-12-18 11:15:11.334242", "msg": "", "rc": 0, "start": "2025-12-18 11:15:11.330772", "stderr": "", "stderr_lines": [], "stdout": " 11:15:11 up 23 days, 25 min, 1 user, load average: 0.07, 0.06, 0.08", "stdout_lines": [" 11:15:11 up 23 days, 25 min, 1 user, load average: 0.07, 0.06, 0.08"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003569", "end": "2025-12-18 11:15:11.335331", "msg": "", "rc": 0, "start": "2025-12-18 11:15:11.331762", "stderr": "", "stderr_lines": [], "stdout": " 11:15:11 up 22 days, 22:26, 1 user, load average: 0.47, 0.37, 0.47", "stdout_lines": [" 11:15:11 up 22 days, 22:26, 1 user, load average: 0.47, 0.37, 0.47"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003303", "end": "2025-12-18 11:15:11.339400", "msg": "", "rc": 0, "start": "2025-12-18 11:15:11.336097", "stderr": "", "stderr_lines": [], "stdout": " 11:15:11 up 22 days, 22:06, 1 user, load average: 0.07, 0.06, 0.07", "stdout_lines": [" 11:15:11 up 22 days, 22:06, 1 user, load average: 0.07, 0.06, 0.07"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003069", "end": "2025-12-18 11:15:11.349732", "msg": "", "rc": 0, "start": "2025-12-18 11:15:11.346663", "stderr": "", "stderr_lines": [], "stdout": " 11:15:11 up 4 days, 47 min, 1 user, load average: 0.33, 0.35, 0.30", "stdout_lines": [" 11:15:11 up 4 days, 47 min, 1 user, load average: 0.33, 0.35, 0.30"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002740", "end": "2025-12-18 11:14:44.456202", "msg": "", "rc": 0, "start": "2025-12-18 11:14:44.453462", "stderr": "", "stderr_lines": [], "stdout": " 11:14:44 up 11 days, 23:04, 0 user, load average: 0.09, 0.08, 0.09", "stdout_lines": [" 11:14:44 up 11 days, 23:04, 0 user, load average: 0.09, 0.08, 0.09"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008745", "end": "2025-12-18 11:15:12.025683", "msg": "", "rc": 0, "start": "2025-12-18 11:15:12.016938", "stderr": "", "stderr_lines": [], "stdout": " 11:15:12 up 195 days, 2:48, 1 user, load average: 0.10, 0.12, 0.09", "stdout_lines": [" 11:15:12 up 195 days, 2:48, 1 user, load average: 0.10, 0.12, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009255", "end": "2025-12-18 11:15:12.141777", "msg": "", "rc": 0, "start": "2025-12-18 11:15:12.132522", "stderr": "", "stderr_lines": [], "stdout": " 11:15:12 up 195 days, 2:48, 1 user, load average: 0.15, 0.25, 0.20", "stdout_lines": [" 11:15:12 up 195 days, 2:48, 1 user, load average: 0.15, 0.25, 0.20"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004751", "end": "2025-12-18 11:15:12.354388", "msg": "", "rc": 0, "start": "2025-12-18 11:15:11.349637", "stderr": "", "stderr_lines": [], "stdout": " 11:15:11 up 22 days, 23:39, 1 user, load average: 0.68, 0.76, 0.74", "stdout_lines": [" 11:15:11 up 22 days, 23:39, 1 user, load average: 0.68, 0.76, 0.74"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003939", "end": "2025-12-18 11:14:38.148361", "msg": "", "rc": 0, "start": "2025-12-18 11:14:38.144422", "stderr": "", "stderr_lines": [], "stdout": " 11:14:38 up 18 days, 19:16, 0 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 11:14:38 up 18 days, 19:16, 0 user, load average: 0.00, 0.00, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004845", "end": "2025-12-18 11:15:12.543152", "msg": "", "rc": 0, "start": "2025-12-18 11:15:12.538307", "stderr": "", "stderr_lines": [], "stdout": " 11:15:12 up 4 days, 46 min, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 11:15:12 up 4 days, 46 min, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003118", "end": "2025-12-18 11:14:41.129515", "msg": "", "rc": 0, "start": "2025-12-18 11:14:41.126397", "stderr": "", "stderr_lines": [], "stdout": " 11:14:41 up 21 days, 14:08, 0 user, load average: 0.47, 0.49, 0.48", "stdout_lines": [" 11:14:41 up 21 days, 14:08, 0 user, load average: 0.47, 0.49, 0.48"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004192", "end": "2025-12-18 08:15:12.791125", "msg": "", "rc": 0, "start": "2025-12-18 08:15:12.786933", "stderr": "", "stderr_lines": [], "stdout": " 8:15AM up 22 days, 22:05, 1 user, load averages: 0.42, 0.30, 0.22", "stdout_lines": [" 8:15AM up 22 days, 22:05, 1 user, load averages: 0.42, 0.30, 0.22"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002763", "end": "2025-12-18 11:14:48.031657", "msg": "", "rc": 0, "start": "2025-12-18 11:14:48.028894", "stderr": "", "stderr_lines": [], "stdout": " 11:14:48 up 18 days, 30 min, 0 user, load average: 0.05, 0.07, 0.10", "stdout_lines": [" 11:14:48 up 18 days, 30 min, 0 user, load average: 0.05, 0.07, 0.10"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019453", "end": "2025-12-18 11:15:12.724751", "msg": "", "rc": 0, "start": "2025-12-18 11:15:12.705298", "stderr": "", "stderr_lines": [], "stdout": " 11:15:12 up 16 days, 41 min, 1 user, load average: 0.27, 0.10, 0.08", "stdout_lines": [" 11:15:12 up 16 days, 41 min, 1 user, load average: 0.27, 0.10, 0.08"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003676", "end": "2025-12-18 11:15:12.961969", "msg": "", "rc": 0, "start": "2025-12-18 11:15:12.958293", "stderr": "", "stderr_lines": [], "stdout": " 11:15:12 up 4 days, 46 min, 1 user, load average: 0.08, 0.04, 0.05", "stdout_lines": [" 11:15:12 up 4 days, 46 min, 1 user, load average: 0.08, 0.04, 0.05"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008132", "end": "2025-12-18 11:15:13.515803", "msg": "", "rc": 0, "start": "2025-12-18 11:15:13.507671", "stderr": "", "stderr_lines": [], "stdout": " 11:15:13 up 7:22, 1 user, load average: 1.18, 1.24, 1.19", "stdout_lines": [" 11:15:13 up 7:22, 1 user, load average: 1.18, 1.24, 1.19"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004138", "end": "2025-12-18 11:15:13.475278", "msg": "", "rc": 0, "start": "2025-12-18 11:15:13.471140", "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.004180", "end": "2025-12-18 11:15:13.478428", "msg": "", "rc": 0, "start": "2025-12-18 11:15:13.474248", "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.004642", "end": "2025-12-18 11:15:13.486445", "msg": "", "rc": 0, "start": "2025-12-18 11:15:13.481803", "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.004888", "end": "2025-12-18 11:15:13.511477", "msg": "", "rc": 0, "start": "2025-12-18 11:15:13.506589", "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.005721", "end": "2025-12-18 11:15:13.527466", "msg": "", "rc": 0, "start": "2025-12-18 11:15:13.521745", "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.005305", "end": "2025-12-18 11:14:46.605072", "msg": "", "rc": 0, "start": "2025-12-18 11:14:46.599767", "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.005624", "end": "2025-12-18 11:14:39.860976", "msg": "", "rc": 0, "start": "2025-12-18 11:14:39.855352", "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.011569", "end": "2025-12-18 11:15:14.210289", "msg": "", "rc": 0, "start": "2025-12-18 11:15:14.198720", "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.010539", "end": "2025-12-18 11:15:14.286851", "msg": "", "rc": 0, "start": "2025-12-18 11:15:14.276312", "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.005994", "end": "2025-12-18 11:15:14.440088", "msg": "", "rc": 0, "start": "2025-12-18 11:15:14.434094", "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.005167", "end": "2025-12-18 11:14:43.023416", "msg": "", "rc": 0, "start": "2025-12-18 11:14:43.018249", "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-18 11:14:49.941302", "msg": "", "rc": 0, "start": "2025-12-18 11:14:49.936565", "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.005377", "end": "2025-12-18 08:15:14.725483", "msg": "", "rc": 0, "start": "2025-12-18 08:15:14.720106", "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.005406", "end": "2025-12-18 11:15:14.866120", "msg": "", "rc": 0, "start": "2025-12-18 11:15:14.860714", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.022390", "end": "2025-12-18 11:15:15.516535", "msg": "", "rc": 0, "start": "2025-12-18 11:15:15.494145", "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.025791", "end": "2025-12-18 11:15:14.903335", "msg": "", "rc": 0, "start": "2025-12-18 11:15:14.877544", "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.004419", "end": "2025-12-18 11:15:15.436266", "msg": "", "rc": 0, "start": "2025-12-18 11:15:15.431847", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.7%"]}
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.004221", "end": "2025-12-18 11:15:15.435367", "msg": "", "rc": 0, "start": "2025-12-18 11:15:15.431146", "stderr": "", "stderr_lines": [], "stdout": "77.7%", "stdout_lines": ["77.7%"]}
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.005128", "end": "2025-12-18 11:15:15.469417", "msg": "", "rc": 0, "start": "2025-12-18 11:15:15.464289", "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.005564", "end": "2025-12-18 11:15:15.491778", "msg": "", "rc": 0, "start": "2025-12-18 11:15:15.486214", "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.005765", "end": "2025-12-18 11:15:15.489246", "msg": "", "rc": 0, "start": "2025-12-18 11:15:15.483481", "stderr": "", "stderr_lines": [], "stdout": "58.6%", "stdout_lines": ["58.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.003827", "end": "2025-12-18 11:14:48.577239", "msg": "", "rc": 0, "start": "2025-12-18 11:14:48.573412", "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.005046", "end": "2025-12-18 11:14:41.840322", "msg": "", "rc": 0, "start": "2025-12-18 11:14:41.835276", "stderr": "", "stderr_lines": [], "stdout": "65.3%", "stdout_lines": ["65.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.010875", "end": "2025-12-18 11:15:16.169981", "msg": "", "rc": 0, "start": "2025-12-18 11:15:16.159106", "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.012090", "end": "2025-12-18 11:15:16.183819", "msg": "", "rc": 0, "start": "2025-12-18 11:15:16.171729", "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.006436", "end": "2025-12-18 11:15:16.426545", "msg": "", "rc": 0, "start": "2025-12-18 11:15:16.420109", "stderr": "", "stderr_lines": [], "stdout": "36.4%", "stdout_lines": ["36.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.004297", "end": "2025-12-18 11:14:45.015299", "msg": "", "rc": 0, "start": "2025-12-18 11:14:45.011002", "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.005104", "end": "2025-12-18 08:15:16.637609", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 08:15:16.632505", "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.003698", "end": "2025-12-18 11:14:51.879879", "msg": "", "rc": 0, "start": "2025-12-18 11:14:51.876181", "stderr": "", "stderr_lines": [], "stdout": "48.2%", "stdout_lines": ["48.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.005282", "end": "2025-12-18 11:15:16.838644", "msg": "", "rc": 0, "start": "2025-12-18 11:15:16.833362", "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.009568", "end": "2025-12-18 11:15:17.569255", "msg": "", "rc": 0, "start": "2025-12-18 11:15:17.559687", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.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.025613", "end": "2025-12-18 11:15:16.833173", "msg": "", "rc": 0, "start": "2025-12-18 11:15:16.807560", "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.005264", "end": "2025-12-18 11:15:17.357612", "msg": "", "rc": 0, "start": "2025-12-18 11:15:17.352348", "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.004926", "end": "2025-12-18 11:15:17.374105", "msg": "", "rc": 0, "start": "2025-12-18 11:15:17.369179", "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.005536", "end": "2025-12-18 11:15:17.384971", "msg": "", "rc": 0, "start": "2025-12-18 11:15:17.379435", "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.003096", "end": "2025-12-18 11:15:17.416229", "msg": "", "rc": 0, "start": "2025-12-18 11:15:17.413133", "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.006150", "end": "2025-12-18 11:15:17.417400", "msg": "", "rc": 0, "start": "2025-12-18 11:15:17.411250", "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.002628", "end": "2025-12-18 11:14:50.474392", "msg": "", "rc": 0, "start": "2025-12-18 11:14:50.471764", "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.002877", "end": "2025-12-18 11:14:43.724459", "msg": "", "rc": 0, "start": "2025-12-18 11:14:43.721582", "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.011860", "end": "2025-12-18 11:15:18.056057", "msg": "", "rc": 0, "start": "2025-12-18 11:15:18.044197", "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.014091", "end": "2025-12-18 11:15:18.171789", "msg": "", "rc": 0, "start": "2025-12-18 11:15:18.157698", "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.003125", "end": "2025-12-18 11:15:18.344496", "msg": "", "rc": 0, "start": "2025-12-18 11:15:18.341371", "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.002842", "end": "2025-12-18 11:14:46.917729", "msg": "", "rc": 0, "start": "2025-12-18 11:14:46.914887", "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.002633", "end": "2025-12-18 11:14:53.775445", "msg": "", "rc": 0, "start": "2025-12-18 11:14:53.772812", "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.004057", "end": "2025-12-18 08:15:18.636319", "msg": "", "rc": 0, "start": "2025-12-18 08:15:18.632262", "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-18 11:15:18.768810", "msg": "", "rc": 0, "start": "2025-12-18 11:15:18.765799", "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.004142", "end": "2025-12-18 11:15:19.546764", "msg": "", "rc": 0, "start": "2025-12-18 11:15:19.542622", "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.028257", "end": "2025-12-18 11:15:18.735748", "msg": "", "rc": 0, "start": "2025-12-18 11:15:18.707491", "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.004163", "end": "2025-12-18 11:15:19.265691", "msg": "", "rc": 0, "start": "2025-12-18 11:15:19.261528", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
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.004097", "end": "2025-12-18 11:15:19.268893", "msg": "", "rc": 0, "start": "2025-12-18 11:15:19.264796", "stderr": "", "stderr_lines": [], "stdout": "0.38", "stdout_lines": ["0.38"]}
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.004528", "end": "2025-12-18 11:15:19.281617", "msg": "", "rc": 0, "start": "2025-12-18 11:15:19.277089", "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.005151", "end": "2025-12-18 11:15:19.320839", "msg": "", "rc": 0, "start": "2025-12-18 11:15:19.315688", "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.005401", "end": "2025-12-18 11:15:19.331367", "msg": "", "rc": 0, "start": "2025-12-18 11:15:19.325966", "stderr": "", "stderr_lines": [], "stdout": "0.88", "stdout_lines": ["0.88"]}
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.004332", "end": "2025-12-18 11:14:52.381916", "msg": "", "rc": 0, "start": "2025-12-18 11:14:52.377584", "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.005604", "end": "2025-12-18 11:14:45.631001", "msg": "", "rc": 0, "start": "2025-12-18 11:14:45.625397", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
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.011046", "end": "2025-12-18 11:15:19.986068", "msg": "", "rc": 0, "start": "2025-12-18 11:15:19.975022", "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.010371", "end": "2025-12-18 11:15:20.036669", "msg": "", "rc": 0, "start": "2025-12-18 11:15:20.026298", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
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.005537", "end": "2025-12-18 11:15:20.226784", "msg": "", "rc": 0, "start": "2025-12-18 11:15:20.221247", "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.004862", "end": "2025-12-18 11:14:48.796442", "msg": "", "rc": 0, "start": "2025-12-18 11:14:48.791580", "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.004232", "end": "2025-12-18 11:14:55.717728", "msg": "", "rc": 0, "start": "2025-12-18 11:14:55.713496", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
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.006593", "end": "2025-12-18 08:15:20.484284", "msg": "", "rc": 0, "start": "2025-12-18 08:15:20.477691", "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.005804", "end": "2025-12-18 11:15:20.648129", "msg": "", "rc": 0, "start": "2025-12-18 11:15:20.642325", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
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.009399", "end": "2025-12-18 11:15:21.512292", "msg": "", "rc": 0, "start": "2025-12-18 11:15:21.502893", "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.024618", "end": "2025-12-18 11:15:20.633294", "msg": "", "rc": 0, "start": "2025-12-18 11:15:20.608676", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:15:11 up 22 days, 22:06, 1 user, load average: 0.07, 0.06, 0.07\nDisk Usage: 23%\nMemory Usage: 77.7%\nCPU Load: 0.06\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:15:11 up 4 days, 47 min, 1 user, load average: 0.33, 0.35, 0.30\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 0.38\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:15:11 up 22 days, 22:26, 1 user, load average: 0.47, 0.37, 0.47\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: 11:15:11 up 22 days, 23:39, 1 user, load average: 0.68, 0.76, 0.74\nDisk Usage: 14%\nMemory Usage: 58.6%\nCPU Load: 0.88\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:15:11 up 23 days, 25 min, 1 user, load average: 0.07, 0.06, 0.08\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: 11:15:12 up 16 days, 41 min, 1 user, load average: 0.27, 0.10, 0.08\nDisk Usage: 21%\nMemory Usage: 20.7%\nCPU Load: 0.31\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:15:12 up 195 days, 2:48, 1 user, load average: 0.15, 0.25, 0.20\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.14\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:15:12 up 195 days, 2:48, 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: 11:14:44 up 11 days, 23:04, 0 user, load average: 0.09, 0.08, 0.09\nDisk Usage: 48%\nMemory Usage: 71.0%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:14:38 up 18 days, 19:16, 0 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 24%\nMemory Usage: 65.3%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:15:12 up 4 days, 46 min, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 1%\nMemory Usage: 36.4%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:14:41 up 21 days, 14:08, 0 user, load average: 0.47, 0.49, 0.48\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.51\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:14:48 up 18 days, 30 min, 0 user, load average: 0.05, 0.07, 0.10\nDisk Usage: 76%\nMemory Usage: 48.2%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:15AM up 22 days, 22:05, 1 user, load averages: 0.42, 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: 11:15:12 up 4 days, 46 min, 1 user, load average: 0.08, 0.04, 0.05\nDisk Usage: 79%\nMemory Usage: 14.0%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:15:13 up 7:22, 1 user, load average: 1.18, 1.24, 1.19\nDisk Usage: 1%\nMemory Usage: 12.8%\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-18T16:15:22.522597+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `78f70e3537164b098fdf0e9e95ab2cc5` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T16:20:00.000905+00:00 |
| **Fin** | 2025-12-18T16:20:21.870810+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: [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: [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.003307", "end": "2025-12-18 11:20:11.549899", "msg": "", "rc": 0, "start": "2025-12-18 11:20:11.546592", "stderr": "", "stderr_lines": [], "stdout": " 11:20:11 up 22 days, 22:11, 1 user, load average: 0.05, 0.07, 0.07", "stdout_lines": [" 11:20:11 up 22 days, 22:11, 1 user, load average: 0.05, 0.07, 0.07"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003486", "end": "2025-12-18 11:20:11.567219", "msg": "", "rc": 0, "start": "2025-12-18 11:20:11.563733", "stderr": "", "stderr_lines": [], "stdout": " 11:20:11 up 23 days, 30 min, 1 user, load average: 0.04, 0.06, 0.08", "stdout_lines": [" 11:20:11 up 23 days, 30 min, 1 user, load average: 0.04, 0.06, 0.08"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003823", "end": "2025-12-18 11:20:11.582126", "msg": "", "rc": 0, "start": "2025-12-18 11:20:11.578303", "stderr": "", "stderr_lines": [], "stdout": " 11:20:11 up 22 days, 22:31, 1 user, load average: 0.65, 0.51, 0.49", "stdout_lines": [" 11:20:11 up 22 days, 22:31, 1 user, load average: 0.65, 0.51, 0.49"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002825", "end": "2025-12-18 11:20:11.589008", "msg": "", "rc": 0, "start": "2025-12-18 11:20:11.586183", "stderr": "", "stderr_lines": [], "stdout": " 11:20:11 up 4 days, 52 min, 1 user, load average: 0.29, 0.31, 0.28", "stdout_lines": [" 11:20:11 up 4 days, 52 min, 1 user, load average: 0.29, 0.31, 0.28"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004145", "end": "2025-12-18 11:20:11.581956", "msg": "", "rc": 0, "start": "2025-12-18 11:20:11.577811", "stderr": "", "stderr_lines": [], "stdout": " 11:20:11 up 22 days, 23:44, 1 user, load average: 0.84, 0.68, 0.70", "stdout_lines": [" 11:20:11 up 22 days, 23:44, 1 user, load average: 0.84, 0.68, 0.70"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003334", "end": "2025-12-18 11:19:44.674422", "msg": "", "rc": 0, "start": "2025-12-18 11:19:44.671088", "stderr": "", "stderr_lines": [], "stdout": " 11:19:44 up 11 days, 23:09, 0 user, load average: 0.49, 0.27, 0.15", "stdout_lines": [" 11:19:44 up 11 days, 23:09, 0 user, load average: 0.49, 0.27, 0.15"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003317", "end": "2025-12-18 11:19:37.892877", "msg": "", "rc": 0, "start": "2025-12-18 11:19:37.889560", "stderr": "", "stderr_lines": [], "stdout": " 11:19:37 up 18 days, 19:21, 0 user, load average: 0.03, 0.07, 0.03", "stdout_lines": [" 11:19:37 up 18 days, 19:21, 0 user, load average: 0.03, 0.07, 0.03"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008508", "end": "2025-12-18 11:20:12.234289", "msg": "", "rc": 0, "start": "2025-12-18 11:20:12.225781", "stderr": "", "stderr_lines": [], "stdout": " 11:20:12 up 195 days, 2:53, 1 user, load average: 0.16, 0.14, 0.10", "stdout_lines": [" 11:20:12 up 195 days, 2:53, 1 user, load average: 0.16, 0.14, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009386", "end": "2025-12-18 11:20:12.294313", "msg": "", "rc": 0, "start": "2025-12-18 11:20:12.284927", "stderr": "", "stderr_lines": [], "stdout": " 11:20:12 up 195 days, 2:53, 1 user, load average: 0.11, 0.22, 0.20", "stdout_lines": [" 11:20:12 up 195 days, 2:53, 1 user, load average: 0.11, 0.22, 0.20"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004912", "end": "2025-12-18 11:20:12.517407", "msg": "", "rc": 0, "start": "2025-12-18 11:20:12.512495", "stderr": "", "stderr_lines": [], "stdout": " 11:20:12 up 4 days, 51 min, 1 user, load average: 0.07, 0.07, 0.02", "stdout_lines": [" 11:20:12 up 4 days, 51 min, 1 user, load average: 0.07, 0.07, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003514", "end": "2025-12-18 11:19:41.060524", "msg": "", "rc": 0, "start": "2025-12-18 11:19:41.057010", "stderr": "", "stderr_lines": [], "stdout": " 11:19:41 up 21 days, 14:13, 0 user, load average: 0.40, 0.60, 0.54", "stdout_lines": [" 11:19:41 up 21 days, 14:13, 0 user, load average: 0.40, 0.60, 0.54"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002728", "end": "2025-12-18 11:19:47.950038", "msg": "", "rc": 0, "start": "2025-12-18 11:19:47.947310", "stderr": "", "stderr_lines": [], "stdout": " 11:19:47 up 18 days, 35 min, 0 user, load average: 0.21, 0.12, 0.10", "stdout_lines": [" 11:19:47 up 18 days, 35 min, 0 user, load average: 0.21, 0.12, 0.10"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004237", "end": "2025-12-18 08:20:12.728962", "msg": "", "rc": 0, "start": "2025-12-18 08:20:12.724725", "stderr": "", "stderr_lines": [], "stdout": " 8:20AM up 22 days, 22:10, 1 user, load averages: 0.36, 0.31, 0.24", "stdout_lines": [" 8:20AM up 22 days, 22:10, 1 user, load averages: 0.36, 0.31, 0.24"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003943", "end": "2025-12-18 11:20:12.929379", "msg": "", "rc": 0, "start": "2025-12-18 11:20:12.925436", "stderr": "", "stderr_lines": [], "stdout": " 11:20:12 up 4 days, 51 min, 1 user, load average: 0.17, 0.13, 0.08", "stdout_lines": [" 11:20:12 up 4 days, 51 min, 1 user, load average: 0.17, 0.13, 0.08"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007591", "end": "2025-12-18 11:20:13.056940", "msg": "", "rc": 0, "start": "2025-12-18 11:20:13.049349", "stderr": "", "stderr_lines": [], "stdout": " 11:20:13 up 7:27, 1 user, load average: 1.36, 1.21, 1.18", "stdout_lines": [" 11:20:13 up 7:27, 1 user, load average: 1.36, 1.21, 1.18"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019727", "end": "2025-12-18 11:20:12.927430", "msg": "", "rc": 0, "start": "2025-12-18 11:20:12.907703", "stderr": "", "stderr_lines": [], "stdout": " 11:20:12 up 16 days, 46 min, 1 user, load average: 0.27, 0.12, 0.09", "stdout_lines": [" 11:20:12 up 16 days, 46 min, 1 user, load average: 0.27, 0.12, 0.09"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004082", "end": "2025-12-18 11:20:13.435995", "msg": "", "rc": 0, "start": "2025-12-18 11:20:13.431913", "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.004205", "end": "2025-12-18 11:20:13.460400", "msg": "", "rc": 0, "start": "2025-12-18 11:20:13.456195", "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.004657", "end": "2025-12-18 11:20:13.459106", "msg": "", "rc": 0, "start": "2025-12-18 11:20:13.454449", "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.004849", "end": "2025-12-18 11:20:13.501386", "msg": "", "rc": 0, "start": "2025-12-18 11:20:13.496537", "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.005491", "end": "2025-12-18 11:20:13.499988", "msg": "", "rc": 0, "start": "2025-12-18 11:20:13.494497", "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.005001", "end": "2025-12-18 11:19:46.546469", "msg": "", "rc": 0, "start": "2025-12-18 11:19:46.541468", "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.005239", "end": "2025-12-18 11:19:39.800220", "msg": "", "rc": 0, "start": "2025-12-18 11:19:39.794981", "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.010569", "end": "2025-12-18 11:20:14.168450", "msg": "", "rc": 0, "start": "2025-12-18 11:20:14.157881", "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.011661", "end": "2025-12-18 11:20:14.204165", "msg": "", "rc": 0, "start": "2025-12-18 11:20:14.192504", "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.005767", "end": "2025-12-18 11:20:14.389981", "msg": "", "rc": 0, "start": "2025-12-18 11:20:14.384214", "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.005405", "end": "2025-12-18 11:19:42.956930", "msg": "", "rc": 0, "start": "2025-12-18 11:19:42.951525", "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.005325", "end": "2025-12-18 08:20:14.656875", "msg": "", "rc": 0, "start": "2025-12-18 08:20:14.651550", "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.005162", "end": "2025-12-18 11:19:49.936491", "msg": "", "rc": 0, "start": "2025-12-18 11:19:49.931329", "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.005405", "end": "2025-12-18 11:20:14.800727", "msg": "", "rc": 0, "start": "2025-12-18 11:20:14.795322", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.018897", "end": "2025-12-18 11:20:15.046257", "msg": "", "rc": 0, "start": "2025-12-18 11:20:15.027360", "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.025608", "end": "2025-12-18 11:20:14.812820", "msg": "", "rc": 0, "start": "2025-12-18 11:20:14.787212", "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.004351", "end": "2025-12-18 11:20:15.334893", "msg": "", "rc": 0, "start": "2025-12-18 11:20:15.330542", "stderr": "", "stderr_lines": [], "stdout": "77.7%", "stdout_lines": ["77.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.004269", "end": "2025-12-18 11:20:15.347325", "msg": "", "rc": 0, "start": "2025-12-18 11:20:15.343056", "stderr": "", "stderr_lines": [], "stdout": "22.8%", "stdout_lines": ["22.8%"]}
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-18 11:20:15.352992", "msg": "", "rc": 0, "start": "2025-12-18 11:20:15.348077", "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.005653", "end": "2025-12-18 11:20:15.382563", "msg": "", "rc": 0, "start": "2025-12-18 11:20:15.376910", "stderr": "", "stderr_lines": [], "stdout": "58.6%", "stdout_lines": ["58.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.004866", "end": "2025-12-18 11:20:15.389499", "msg": "", "rc": 0, "start": "2025-12-18 11:20:15.384633", "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.003736", "end": "2025-12-18 11:19:48.472683", "msg": "", "rc": 0, "start": "2025-12-18 11:19:48.468947", "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.004462", "end": "2025-12-18 11:19:41.690670", "msg": "", "rc": 0, "start": "2025-12-18 11:19:41.686208", "stderr": "", "stderr_lines": [], "stdout": "65.2%", "stdout_lines": ["65.2%"]}
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-18 11:20:16.033665", "msg": "", "rc": 0, "start": "2025-12-18 11:20:16.022813", "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.011792", "end": "2025-12-18 11:20:16.059681", "msg": "", "rc": 0, "start": "2025-12-18 11:20:16.047889", "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.006089", "end": "2025-12-18 11:20:16.316145", "msg": "", "rc": 0, "start": "2025-12-18 11:20:16.310056", "stderr": "", "stderr_lines": [], "stdout": "36.6%", "stdout_lines": ["36.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.004060", "end": "2025-12-18 11:19:44.851781", "msg": "", "rc": 0, "start": "2025-12-18 11:19:44.847721", "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.005144", "end": "2025-12-18 08:20:16.506958", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 08:20:16.501814", "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.003822", "end": "2025-12-18 11:19:51.784356", "msg": "", "rc": 0, "start": "2025-12-18 11:19:51.780534", "stderr": "", "stderr_lines": [], "stdout": "50.1%", "stdout_lines": ["50.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.005412", "end": "2025-12-18 11:20:16.742201", "msg": "", "rc": 0, "start": "2025-12-18 11:20:16.736789", "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.010010", "end": "2025-12-18 11:20:17.003417", "msg": "", "rc": 0, "start": "2025-12-18 11:20:16.993407", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.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.025785", "end": "2025-12-18 11:20:16.717910", "msg": "", "rc": 0, "start": "2025-12-18 11:20:16.692125", "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.005227", "end": "2025-12-18 11:20:17.219800", "msg": "", "rc": 0, "start": "2025-12-18 11:20:17.214573", "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.005158", "end": "2025-12-18 11:20:17.250465", "msg": "", "rc": 0, "start": "2025-12-18 11:20:17.245307", "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.005785", "end": "2025-12-18 11:20:17.255842", "msg": "", "rc": 0, "start": "2025-12-18 11:20:17.250057", "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.003200", "end": "2025-12-18 11:20:17.275668", "msg": "", "rc": 0, "start": "2025-12-18 11:20:17.272468", "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.007110", "end": "2025-12-18 11:20:17.297021", "msg": "", "rc": 0, "start": "2025-12-18 11:20:17.289911", "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.003160", "end": "2025-12-18 11:19:50.375188", "msg": "", "rc": 0, "start": "2025-12-18 11:19:50.372028", "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.003002", "end": "2025-12-18 11:19:43.597789", "msg": "", "rc": 0, "start": "2025-12-18 11:19:43.594787", "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.011664", "end": "2025-12-18 11:20:17.931091", "msg": "", "rc": 0, "start": "2025-12-18 11:20:17.919427", "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.012774", "end": "2025-12-18 11:20:17.985154", "msg": "", "rc": 0, "start": "2025-12-18 11:20:17.972380", "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.003099", "end": "2025-12-18 11:20:18.220677", "msg": "", "rc": 0, "start": "2025-12-18 11:20:18.217578", "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.003039", "end": "2025-12-18 11:19:46.749596", "msg": "", "rc": 0, "start": "2025-12-18 11:19:46.746557", "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-18 08:20:18.428175", "msg": "", "rc": 0, "start": "2025-12-18 08:20:18.424312", "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.003178", "end": "2025-12-18 11:19:53.685466", "msg": "", "rc": 0, "start": "2025-12-18 11:19:53.682288", "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.004245", "end": "2025-12-18 11:20:18.964727", "msg": "", "rc": 0, "start": "2025-12-18 11:20:18.960482", "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.002938", "end": "2025-12-18 11:20:18.634876", "msg": "", "rc": 0, "start": "2025-12-18 11:20:18.631938", "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.028366", "end": "2025-12-18 11:20:18.604151", "msg": "", "rc": 0, "start": "2025-12-18 11:20:18.575785", "stderr": "", "stderr_lines": [], "stdout": "35.6°C", "stdout_lines": ["35.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.004070", "end": "2025-12-18 11:20:19.133200", "msg": "", "rc": 0, "start": "2025-12-18 11:20:19.129130", "stderr": "", "stderr_lines": [], "stdout": "0.35", "stdout_lines": ["0.35"]}
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.004372", "end": "2025-12-18 11:20:19.140448", "msg": "", "rc": 0, "start": "2025-12-18 11:20:19.136076", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
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.004804", "end": "2025-12-18 11:20:19.148390", "msg": "", "rc": 0, "start": "2025-12-18 11:20:19.143586", "stderr": "", "stderr_lines": [], "stdout": "0.60", "stdout_lines": ["0.60"]}
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.005153", "end": "2025-12-18 11:20:19.157809", "msg": "", "rc": 0, "start": "2025-12-18 11:20:19.152656", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
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.005615", "end": "2025-12-18 11:20:19.173786", "msg": "", "rc": 0, "start": "2025-12-18 11:20:19.168171", "stderr": "", "stderr_lines": [], "stdout": "0.86", "stdout_lines": ["0.86"]}
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.004277", "end": "2025-12-18 11:19:52.225817", "msg": "", "rc": 0, "start": "2025-12-18 11:19:52.221540", "stderr": "", "stderr_lines": [], "stdout": "0.45", "stdout_lines": ["0.45"]}
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.005314", "end": "2025-12-18 11:19:45.482582", "msg": "", "rc": 0, "start": "2025-12-18 11:19:45.477268", "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.010182", "end": "2025-12-18 11:20:19.881933", "msg": "", "rc": 0, "start": "2025-12-18 11:20:19.871751", "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.011243", "end": "2025-12-18 11:20:19.900273", "msg": "", "rc": 0, "start": "2025-12-18 11:20:19.889030", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.10"]}
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.006055", "end": "2025-12-18 11:20:20.069543", "msg": "", "rc": 0, "start": "2025-12-18 11:20:20.063488", "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.005143", "end": "2025-12-18 11:19:48.648417", "msg": "", "rc": 0, "start": "2025-12-18 11:19:48.643274", "stderr": "", "stderr_lines": [], "stdout": "0.37", "stdout_lines": ["0.37"]}
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.006438", "end": "2025-12-18 08:20:20.336911", "msg": "", "rc": 0, "start": "2025-12-18 08:20:20.330473", "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.004589", "end": "2025-12-18 11:19:55.602375", "msg": "", "rc": 0, "start": "2025-12-18 11:19:55.597786", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
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.005274", "end": "2025-12-18 11:20:20.476464", "msg": "", "rc": 0, "start": "2025-12-18 11:20:20.471190", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
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.009018", "end": "2025-12-18 11:20:20.983647", "msg": "", "rc": 0, "start": "2025-12-18 11:20:20.974629", "stderr": "", "stderr_lines": [], "stdout": "1.46", "stdout_lines": ["1.46"]}
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.024270", "end": "2025-12-18 11:20:20.499860", "msg": "", "rc": 0, "start": "2025-12-18 11:20:20.475590", "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: 11:20:11 up 4 days, 52 min, 1 user, load average: 0.29, 0.31, 0.28\nDisk Usage: 22%\nMemory Usage: 22.8%\nCPU Load: 0.35\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:20:11 up 22 days, 22:11, 1 user, load average: 0.05, 0.07, 0.07\nDisk Usage: 23%\nMemory Usage: 77.7%\nCPU Load: 0.04\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:20:11 up 22 days, 22:31, 1 user, load average: 0.65, 0.51, 0.49\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.60\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:20:11 up 22 days, 23:44, 1 user, load average: 0.84, 0.68, 0.70\nDisk Usage: 14%\nMemory Usage: 58.6%\nCPU Load: 0.86\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:20:11 up 23 days, 30 min, 1 user, load average: 0.04, 0.06, 0.08\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: 11:20:12 up 16 days, 46 min, 1 user, load average: 0.27, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 20.3%\nCPU Load: 0.33\nCPU Temp: 35.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:20:12 up 195 days, 2:53, 1 user, load average: 0.11, 0.22, 0.20\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.10\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:20:12 up 195 days, 2:53, 1 user, load average: 0.16, 0.14, 0.10\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.22\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:19:44 up 11 days, 23:09, 0 user, load average: 0.49, 0.27, 0.15\nDisk Usage: 48%\nMemory Usage: 70.6%\nCPU Load: 0.45\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:19:37 up 18 days, 19:21, 0 user, load average: 0.03, 0.07, 0.03\nDisk Usage: 24%\nMemory Usage: 65.2%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:20:12 up 4 days, 51 min, 1 user, load average: 0.07, 0.07, 0.02\nDisk Usage: 1%\nMemory Usage: 36.6%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:19:41 up 21 days, 14:13, 0 user, load average: 0.40, 0.60, 0.54\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.37\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:19:47 up 18 days, 35 min, 0 user, load average: 0.21, 0.12, 0.10\nDisk Usage: 76%\nMemory Usage: 50.1%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:20AM up 22 days, 22:10, 1 user, load averages: 0.36, 0.31, 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: 11:20:12 up 4 days, 51 min, 1 user, load average: 0.17, 0.13, 0.08\nDisk Usage: 79%\nMemory Usage: 14.0%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:20:13 up 7:27, 1 user, load average: 1.36, 1.21, 1.18\nDisk Usage: 1%\nMemory Usage: 12.9%\nCPU Load: 1.46\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-18T16:20:21.907650+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `762349d48f514470adb73bab5cb0de13` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T16:25:00.002806+00:00 |
| **Fin** | 2025-12-18T16:25:28.129429+00:00 |
| **Durée** | 28.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: [hp.truenas.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: [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.003390", "end": "2025-12-18 11:25:15.887987", "msg": "", "rc": 0, "start": "2025-12-18 11:25:15.884597", "stderr": "", "stderr_lines": [], "stdout": " 11:25:15 up 22 days, 22:16, 1 user, load average: 0.24, 0.12, 0.10", "stdout_lines": [" 11:25:15 up 22 days, 22:16, 1 user, load average: 0.24, 0.12, 0.10"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003389", "end": "2025-12-18 11:25:15.902610", "msg": "", "rc": 0, "start": "2025-12-18 11:25:15.899221", "stderr": "", "stderr_lines": [], "stdout": " 11:25:15 up 23 days, 35 min, 1 user, load average: 0.09, 0.07, 0.08", "stdout_lines": [" 11:25:15 up 23 days, 35 min, 1 user, load average: 0.09, 0.07, 0.08"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003457", "end": "2025-12-18 11:25:15.895811", "msg": "", "rc": 0, "start": "2025-12-18 11:25:15.892354", "stderr": "", "stderr_lines": [], "stdout": " 11:25:15 up 22 days, 22:36, 1 user, load average: 0.81, 0.60, 0.53", "stdout_lines": [" 11:25:15 up 22 days, 22:36, 1 user, load average: 0.81, 0.60, 0.53"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003027", "end": "2025-12-18 11:25:15.914712", "msg": "", "rc": 0, "start": "2025-12-18 11:25:15.911685", "stderr": "", "stderr_lines": [], "stdout": " 11:25:15 up 4 days, 57 min, 1 user, load average: 0.17, 0.27, 0.27", "stdout_lines": [" 11:25:15 up 4 days, 57 min, 1 user, load average: 0.17, 0.27, 0.27"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003927", "end": "2025-12-18 11:25:15.920888", "msg": "", "rc": 0, "start": "2025-12-18 11:25:15.916961", "stderr": "", "stderr_lines": [], "stdout": " 11:25:15 up 22 days, 23:49, 1 user, load average: 0.62, 0.72, 0.72", "stdout_lines": [" 11:25:15 up 22 days, 23:49, 1 user, load average: 0.62, 0.72, 0.72"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002972", "end": "2025-12-18 11:24:49.160141", "msg": "", "rc": 0, "start": "2025-12-18 11:24:49.157169", "stderr": "", "stderr_lines": [], "stdout": " 11:24:49 up 11 days, 23:14, 0 user, load average: 0.06, 0.13, 0.12", "stdout_lines": [" 11:24:49 up 11 days, 23:14, 0 user, load average: 0.06, 0.13, 0.12"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003444", "end": "2025-12-18 11:24:42.425276", "msg": "", "rc": 0, "start": "2025-12-18 11:24:42.421832", "stderr": "", "stderr_lines": [], "stdout": " 11:24:42 up 18 days, 19:26, 0 user, load average: 0.03, 0.04, 0.01", "stdout_lines": [" 11:24:42 up 18 days, 19:26, 0 user, load average: 0.03, 0.04, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008547", "end": "2025-12-18 11:25:16.751068", "msg": "", "rc": 0, "start": "2025-12-18 11:25:16.742521", "stderr": "", "stderr_lines": [], "stdout": " 11:25:16 up 195 days, 2:58, 1 user, load average: 0.15, 0.13, 0.09", "stdout_lines": [" 11:25:16 up 195 days, 2:58, 1 user, load average: 0.15, 0.13, 0.09"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009638", "end": "2025-12-18 11:25:16.770277", "msg": "", "rc": 0, "start": "2025-12-18 11:25:16.760639", "stderr": "", "stderr_lines": [], "stdout": " 11:25:16 up 195 days, 2:58, 1 user, load average: 0.14, 0.16, 0.17", "stdout_lines": [" 11:25:16 up 195 days, 2:58, 1 user, load average: 0.14, 0.16, 0.17"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005038", "end": "2025-12-18 11:25:17.165938", "msg": "", "rc": 0, "start": "2025-12-18 11:25:17.160900", "stderr": "", "stderr_lines": [], "stdout": " 11:25:17 up 4 days, 56 min, 1 user, load average: 0.02, 0.04, 0.00", "stdout_lines": [" 11:25:17 up 4 days, 56 min, 1 user, load average: 0.02, 0.04, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003252", "end": "2025-12-18 11:24:45.697812", "msg": "", "rc": 0, "start": "2025-12-18 11:24:45.694560", "stderr": "", "stderr_lines": [], "stdout": " 11:24:45 up 21 days, 14:19, 0 user, load average: 0.44, 0.53, 0.53", "stdout_lines": [" 11:24:45 up 21 days, 14:19, 0 user, load average: 0.44, 0.53, 0.53"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004181", "end": "2025-12-18 08:25:17.326610", "msg": "", "rc": 0, "start": "2025-12-18 08:25:17.322429", "stderr": "", "stderr_lines": [], "stdout": " 8:25AM up 22 days, 22:15, 1 user, load averages: 0.20, 0.24, 0.23", "stdout_lines": [" 8:25AM up 22 days, 22:15, 1 user, load averages: 0.20, 0.24, 0.23"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003032", "end": "2025-12-18 11:24:52.558999", "msg": "", "rc": 0, "start": "2025-12-18 11:24:52.555967", "stderr": "", "stderr_lines": [], "stdout": " 11:24:52 up 18 days, 40 min, 0 user, load average: 0.27, 0.21, 0.13", "stdout_lines": [" 11:24:52 up 18 days, 40 min, 0 user, load average: 0.27, 0.21, 0.13"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019633", "end": "2025-12-18 11:25:17.430342", "msg": "", "rc": 0, "start": "2025-12-18 11:25:17.410709", "stderr": "", "stderr_lines": [], "stdout": " 11:25:17 up 16 days, 51 min, 1 user, load average: 0.09, 0.10, 0.09", "stdout_lines": [" 11:25:17 up 16 days, 51 min, 1 user, load average: 0.09, 0.10, 0.09"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003826", "end": "2025-12-18 11:25:17.704177", "msg": "", "rc": 0, "start": "2025-12-18 11:25:17.700351", "stderr": "", "stderr_lines": [], "stdout": " 11:25:17 up 4 days, 56 min, 1 user, load average: 0.01, 0.07, 0.07", "stdout_lines": [" 11:25:17 up 4 days, 56 min, 1 user, load average: 0.01, 0.07, 0.07"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.011281", "end": "2025-12-18 11:25:19.326636", "msg": "", "rc": 0, "start": "2025-12-18 11:25:19.315355", "stderr": "", "stderr_lines": [], "stdout": " 11:25:19 up 7:32, 1 user, load average: 2.33, 1.50, 1.28", "stdout_lines": [" 11:25:19 up 7:32, 1 user, load average: 2.33, 1.50, 1.28"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004358", "end": "2025-12-18 11:25:18.537621", "msg": "", "rc": 0, "start": "2025-12-18 11:25:18.533263", "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.004143", "end": "2025-12-18 11:25:18.544143", "msg": "", "rc": 0, "start": "2025-12-18 11:25:18.540000", "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.004612", "end": "2025-12-18 11:25:18.563073", "msg": "", "rc": 0, "start": "2025-12-18 11:25:18.558461", "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.005579", "end": "2025-12-18 11:25:18.613820", "msg": "", "rc": 0, "start": "2025-12-18 11:25:18.608241", "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.005019", "end": "2025-12-18 11:25:18.651441", "msg": "", "rc": 0, "start": "2025-12-18 11:25:18.646422", "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.005112", "end": "2025-12-18 11:24:51.905840", "msg": "", "rc": 0, "start": "2025-12-18 11:24:51.900728", "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.005658", "end": "2025-12-18 11:24:45.171763", "msg": "", "rc": 0, "start": "2025-12-18 11:24:45.166105", "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.010583", "end": "2025-12-18 11:25:19.559443", "msg": "", "rc": 0, "start": "2025-12-18 11:25:19.548860", "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.011722", "end": "2025-12-18 11:25:19.554563", "msg": "", "rc": 0, "start": "2025-12-18 11:25:19.542841", "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.007396", "end": "2025-12-18 11:25:19.861273", "msg": "", "rc": 0, "start": "2025-12-18 11:25:19.853877", "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.005457", "end": "2025-12-18 11:24:48.463114", "msg": "", "rc": 0, "start": "2025-12-18 11:24:48.457657", "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.005406", "end": "2025-12-18 08:25:20.154073", "msg": "", "rc": 0, "start": "2025-12-18 08:25:20.148667", "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.005104", "end": "2025-12-18 11:24:55.403225", "msg": "", "rc": 0, "start": "2025-12-18 11:24:55.398121", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.025363", "end": "2025-12-18 11:25:20.180725", "msg": "", "rc": 0, "start": "2025-12-18 11:25:20.155362", "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.005899", "end": "2025-12-18 11:25:20.408800", "msg": "", "rc": 0, "start": "2025-12-18 11:25:20.402901", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.050520", "end": "2025-12-18 11:25:20.768522", "msg": "", "rc": 0, "start": "2025-12-18 11:25:20.718002", "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.004116", "end": "2025-12-18 11:25:21.350316", "msg": "", "rc": 0, "start": "2025-12-18 11:25:21.346200", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.7%"]}
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.004362", "end": "2025-12-18 11:25:21.365280", "msg": "", "rc": 0, "start": "2025-12-18 11:25:21.360918", "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.004746", "end": "2025-12-18 11:25:21.378168", "msg": "", "rc": 0, "start": "2025-12-18 11:25:21.373422", "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.005066", "end": "2025-12-18 11:25:21.461613", "msg": "", "rc": 0, "start": "2025-12-18 11:25:21.456547", "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.005645", "end": "2025-12-18 11:25:21.453591", "msg": "", "rc": 0, "start": "2025-12-18 11:25:21.447946", "stderr": "", "stderr_lines": [], "stdout": "58.6%", "stdout_lines": ["58.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.003802", "end": "2025-12-18 11:24:54.681864", "msg": "", "rc": 0, "start": "2025-12-18 11:24:54.678062", "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.005880", "end": "2025-12-18 11:24:47.969764", "msg": "", "rc": 0, "start": "2025-12-18 11:24:47.963884", "stderr": "", "stderr_lines": [], "stdout": "65.0%", "stdout_lines": ["65.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.010883", "end": "2025-12-18 11:25:22.204088", "msg": "", "rc": 0, "start": "2025-12-18 11:25:22.193205", "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.011987", "end": "2025-12-18 11:25:22.262303", "msg": "", "rc": 0, "start": "2025-12-18 11:25:22.250316", "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.005842", "end": "2025-12-18 11:25:22.526426", "msg": "", "rc": 0, "start": "2025-12-18 11:25:22.520584", "stderr": "", "stderr_lines": [], "stdout": "36.5%", "stdout_lines": ["36.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.004213", "end": "2025-12-18 11:24:57.922490", "msg": "", "rc": 0, "start": "2025-12-18 11:24:57.918277", "stderr": "", "stderr_lines": [], "stdout": "49.5%", "stdout_lines": ["49.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.005054", "end": "2025-12-18 08:25:22.721584", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 08:25:22.716530", "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.003933", "end": "2025-12-18 11:24:51.136080", "msg": "", "rc": 0, "start": "2025-12-18 11:24:51.132147", "stderr": "", "stderr_lines": [], "stdout": "27.9%", "stdout_lines": ["27.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.005429", "end": "2025-12-18 11:25:22.947664", "msg": "", "rc": 0, "start": "2025-12-18 11:25:22.942235", "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.010165", "end": "2025-12-18 11:25:23.108436", "msg": "", "rc": 0, "start": "2025-12-18 11:25:23.098271", "stderr": "", "stderr_lines": [], "stdout": "12.8%", "stdout_lines": ["12.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.025720", "end": "2025-12-18 11:25:22.890078", "msg": "", "rc": 0, "start": "2025-12-18 11:25:22.864358", "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.005481", "end": "2025-12-18 11:25:23.435369", "msg": "", "rc": 0, "start": "2025-12-18 11:25:23.429888", "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.004811", "end": "2025-12-18 11:25:23.455007", "msg": "", "rc": 0, "start": "2025-12-18 11:25:23.450196", "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.005492", "end": "2025-12-18 11:25:23.455295", "msg": "", "rc": 0, "start": "2025-12-18 11:25:23.449803", "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.003361", "end": "2025-12-18 11:25:23.481853", "msg": "", "rc": 0, "start": "2025-12-18 11:25:23.478492", "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.006625", "end": "2025-12-18 11:25:23.500343", "msg": "", "rc": 0, "start": "2025-12-18 11:25:23.493718", "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.003236", "end": "2025-12-18 11:24:56.541962", "msg": "", "rc": 0, "start": "2025-12-18 11:24:56.538726", "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.003201", "end": "2025-12-18 11:24:49.799653", "msg": "", "rc": 0, "start": "2025-12-18 11:24:49.796452", "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.012078", "end": "2025-12-18 11:25:24.129246", "msg": "", "rc": 0, "start": "2025-12-18 11:25:24.117168", "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.021002", "end": "2025-12-18 11:25:24.195949", "msg": "", "rc": 0, "start": "2025-12-18 11:25:24.174947", "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.003149", "end": "2025-12-18 11:25:24.387390", "msg": "", "rc": 0, "start": "2025-12-18 11:25:24.384241", "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.002666", "end": "2025-12-18 11:24:52.947421", "msg": "", "rc": 0, "start": "2025-12-18 11:24:52.944755", "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.002648", "end": "2025-12-18 11:24:59.857917", "msg": "", "rc": 0, "start": "2025-12-18 11:24:59.855269", "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.003881", "end": "2025-12-18 08:25:24.662335", "msg": "", "rc": 0, "start": "2025-12-18 08:25:24.658454", "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-18 11:25:24.797514", "msg": "", "rc": 0, "start": "2025-12-18 11:25:24.794622", "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.003966", "end": "2025-12-18 11:25:25.050545", "msg": "", "rc": 0, "start": "2025-12-18 11:25:25.046579", "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.028506", "end": "2025-12-18 11:25:24.832664", "msg": "", "rc": 0, "start": "2025-12-18 11:25:24.804158", "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.004158", "end": "2025-12-18 11:25:25.340515", "msg": "", "rc": 0, "start": "2025-12-18 11:25:25.336357", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
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.004153", "end": "2025-12-18 11:25:25.365217", "msg": "", "rc": 0, "start": "2025-12-18 11:25:25.361064", "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.005549", "end": "2025-12-18 11:25:25.389156", "msg": "", "rc": 0, "start": "2025-12-18 11:25:25.383607", "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.005984", "end": "2025-12-18 11:25:25.394135", "msg": "", "rc": 0, "start": "2025-12-18 11:25:25.388151", "stderr": "", "stderr_lines": [], "stdout": "0.83", "stdout_lines": ["0.83"]}
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.009808", "end": "2025-12-18 11:25:25.427332", "msg": "", "rc": 0, "start": "2025-12-18 11:25:25.417524", "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.006437", "end": "2025-12-18 11:24:58.473297", "msg": "", "rc": 0, "start": "2025-12-18 11:24:58.466860", "stderr": "", "stderr_lines": [], "stdout": "0.13", "stdout_lines": ["0.13"]}
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.005299", "end": "2025-12-18 11:24:51.782194", "msg": "", "rc": 0, "start": "2025-12-18 11:24:51.776895", "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.012478", "end": "2025-12-18 11:25:26.122116", "msg": "", "rc": 0, "start": "2025-12-18 11:25:26.109638", "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.012638", "end": "2025-12-18 11:25:26.149623", "msg": "", "rc": 0, "start": "2025-12-18 11:25:26.136985", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
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.005631", "end": "2025-12-18 11:25:26.313764", "msg": "", "rc": 0, "start": "2025-12-18 11:25:26.308133", "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.005039", "end": "2025-12-18 11:24:54.970036", "msg": "", "rc": 0, "start": "2025-12-18 11:24:54.964997", "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.005852", "end": "2025-12-18 08:25:26.605054", "msg": "", "rc": 0, "start": "2025-12-18 08:25:26.599202", "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.004079", "end": "2025-12-18 11:25:01.841828", "msg": "", "rc": 0, "start": "2025-12-18 11:25:01.837749", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
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.005263", "end": "2025-12-18 11:25:26.723762", "msg": "", "rc": 0, "start": "2025-12-18 11:25:26.718499", "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.009292", "end": "2025-12-18 11:25:27.215554", "msg": "", "rc": 0, "start": "2025-12-18 11:25:27.206262", "stderr": "", "stderr_lines": [], "stdout": "2.81", "stdout_lines": ["2.81"]}
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.026053", "end": "2025-12-18 11:25:26.882488", "msg": "", "rc": 0, "start": "2025-12-18 11:25:26.856435", "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: 11:25:15 up 4 days, 57 min, 1 user, load average: 0.17, 0.27, 0.27\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 0.29\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:25:15 up 22 days, 22:16, 1 user, load average: 0.24, 0.12, 0.10\nDisk Usage: 23%\nMemory Usage: 77.6%\nCPU Load: 0.20\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:25:15 up 22 days, 22:36, 1 user, load average: 0.81, 0.60, 0.53\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.83\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:25:15 up 22 days, 23:49, 1 user, load average: 0.62, 0.72, 0.72\nDisk Usage: 14%\nMemory Usage: 58.6%\nCPU Load: 0.68\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:25:15 up 23 days, 35 min, 1 user, load average: 0.09, 0.07, 0.08\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: 11:25:17 up 16 days, 51 min, 1 user, load average: 0.09, 0.10, 0.09\nDisk Usage: 21%\nMemory Usage: 19.9%\nCPU Load: 0.24\nCPU Temp: 35.2°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:25:16 up 195 days, 2:58, 1 user, load average: 0.14, 0.16, 0.17\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.12\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:25:16 up 195 days, 2:58, 1 user, load average: 0.15, 0.13, 0.09\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.14\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:24:49 up 11 days, 23:14, 0 user, load average: 0.06, 0.13, 0.12\nDisk Usage: 48%\nMemory Usage: 71.1%\nCPU Load: 0.13\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:24:42 up 18 days, 19:26, 0 user, load average: 0.03, 0.04, 0.01\nDisk Usage: 24%\nMemory Usage: 65.0%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:25:17 up 4 days, 56 min, 1 user, load average: 0.02, 0.04, 0.00\nDisk Usage: 1%\nMemory Usage: 36.5%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:24:45 up 21 days, 14:19, 0 user, load average: 0.44, 0.53, 0.53\nDisk Usage: 28%\nMemory Usage: 27.9%\nCPU Load: 0.40\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:24:52 up 18 days, 40 min, 0 user, load average: 0.27, 0.21, 0.13\nDisk Usage: 76%\nMemory Usage: 49.5%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:25AM up 22 days, 22:15, 1 user, load averages: 0.20, 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: 11:25:17 up 4 days, 56 min, 1 user, load average: 0.01, 0.07, 0.07\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: 11:25:19 up 7:32, 1 user, load average: 2.33, 1.50, 1.28\nDisk Usage: 1%\nMemory Usage: 12.8%\nCPU Load: 2.81\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-18T16:25:28.197701+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `f4365b86c2f9419c9ddaffbdaf96b2e3` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T16:40:00.001801+00:00 |
| **Fin** | 2025-12-18T16:40:22.259802+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: [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: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003166", "end": "2025-12-18 11:40:11.240563", "msg": "", "rc": 0, "start": "2025-12-18 11:40:11.237397", "stderr": "", "stderr_lines": [], "stdout": " 11:40:11 up 22 days, 22:51, 1 user, load average: 0.89, 0.76, 0.64", "stdout_lines": [" 11:40:11 up 22 days, 22:51, 1 user, load average: 0.89, 0.76, 0.64"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003830", "end": "2025-12-18 11:40:11.248808", "msg": "", "rc": 0, "start": "2025-12-18 11:40:11.244978", "stderr": "", "stderr_lines": [], "stdout": " 11:40:11 up 23 days, 50 min, 1 user, load average: 0.09, 0.06, 0.06", "stdout_lines": [" 11:40:11 up 23 days, 50 min, 1 user, load average: 0.09, 0.06, 0.06"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002802", "end": "2025-12-18 11:40:11.272235", "msg": "", "rc": 0, "start": "2025-12-18 11:40:11.269433", "stderr": "", "stderr_lines": [], "stdout": " 11:40:11 up 4 days, 1:12, 1 user, load average: 0.21, 0.25, 0.26", "stdout_lines": [" 11:40:11 up 4 days, 1:12, 1 user, load average: 0.21, 0.25, 0.26"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003872", "end": "2025-12-18 11:40:11.264997", "msg": "", "rc": 0, "start": "2025-12-18 11:40:11.261125", "stderr": "", "stderr_lines": [], "stdout": " 11:40:11 up 23 days, 4 min, 1 user, load average: 0.74, 0.71, 0.67", "stdout_lines": [" 11:40:11 up 23 days, 4 min, 1 user, load average: 0.74, 0.71, 0.67"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002998", "end": "2025-12-18 11:39:44.325676", "msg": "", "rc": 0, "start": "2025-12-18 11:39:44.322678", "stderr": "", "stderr_lines": [], "stdout": " 11:39:44 up 11 days, 23:29, 0 user, load average: 0.10, 0.10, 0.09", "stdout_lines": [" 11:39:44 up 11 days, 23:29, 0 user, load average: 0.10, 0.10, 0.09"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008517", "end": "2025-12-18 11:40:11.903358", "msg": "", "rc": 0, "start": "2025-12-18 11:40:11.894841", "stderr": "", "stderr_lines": [], "stdout": " 11:40:11 up 195 days, 3:13, 1 user, load average: 0.47, 0.24, 0.14", "stdout_lines": [" 11:40:11 up 195 days, 3:13, 1 user, load average: 0.47, 0.24, 0.14"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009237", "end": "2025-12-18 11:40:11.942425", "msg": "", "rc": 0, "start": "2025-12-18 11:40:11.933188", "stderr": "", "stderr_lines": [], "stdout": " 11:40:11 up 195 days, 3:13, 1 user, load average: 0.24, 0.17, 0.16", "stdout_lines": [" 11:40:11 up 195 days, 3:13, 1 user, load average: 0.24, 0.17, 0.16"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004485", "end": "2025-12-18 11:40:12.232301", "msg": "", "rc": 0, "start": "2025-12-18 11:40:11.227816", "stderr": "", "stderr_lines": [], "stdout": " 11:40:11 up 22 days, 22:31, 1 user, load average: 0.08, 0.06, 0.07", "stdout_lines": [" 11:40:11 up 22 days, 22:31, 1 user, load average: 0.08, 0.06, 0.07"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003580", "end": "2025-12-18 11:39:37.993445", "msg": "", "rc": 0, "start": "2025-12-18 11:39:37.989865", "stderr": "", "stderr_lines": [], "stdout": " 11:39:37 up 18 days, 19:41, 0 user, load average: 0.07, 0.02, 0.00", "stdout_lines": [" 11:39:37 up 18 days, 19:41, 0 user, load average: 0.07, 0.02, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004854", "end": "2025-12-18 11:40:12.395905", "msg": "", "rc": 0, "start": "2025-12-18 11:40:12.391051", "stderr": "", "stderr_lines": [], "stdout": " 11:40:12 up 4 days, 1:11, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 11:40:12 up 4 days, 1:11, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003054", "end": "2025-12-18 11:39:40.905531", "msg": "", "rc": 0, "start": "2025-12-18 11:39:40.902477", "stderr": "", "stderr_lines": [], "stdout": " 11:39:40 up 21 days, 14:33, 0 user, load average: 1.09, 0.60, 0.50", "stdout_lines": [" 11:39:40 up 21 days, 14:33, 0 user, load average: 1.09, 0.60, 0.50"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004242", "end": "2025-12-18 08:40:12.663447", "msg": "", "rc": 0, "start": "2025-12-18 08:40:12.659205", "stderr": "", "stderr_lines": [], "stdout": " 8:40AM up 22 days, 22:30, 1 user, load averages: 0.44, 0.24, 0.22", "stdout_lines": [" 8:40AM up 22 days, 22:30, 1 user, load averages: 0.44, 0.24, 0.22"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005392", "end": "2025-12-18 11:39:47.905222", "msg": "", "rc": 0, "start": "2025-12-18 11:39:47.899830", "stderr": "", "stderr_lines": [], "stdout": " 11:39:47 up 18 days, 55 min, 0 user, load average: 0.17, 0.18, 0.16", "stdout_lines": [" 11:39:47 up 18 days, 55 min, 0 user, load average: 0.17, 0.18, 0.16"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019485", "end": "2025-12-18 11:40:12.606443", "msg": "", "rc": 0, "start": "2025-12-18 11:40:12.586958", "stderr": "", "stderr_lines": [], "stdout": " 11:40:12 up 16 days, 1:06, 1 user, load average: 0.17, 0.06, 0.05", "stdout_lines": [" 11:40:12 up 16 days, 1:06, 1 user, load average: 0.17, 0.06, 0.05"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003744", "end": "2025-12-18 11:40:12.820428", "msg": "", "rc": 0, "start": "2025-12-18 11:40:12.816684", "stderr": "", "stderr_lines": [], "stdout": " 11:40:12 up 4 days, 1:11, 1 user, load average: 0.10, 0.10, 0.06", "stdout_lines": [" 11:40:12 up 4 days, 1:11, 1 user, load average: 0.10, 0.10, 0.06"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007018", "end": "2025-12-18 11:40:13.153209", "msg": "", "rc": 0, "start": "2025-12-18 11:40:13.146191", "stderr": "", "stderr_lines": [], "stdout": " 11:40:13 up 7:48, 1 user, load average: 1.53, 1.10, 1.04", "stdout_lines": [" 11:40:13 up 7:48, 1 user, load average: 1.53, 1.10, 1.04"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004250", "end": "2025-12-18 11:40:13.256706", "msg": "", "rc": 0, "start": "2025-12-18 11:40:13.252456", "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.004354", "end": "2025-12-18 11:40:13.279014", "msg": "", "rc": 0, "start": "2025-12-18 11:40:13.274660", "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.004633", "end": "2025-12-18 11:40:13.288299", "msg": "", "rc": 0, "start": "2025-12-18 11:40:13.283666", "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.004616", "end": "2025-12-18 11:40:13.298427", "msg": "", "rc": 0, "start": "2025-12-18 11:40:13.293811", "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.005490", "end": "2025-12-18 11:40:13.324122", "msg": "", "rc": 0, "start": "2025-12-18 11:40:13.318632", "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.005504", "end": "2025-12-18 11:39:46.349129", "msg": "", "rc": 0, "start": "2025-12-18 11:39:46.343625", "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.006535", "end": "2025-12-18 11:39:39.645319", "msg": "", "rc": 0, "start": "2025-12-18 11:39:39.638784", "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-18 11:40:14.009346", "msg": "", "rc": 0, "start": "2025-12-18 11:40:13.998842", "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.011519", "end": "2025-12-18 11:40:14.027856", "msg": "", "rc": 0, "start": "2025-12-18 11:40:14.016337", "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.006012", "end": "2025-12-18 11:40:14.208497", "msg": "", "rc": 0, "start": "2025-12-18 11:40:14.202485", "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.005345", "end": "2025-12-18 11:39:42.840503", "msg": "", "rc": 0, "start": "2025-12-18 11:39:42.835158", "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.005331", "end": "2025-12-18 08:40:14.487985", "msg": "", "rc": 0, "start": "2025-12-18 08:40:14.482654", "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.005045", "end": "2025-12-18 11:39:49.747756", "msg": "", "rc": 0, "start": "2025-12-18 11:39:49.742711", "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.005349", "end": "2025-12-18 11:40:14.637173", "msg": "", "rc": 0, "start": "2025-12-18 11:40:14.631824", "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.025008", "end": "2025-12-18 11:40:14.634364", "msg": "", "rc": 0, "start": "2025-12-18 11:40:14.609356", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.022114", "end": "2025-12-18 11:40:15.127827", "msg": "", "rc": 0, "start": "2025-12-18 11:40:15.105713", "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.004317", "end": "2025-12-18 11:40:15.167505", "msg": "", "rc": 0, "start": "2025-12-18 11:40:15.163188", "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.004208", "end": "2025-12-18 11:40:15.184291", "msg": "", "rc": 0, "start": "2025-12-18 11:40:15.180083", "stderr": "", "stderr_lines": [], "stdout": "22.8%", "stdout_lines": ["22.8%"]}
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.004800", "end": "2025-12-18 11:40:15.183930", "msg": "", "rc": 0, "start": "2025-12-18 11:40:15.179130", "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.004794", "end": "2025-12-18 11:40:15.208848", "msg": "", "rc": 0, "start": "2025-12-18 11:40:15.204054", "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.018644", "end": "2025-12-18 11:40:15.246331", "msg": "", "rc": 0, "start": "2025-12-18 11:40:15.227687", "stderr": "", "stderr_lines": [], "stdout": "58.5%", "stdout_lines": ["58.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.004110", "end": "2025-12-18 11:39:48.277914", "msg": "", "rc": 0, "start": "2025-12-18 11:39:48.273804", "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.005486", "end": "2025-12-18 11:39:41.553284", "msg": "", "rc": 0, "start": "2025-12-18 11:39:41.547798", "stderr": "", "stderr_lines": [], "stdout": "65.0%", "stdout_lines": ["65.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.010919", "end": "2025-12-18 11:40:15.850873", "msg": "", "rc": 0, "start": "2025-12-18 11:40:15.839954", "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.013505", "end": "2025-12-18 11:40:15.902764", "msg": "", "rc": 0, "start": "2025-12-18 11:40:15.889259", "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.007057", "end": "2025-12-18 11:40:16.130650", "msg": "", "rc": 0, "start": "2025-12-18 11:40:16.123593", "stderr": "", "stderr_lines": [], "stdout": "36.5%", "stdout_lines": ["36.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-18 11:39:44.728599", "msg": "", "rc": 0, "start": "2025-12-18 11:39:44.724274", "stderr": "", "stderr_lines": [], "stdout": "27.0%", "stdout_lines": ["27.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.005205", "end": "2025-12-18 08:40:16.363164", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 08:40:16.357959", "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.011390", "end": "2025-12-18 11:39:51.632129", "msg": "", "rc": 0, "start": "2025-12-18 11:39:51.620739", "stderr": "", "stderr_lines": [], "stdout": "50.2%", "stdout_lines": ["50.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.005430", "end": "2025-12-18 11:40:16.534759", "msg": "", "rc": 0, "start": "2025-12-18 11:40:16.529329", "stderr": "", "stderr_lines": [], "stdout": "14.2%", "stdout_lines": ["14.2%"]}
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.010903", "end": "2025-12-18 11:40:17.062482", "msg": "", "rc": 0, "start": "2025-12-18 11:40:17.051579", "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.028083", "end": "2025-12-18 11:40:16.681807", "msg": "", "rc": 0, "start": "2025-12-18 11:40:16.653724", "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.005327", "end": "2025-12-18 11:40:17.214770", "msg": "", "rc": 0, "start": "2025-12-18 11:40:17.209443", "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.005747", "end": "2025-12-18 11:40:17.230826", "msg": "", "rc": 0, "start": "2025-12-18 11:40:17.225079", "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.004868", "end": "2025-12-18 11:40:17.240124", "msg": "", "rc": 0, "start": "2025-12-18 11:40:17.235256", "stderr": "", "stderr_lines": [], "stdout": "44.0°C", "stdout_lines": ["44.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.003374", "end": "2025-12-18 11:40:17.256950", "msg": "", "rc": 0, "start": "2025-12-18 11:40:17.253576", "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.006518", "end": "2025-12-18 11:40:17.276404", "msg": "", "rc": 0, "start": "2025-12-18 11:40:17.269886", "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.002933", "end": "2025-12-18 11:39:50.291605", "msg": "", "rc": 0, "start": "2025-12-18 11:39:50.288672", "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-18 11:39:43.542896", "msg": "", "rc": 0, "start": "2025-12-18 11:39:43.540075", "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.011820", "end": "2025-12-18 11:40:17.895460", "msg": "", "rc": 0, "start": "2025-12-18 11:40:17.883640", "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.012904", "end": "2025-12-18 11:40:17.933946", "msg": "", "rc": 0, "start": "2025-12-18 11:40:17.921042", "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.003170", "end": "2025-12-18 11:40:18.162615", "msg": "", "rc": 0, "start": "2025-12-18 11:40:18.159445", "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.003079", "end": "2025-12-18 11:39:46.718262", "msg": "", "rc": 0, "start": "2025-12-18 11:39:46.715183", "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.002783", "end": "2025-12-18 11:39:53.590096", "msg": "", "rc": 0, "start": "2025-12-18 11:39:53.587313", "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.004143", "end": "2025-12-18 08:40:18.390902", "msg": "", "rc": 0, "start": "2025-12-18 08:40:18.386759", "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.002895", "end": "2025-12-18 11:40:18.582315", "msg": "", "rc": 0, "start": "2025-12-18 11:40:18.579420", "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.004608", "end": "2025-12-18 11:40:19.129995", "msg": "", "rc": 0, "start": "2025-12-18 11:40:19.125387", "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.031801", "end": "2025-12-18 11:40:18.892323", "msg": "", "rc": 0, "start": "2025-12-18 11:40:18.860522", "stderr": "", "stderr_lines": [], "stdout": "37.2°C", "stdout_lines": ["37.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.004207", "end": "2025-12-18 11:40:19.419347", "msg": "", "rc": 0, "start": "2025-12-18 11:40:19.415140", "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.004145", "end": "2025-12-18 11:40:19.453956", "msg": "", "rc": 0, "start": "2025-12-18 11:40:19.449811", "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.004611", "end": "2025-12-18 11:40:19.463506", "msg": "", "rc": 0, "start": "2025-12-18 11:40:19.458895", "stderr": "", "stderr_lines": [], "stdout": "0.98", "stdout_lines": ["0.98"]}
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.005730", "end": "2025-12-18 11:40:19.484379", "msg": "", "rc": 0, "start": "2025-12-18 11:40:19.478649", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
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.005713", "end": "2025-12-18 11:40:19.495161", "msg": "", "rc": 0, "start": "2025-12-18 11:40:19.489448", "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.003995", "end": "2025-12-18 11:39:52.533765", "msg": "", "rc": 0, "start": "2025-12-18 11:39:52.529770", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
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.005557", "end": "2025-12-18 11:39:45.771961", "msg": "", "rc": 0, "start": "2025-12-18 11:39:45.766404", "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.010145", "end": "2025-12-18 11:40:20.195139", "msg": "", "rc": 0, "start": "2025-12-18 11:40:20.184994", "stderr": "", "stderr_lines": [], "stdout": "0.47", "stdout_lines": ["0.47"]}
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-18 11:40:20.228353", "msg": "", "rc": 0, "start": "2025-12-18 11:40:20.217177", "stderr": "", "stderr_lines": [], "stdout": "0.46", "stdout_lines": ["0.46"]}
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-18 11:40:20.358408", "msg": "", "rc": 0, "start": "2025-12-18 11:40:20.352761", "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.004881", "end": "2025-12-18 11:39:48.923255", "msg": "", "rc": 0, "start": "2025-12-18 11:39:48.918374", "stderr": "", "stderr_lines": [], "stdout": "1.00", "stdout_lines": ["1.00"]}
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.004410", "end": "2025-12-18 11:39:55.890352", "msg": "", "rc": 0, "start": "2025-12-18 11:39:55.885942", "stderr": "", "stderr_lines": [], "stdout": "0.15", "stdout_lines": ["0.15"]}
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.005751", "end": "2025-12-18 08:40:20.681278", "msg": "", "rc": 0, "start": "2025-12-18 08:40:20.675527", "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.005261", "end": "2025-12-18 11:40:20.780633", "msg": "", "rc": 0, "start": "2025-12-18 11:40:20.775372", "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.008218", "end": "2025-12-18 11:40:21.410647", "msg": "", "rc": 0, "start": "2025-12-18 11:40:21.402429", "stderr": "", "stderr_lines": [], "stdout": "1.65", "stdout_lines": ["1.65"]}
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.024587", "end": "2025-12-18 11:40:20.788735", "msg": "", "rc": 0, "start": "2025-12-18 11:40:20.764148", "stderr": "", "stderr_lines": [], "stdout": "0.32", "stdout_lines": ["0.32"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:11 up 22 days, 22:31, 1 user, load average: 0.08, 0.06, 0.07\nDisk Usage: 23%\nMemory Usage: 77.6%\nCPU Load: 0.14\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:11 up 4 days, 1:12, 1 user, load average: 0.21, 0.25, 0.26\nDisk Usage: 22%\nMemory Usage: 22.8%\nCPU Load: 0.27\nCPU Temp: 44.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:11 up 22 days, 22:51, 1 user, load average: 0.89, 0.76, 0.64\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.98\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:11 up 23 days, 4 min, 1 user, load average: 0.74, 0.71, 0.67\nDisk Usage: 14%\nMemory Usage: 58.5%\nCPU Load: 0.76\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:11 up 23 days, 50 min, 1 user, load average: 0.09, 0.06, 0.06\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:12 up 16 days, 1:06, 1 user, load average: 0.17, 0.06, 0.05\nDisk Usage: 21%\nMemory Usage: 20.7%\nCPU Load: 0.32\nCPU Temp: 37.2°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:11 up 195 days, 3:13, 1 user, load average: 0.24, 0.17, 0.16\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.46\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:11 up 195 days, 3:13, 1 user, load average: 0.47, 0.24, 0.14\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.47\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:39:44 up 11 days, 23:29, 0 user, load average: 0.10, 0.10, 0.09\nDisk Usage: 48%\nMemory Usage: 70.9%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:39:37 up 18 days, 19:41, 0 user, load average: 0.07, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 65.0%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:12 up 4 days, 1:11, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 1%\nMemory Usage: 36.5%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:39:40 up 21 days, 14:33, 0 user, load average: 1.09, 0.60, 0.50\nDisk Usage: 28%\nMemory Usage: 27.0%\nCPU Load: 1.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:39:47 up 18 days, 55 min, 0 user, load average: 0.17, 0.18, 0.16\nDisk Usage: 76%\nMemory Usage: 50.2%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:40AM up 22 days, 22:30, 1 user, load averages: 0.44, 0.24, 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: 11:40:12 up 4 days, 1:11, 1 user, load average: 0.10, 0.10, 0.06\nDisk Usage: 79%\nMemory Usage: 14.2%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:40:13 up 7:48, 1 user, load average: 1.53, 1.10, 1.04\nDisk Usage: 1%\nMemory Usage: 12.4%\nCPU Load: 1.65\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-18T16:40:22.315784+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `ea2dd63d89a94d8a9ec67b888e70cb57` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T16:45:00.002747+00:00 |
| **Fin** | 2025-12-18T16:45:22.359029+00:00 |
| **Durée** | 22.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: [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: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003276", "end": "2025-12-18 11:45:11.738600", "msg": "", "rc": 0, "start": "2025-12-18 11:45:11.735324", "stderr": "", "stderr_lines": [], "stdout": " 11:45:11 up 22 days, 22:56, 1 user, load average: 0.57, 0.61, 0.60", "stdout_lines": [" 11:45:11 up 22 days, 22:56, 1 user, load average: 0.57, 0.61, 0.60"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003600", "end": "2025-12-18 11:45:11.749228", "msg": "", "rc": 0, "start": "2025-12-18 11:45:11.745628", "stderr": "", "stderr_lines": [], "stdout": " 11:45:11 up 23 days, 55 min, 1 user, load average: 0.08, 0.05, 0.05", "stdout_lines": [" 11:45:11 up 23 days, 55 min, 1 user, load average: 0.08, 0.05, 0.05"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002867", "end": "2025-12-18 11:45:11.772813", "msg": "", "rc": 0, "start": "2025-12-18 11:45:11.769946", "stderr": "", "stderr_lines": [], "stdout": " 11:45:11 up 4 days, 1:17, 1 user, load average: 0.32, 0.30, 0.28", "stdout_lines": [" 11:45:11 up 4 days, 1:17, 1 user, load average: 0.32, 0.30, 0.28"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004254", "end": "2025-12-18 11:45:11.780311", "msg": "", "rc": 0, "start": "2025-12-18 11:45:11.776057", "stderr": "", "stderr_lines": [], "stdout": " 11:45:11 up 23 days, 9 min, 1 user, load average: 0.87, 0.74, 0.69", "stdout_lines": [" 11:45:11 up 23 days, 9 min, 1 user, load average: 0.87, 0.74, 0.69"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002743", "end": "2025-12-18 11:44:44.805662", "msg": "", "rc": 0, "start": "2025-12-18 11:44:44.802919", "stderr": "", "stderr_lines": [], "stdout": " 11:44:44 up 11 days, 23:34, 0 user, load average: 0.03, 0.08, 0.08", "stdout_lines": [" 11:44:44 up 11 days, 23:34, 0 user, load average: 0.03, 0.08, 0.08"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008419", "end": "2025-12-18 11:45:12.426426", "msg": "", "rc": 0, "start": "2025-12-18 11:45:12.418007", "stderr": "", "stderr_lines": [], "stdout": " 11:45:12 up 195 days, 3:18, 1 user, load average: 0.21, 0.19, 0.14", "stdout_lines": [" 11:45:12 up 195 days, 3:18, 1 user, load average: 0.21, 0.19, 0.14"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009172", "end": "2025-12-18 11:45:12.446600", "msg": "", "rc": 0, "start": "2025-12-18 11:45:12.437428", "stderr": "", "stderr_lines": [], "stdout": " 11:45:12 up 195 days, 3:18, 1 user, load average: 0.25, 0.18, 0.17", "stdout_lines": [" 11:45:12 up 195 days, 3:18, 1 user, load average: 0.25, 0.18, 0.17"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004383", "end": "2025-12-18 11:45:12.732831", "msg": "", "rc": 0, "start": "2025-12-18 11:45:11.728448", "stderr": "", "stderr_lines": [], "stdout": " 11:45:11 up 22 days, 22:36, 1 user, load average: 0.08, 0.05, 0.07", "stdout_lines": [" 11:45:11 up 22 days, 22:36, 1 user, load average: 0.08, 0.05, 0.07"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003541", "end": "2025-12-18 11:44:38.464552", "msg": "", "rc": 0, "start": "2025-12-18 11:44:38.461011", "stderr": "", "stderr_lines": [], "stdout": " 11:44:38 up 18 days, 19:46, 0 user, load average: 0.16, 0.04, 0.01", "stdout_lines": [" 11:44:38 up 18 days, 19:46, 0 user, load average: 0.16, 0.04, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004768", "end": "2025-12-18 11:45:12.919790", "msg": "", "rc": 0, "start": "2025-12-18 11:45:12.915022", "stderr": "", "stderr_lines": [], "stdout": " 11:45:12 up 4 days, 1:16, 1 user, load average: 0.20, 0.10, 0.03", "stdout_lines": [" 11:45:12 up 4 days, 1:16, 1 user, load average: 0.20, 0.10, 0.03"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002935", "end": "2025-12-18 11:44:41.382656", "msg": "", "rc": 0, "start": "2025-12-18 11:44:41.379721", "stderr": "", "stderr_lines": [], "stdout": " 11:44:41 up 21 days, 14:38, 0 user, load average: 0.31, 0.44, 0.45", "stdout_lines": [" 11:44:41 up 21 days, 14:38, 0 user, load average: 0.31, 0.44, 0.45"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004173", "end": "2025-12-18 08:45:13.134329", "msg": "", "rc": 0, "start": "2025-12-18 08:45:13.130156", "stderr": "", "stderr_lines": [], "stdout": " 8:45AM up 22 days, 22:35, 1 user, load averages: 0.34, 0.29, 0.24", "stdout_lines": [" 8:45AM up 22 days, 22:35, 1 user, load averages: 0.34, 0.29, 0.24"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004377", "end": "2025-12-18 11:44:48.380632", "msg": "", "rc": 0, "start": "2025-12-18 11:44:48.376255", "stderr": "", "stderr_lines": [], "stdout": " 11:44:48 up 18 days, 1:00, 0 user, load average: 0.11, 0.14, 0.16", "stdout_lines": [" 11:44:48 up 18 days, 1:00, 0 user, load average: 0.11, 0.14, 0.16"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019451", "end": "2025-12-18 11:45:13.113163", "msg": "", "rc": 0, "start": "2025-12-18 11:45:13.093712", "stderr": "", "stderr_lines": [], "stdout": " 11:45:13 up 16 days, 1:11, 1 user, load average: 0.12, 0.09, 0.07", "stdout_lines": [" 11:45:13 up 16 days, 1:11, 1 user, load average: 0.12, 0.09, 0.07"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008184", "end": "2025-12-18 11:45:14.185137", "msg": "", "rc": 0, "start": "2025-12-18 11:45:14.176953", "stderr": "", "stderr_lines": [], "stdout": " 11:45:14 up 7:53, 1 user, load average: 1.30, 1.13, 1.06", "stdout_lines": [" 11:45:14 up 7:53, 1 user, load average: 1.30, 1.13, 1.06"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004253", "end": "2025-12-18 11:45:13.320552", "msg": "", "rc": 0, "start": "2025-12-18 11:45:13.316299", "stderr": "", "stderr_lines": [], "stdout": " 11:45:13 up 4 days, 1:16, 1 user, load average: 0.02, 0.08, 0.07", "stdout_lines": [" 11:45:13 up 4 days, 1:16, 1 user, load average: 0.02, 0.08, 0.07"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004145", "end": "2025-12-18 11:45:13.701503", "msg": "", "rc": 0, "start": "2025-12-18 11:45:13.697358", "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.004036", "end": "2025-12-18 11:45:13.730517", "msg": "", "rc": 0, "start": "2025-12-18 11:45:13.726481", "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.006516", "end": "2025-12-18 11:45:13.740052", "msg": "", "rc": 0, "start": "2025-12-18 11:45:13.733536", "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.004851", "end": "2025-12-18 11:45:13.762715", "msg": "", "rc": 0, "start": "2025-12-18 11:45:13.757864", "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.005711", "end": "2025-12-18 11:45:13.768640", "msg": "", "rc": 0, "start": "2025-12-18 11:45:13.762929", "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.004664", "end": "2025-12-18 11:44:46.797489", "msg": "", "rc": 0, "start": "2025-12-18 11:44:46.792825", "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.005754", "end": "2025-12-18 11:44:40.061433", "msg": "", "rc": 0, "start": "2025-12-18 11:44:40.055679", "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.010669", "end": "2025-12-18 11:45:14.444032", "msg": "", "rc": 0, "start": "2025-12-18 11:45:14.433363", "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.011653", "end": "2025-12-18 11:45:14.470432", "msg": "", "rc": 0, "start": "2025-12-18 11:45:14.458779", "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.005736", "end": "2025-12-18 11:45:14.661860", "msg": "", "rc": 0, "start": "2025-12-18 11:45:14.656124", "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.007682", "end": "2025-12-18 11:44:43.248062", "msg": "", "rc": 0, "start": "2025-12-18 11:44:43.240380", "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.005388", "end": "2025-12-18 08:45:14.909635", "msg": "", "rc": 0, "start": "2025-12-18 08:45:14.904247", "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.005964", "end": "2025-12-18 11:44:50.180847", "msg": "", "rc": 0, "start": "2025-12-18 11:44:50.174883", "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.005369", "end": "2025-12-18 11:45:15.073503", "msg": "", "rc": 0, "start": "2025-12-18 11:45:15.068134", "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.025039", "end": "2025-12-18 11:45:15.074794", "msg": "", "rc": 0, "start": "2025-12-18 11:45:15.049755", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.022224", "end": "2025-12-18 11:45:16.167696", "msg": "", "rc": 0, "start": "2025-12-18 11:45:16.145472", "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.004227", "end": "2025-12-18 11:45:15.655000", "msg": "", "rc": 0, "start": "2025-12-18 11:45:15.650773", "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.004088", "end": "2025-12-18 11:45:15.677582", "msg": "", "rc": 0, "start": "2025-12-18 11:45:15.673494", "stderr": "", "stderr_lines": [], "stdout": "22.8%", "stdout_lines": ["22.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.004803", "end": "2025-12-18 11:45:15.704468", "msg": "", "rc": 0, "start": "2025-12-18 11:45:15.699665", "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.004748", "end": "2025-12-18 11:45:15.705399", "msg": "", "rc": 0, "start": "2025-12-18 11:45:15.700651", "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.005753", "end": "2025-12-18 11:45:15.729964", "msg": "", "rc": 0, "start": "2025-12-18 11:45:15.724211", "stderr": "", "stderr_lines": [], "stdout": "58.6%", "stdout_lines": ["58.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.004359", "end": "2025-12-18 11:44:48.765377", "msg": "", "rc": 0, "start": "2025-12-18 11:44:48.761018", "stderr": "", "stderr_lines": [], "stdout": "71.5%", "stdout_lines": ["71.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.005215", "end": "2025-12-18 11:44:42.032303", "msg": "", "rc": 0, "start": "2025-12-18 11:44:42.027088", "stderr": "", "stderr_lines": [], "stdout": "65.0%", "stdout_lines": ["65.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.011009", "end": "2025-12-18 11:45:16.373768", "msg": "", "rc": 0, "start": "2025-12-18 11:45:16.362759", "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.011880", "end": "2025-12-18 11:45:16.411657", "msg": "", "rc": 0, "start": "2025-12-18 11:45:16.399777", "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.005875", "end": "2025-12-18 11:45:16.617307", "msg": "", "rc": 0, "start": "2025-12-18 11:45:16.611432", "stderr": "", "stderr_lines": [], "stdout": "36.3%", "stdout_lines": ["36.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.004765", "end": "2025-12-18 11:44:45.212837", "msg": "", "rc": 0, "start": "2025-12-18 11:44:45.208072", "stderr": "", "stderr_lines": [], "stdout": "26.8%", "stdout_lines": ["26.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.005117", "end": "2025-12-18 08:45:16.860002", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 08:45:16.854885", "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.005171", "end": "2025-12-18 11:44:52.077422", "msg": "", "rc": 0, "start": "2025-12-18 11:44:52.072251", "stderr": "", "stderr_lines": [], "stdout": "49.4%", "stdout_lines": ["49.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.005325", "end": "2025-12-18 11:45:17.026796", "msg": "", "rc": 0, "start": "2025-12-18 11:45:17.021471", "stderr": "", "stderr_lines": [], "stdout": "14.2%", "stdout_lines": ["14.2%"]}
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.008210", "end": "2025-12-18 11:45:18.178068", "msg": "", "rc": 0, "start": "2025-12-18 11:45:18.169858", "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.030530", "end": "2025-12-18 11:45:17.234220", "msg": "", "rc": 0, "start": "2025-12-18 11:45:17.203690", "stderr": "", "stderr_lines": [], "stdout": "21.3%", "stdout_lines": ["21.3%"]}
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.004974", "end": "2025-12-18 11:45:17.934533", "msg": "", "rc": 0, "start": "2025-12-18 11:45:17.929559", "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.005372", "end": "2025-12-18 11:45:17.928419", "msg": "", "rc": 0, "start": "2025-12-18 11:45:17.923047", "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.005755", "end": "2025-12-18 11:45:17.926742", "msg": "", "rc": 0, "start": "2025-12-18 11:45:17.920987", "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.003269", "end": "2025-12-18 11:45:18.021588", "msg": "", "rc": 0, "start": "2025-12-18 11:45:18.018319", "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.006917", "end": "2025-12-18 11:45:18.033351", "msg": "", "rc": 0, "start": "2025-12-18 11:45:18.026434", "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.002508", "end": "2025-12-18 11:44:51.042066", "msg": "", "rc": 0, "start": "2025-12-18 11:44:51.039558", "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.003406", "end": "2025-12-18 11:44:44.299436", "msg": "", "rc": 0, "start": "2025-12-18 11:44:44.296030", "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.011465", "end": "2025-12-18 11:45:18.610622", "msg": "", "rc": 0, "start": "2025-12-18 11:45:18.599157", "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.013074", "end": "2025-12-18 11:45:18.647469", "msg": "", "rc": 0, "start": "2025-12-18 11:45:18.634395", "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.003190", "end": "2025-12-18 11:45:18.896352", "msg": "", "rc": 0, "start": "2025-12-18 11:45:18.893162", "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.003041", "end": "2025-12-18 11:44:47.515591", "msg": "", "rc": 0, "start": "2025-12-18 11:44:47.512550", "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.002625", "end": "2025-12-18 11:44:54.470489", "msg": "", "rc": 0, "start": "2025-12-18 11:44:54.467864", "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-18 08:45:19.266827", "msg": "", "rc": 0, "start": "2025-12-18 08:45:19.262802", "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.003150", "end": "2025-12-18 11:45:19.458598", "msg": "", "rc": 0, "start": "2025-12-18 11:45:19.455448", "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.028578", "end": "2025-12-18 11:45:19.421294", "msg": "", "rc": 0, "start": "2025-12-18 11:45:19.392716", "stderr": "", "stderr_lines": [], "stdout": "36.7°C", "stdout_lines": ["36.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.004301", "end": "2025-12-18 11:45:19.643808", "msg": "", "rc": 0, "start": "2025-12-18 11:45:19.639507", "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.004267", "end": "2025-12-18 11:45:19.931628", "msg": "", "rc": 0, "start": "2025-12-18 11:45:19.927361", "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.003995", "end": "2025-12-18 11:45:19.951865", "msg": "", "rc": 0, "start": "2025-12-18 11:45:19.947870", "stderr": "", "stderr_lines": [], "stdout": "0.38", "stdout_lines": ["0.38"]}
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.004641", "end": "2025-12-18 11:45:19.964756", "msg": "", "rc": 0, "start": "2025-12-18 11:45:19.960115", "stderr": "", "stderr_lines": [], "stdout": "0.53", "stdout_lines": ["0.53"]}
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.005353", "end": "2025-12-18 11:45:20.002257", "msg": "", "rc": 0, "start": "2025-12-18 11:45:19.996904", "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.004592", "end": "2025-12-18 11:45:20.007199", "msg": "", "rc": 0, "start": "2025-12-18 11:45:20.002607", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
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.003986", "end": "2025-12-18 11:44:53.036368", "msg": "", "rc": 0, "start": "2025-12-18 11:44:53.032382", "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.005142", "end": "2025-12-18 11:44:46.275380", "msg": "", "rc": 0, "start": "2025-12-18 11:44:46.270238", "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.011496", "end": "2025-12-18 11:45:20.651268", "msg": "", "rc": 0, "start": "2025-12-18 11:45:20.639772", "stderr": "", "stderr_lines": [], "stdout": "0.31", "stdout_lines": ["0.31"]}
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.009898", "end": "2025-12-18 11:45:20.677945", "msg": "", "rc": 0, "start": "2025-12-18 11:45:20.668047", "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.005644", "end": "2025-12-18 11:45:20.903682", "msg": "", "rc": 0, "start": "2025-12-18 11:45:20.898038", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
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-18 11:44:49.433002", "msg": "", "rc": 0, "start": "2025-12-18 11:44:49.428036", "stderr": "", "stderr_lines": [], "stdout": "0.37", "stdout_lines": ["0.37"]}
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.006073", "end": "2025-12-18 08:45:21.110484", "msg": "", "rc": 0, "start": "2025-12-18 08:45:21.104411", "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.004293", "end": "2025-12-18 11:44:56.352835", "msg": "", "rc": 0, "start": "2025-12-18 11:44:56.348542", "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.005222", "end": "2025-12-18 11:45:21.306171", "msg": "", "rc": 0, "start": "2025-12-18 11:45:21.300949", "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.007657", "end": "2025-12-18 11:45:21.487943", "msg": "", "rc": 0, "start": "2025-12-18 11:45:21.480286", "stderr": "", "stderr_lines": [], "stdout": "1.35", "stdout_lines": ["1.35"]}
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.024304", "end": "2025-12-18 11:45:21.304310", "msg": "", "rc": 0, "start": "2025-12-18 11:45:21.280006", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:11 up 22 days, 22:36, 1 user, load average: 0.08, 0.05, 0.07\nDisk Usage: 23%\nMemory Usage: 77.6%\nCPU Load: 0.14\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:11 up 4 days, 1:17, 1 user, load average: 0.32, 0.30, 0.28\nDisk Usage: 22%\nMemory Usage: 22.8%\nCPU Load: 0.38\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:11 up 22 days, 22:56, 1 user, load average: 0.57, 0.61, 0.60\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.53\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:11 up 23 days, 9 min, 1 user, load average: 0.87, 0.74, 0.69\nDisk Usage: 14%\nMemory Usage: 58.6%\nCPU Load: 1.03\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:11 up 23 days, 55 min, 1 user, load average: 0.08, 0.05, 0.05\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: 11:45:13 up 16 days, 1:11, 1 user, load average: 0.12, 0.09, 0.07\nDisk Usage: 21%\nMemory Usage: 21.3%\nCPU Load: 0.27\nCPU Temp: 36.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:12 up 195 days, 3:18, 1 user, load average: 0.25, 0.18, 0.17\nDisk Usage: 6%\nMemory Usage: 13.2%\nCPU Load: 0.31\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:12 up 195 days, 3:18, 1 user, load average: 0.21, 0.19, 0.14\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.20\nCPU Temp: 32.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:44:44 up 11 days, 23:34, 0 user, load average: 0.03, 0.08, 0.08\nDisk Usage: 48%\nMemory Usage: 71.5%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:44:38 up 18 days, 19:46, 0 user, load average: 0.16, 0.04, 0.01\nDisk Usage: 24%\nMemory Usage: 65.0%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:12 up 4 days, 1:16, 1 user, load average: 0.20, 0.10, 0.03\nDisk Usage: 1%\nMemory Usage: 36.3%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:44:41 up 21 days, 14:38, 0 user, load average: 0.31, 0.44, 0.45\nDisk Usage: 28%\nMemory Usage: 26.8%\nCPU Load: 0.37\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:44:48 up 18 days, 1:00, 0 user, load average: 0.11, 0.14, 0.16\nDisk Usage: 76%\nMemory Usage: 49.4%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:45AM up 22 days, 22:35, 1 user, load averages: 0.34, 0.29, 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: 11:45:13 up 4 days, 1:16, 1 user, load average: 0.02, 0.08, 0.07\nDisk Usage: 79%\nMemory Usage: 14.2%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:45:14 up 7:53, 1 user, load average: 1.30, 1.13, 1.06\nDisk Usage: 1%\nMemory Usage: 12.4%\nCPU Load: 1.35\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-18T16:45:22.408302+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `90443d9d34974b87aa7497e07d9542a1` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T16:55:00.005939+00:00 |
| **Fin** | 2025-12-18T16:55:38.473122+00:00 |
| **Durée** | 38.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: [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: [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.003988", "end": "2025-12-18 11:55:19.286312", "msg": "", "rc": 0, "start": "2025-12-18 11:55:19.282324", "stderr": "", "stderr_lines": [], "stdout": " 11:55:19 up 23 days, 1:05, 1 user, load average: 0.03, 0.04, 0.03", "stdout_lines": [" 11:55:19 up 23 days, 1:05, 1 user, load average: 0.03, 0.04, 0.03"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003275", "end": "2025-12-18 11:55:19.289056", "msg": "", "rc": 0, "start": "2025-12-18 11:55:19.285781", "stderr": "", "stderr_lines": [], "stdout": " 11:55:19 up 22 days, 23:06, 1 user, load average: 0.37, 0.44, 0.53", "stdout_lines": [" 11:55:19 up 22 days, 23:06, 1 user, load average: 0.37, 0.44, 0.53"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002845", "end": "2025-12-18 11:55:19.315909", "msg": "", "rc": 0, "start": "2025-12-18 11:55:19.313064", "stderr": "", "stderr_lines": [], "stdout": " 11:55:19 up 4 days, 1:27, 1 user, load average: 0.58, 0.25, 0.22", "stdout_lines": [" 11:55:19 up 4 days, 1:27, 1 user, load average: 0.58, 0.25, 0.22"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004027", "end": "2025-12-18 11:55:19.325802", "msg": "", "rc": 0, "start": "2025-12-18 11:55:19.321775", "stderr": "", "stderr_lines": [], "stdout": " 11:55:19 up 23 days, 19 min, 1 user, load average: 0.70, 0.74, 0.72", "stdout_lines": [" 11:55:19 up 23 days, 19 min, 1 user, load average: 0.70, 0.74, 0.72"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002891", "end": "2025-12-18 11:54:52.542838", "msg": "", "rc": 0, "start": "2025-12-18 11:54:52.539947", "stderr": "", "stderr_lines": [], "stdout": " 11:54:52 up 11 days, 23:44, 0 user, load average: 0.58, 0.29, 0.17", "stdout_lines": [" 11:54:52 up 11 days, 23:44, 0 user, load average: 0.58, 0.29, 0.17"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008739", "end": "2025-12-18 11:55:20.117073", "msg": "", "rc": 0, "start": "2025-12-18 11:55:20.108334", "stderr": "", "stderr_lines": [], "stdout": " 11:55:20 up 195 days, 3:28, 1 user, load average: 0.07, 0.14, 0.12", "stdout_lines": [" 11:55:20 up 195 days, 3:28, 1 user, load average: 0.07, 0.14, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009206", "end": "2025-12-18 11:55:20.147388", "msg": "", "rc": 0, "start": "2025-12-18 11:55:20.138182", "stderr": "", "stderr_lines": [], "stdout": " 11:55:20 up 195 days, 3:28, 1 user, load average: 0.05, 0.10, 0.13", "stdout_lines": [" 11:55:20 up 195 days, 3:28, 1 user, load average: 0.05, 0.10, 0.13"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.003833", "end": "2025-12-18 11:55:20.271039", "msg": "", "rc": 0, "start": "2025-12-18 11:55:19.267206", "stderr": "", "stderr_lines": [], "stdout": " 11:55:19 up 22 days, 22:46, 1 user, load average: 0.02, 0.06, 0.06", "stdout_lines": [" 11:55:19 up 22 days, 22:46, 1 user, load average: 0.02, 0.06, 0.06"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003650", "end": "2025-12-18 11:54:46.385311", "msg": "", "rc": 0, "start": "2025-12-18 11:54:46.381661", "stderr": "", "stderr_lines": [], "stdout": " 11:54:46 up 18 days, 19:56, 0 user, load average: 0.02, 0.01, 0.00", "stdout_lines": [" 11:54:46 up 18 days, 19:56, 0 user, load average: 0.02, 0.01, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004865", "end": "2025-12-18 11:55:20.797655", "msg": "", "rc": 0, "start": "2025-12-18 11:55:20.792790", "stderr": "", "stderr_lines": [], "stdout": " 11:55:20 up 4 days, 1:26, 1 user, load average: 0.02, 0.04, 0.00", "stdout_lines": [" 11:55:20 up 4 days, 1:26, 1 user, load average: 0.02, 0.04, 0.00"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002923", "end": "2025-12-18 11:54:56.069872", "msg": "", "rc": 0, "start": "2025-12-18 11:54:56.066949", "stderr": "", "stderr_lines": [], "stdout": " 11:54:56 up 18 days, 1:10, 0 user, load average: 0.09, 0.18, 0.17", "stdout_lines": [" 11:54:56 up 18 days, 1:10, 0 user, load average: 0.09, 0.18, 0.17"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003361", "end": "2025-12-18 11:54:49.307078", "msg": "", "rc": 0, "start": "2025-12-18 11:54:49.303717", "stderr": "", "stderr_lines": [], "stdout": " 11:54:49 up 21 days, 14:49, 0 user, load average: 0.53, 0.64, 0.55", "stdout_lines": [" 11:54:49 up 21 days, 14:49, 0 user, load average: 0.53, 0.64, 0.55"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019409", "end": "2025-12-18 11:55:20.882784", "msg": "", "rc": 0, "start": "2025-12-18 11:55:20.863375", "stderr": "", "stderr_lines": [], "stdout": " 11:55:20 up 16 days, 1:21, 1 user, load average: 0.21, 0.10, 0.07", "stdout_lines": [" 11:55:20 up 16 days, 1:21, 1 user, load average: 0.21, 0.10, 0.07"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004149", "end": "2025-12-18 08:55:21.183121", "msg": "", "rc": 0, "start": "2025-12-18 08:55:21.178972", "stderr": "", "stderr_lines": [], "stdout": " 8:55AM up 22 days, 22:45, 1 user, load averages: 0.31, 0.26, 0.24", "stdout_lines": [" 8:55AM up 22 days, 22:45, 1 user, load averages: 0.31, 0.26, 0.24"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003872", "end": "2025-12-18 11:55:21.381487", "msg": "", "rc": 0, "start": "2025-12-18 11:55:21.377615", "stderr": "", "stderr_lines": [], "stdout": " 11:55:21 up 4 days, 1:27, 1 user, load average: 0.08, 0.04, 0.05", "stdout_lines": [" 11:55:21 up 4 days, 1:27, 1 user, load average: 0.08, 0.04, 0.05"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.020989", "end": "2025-12-18 11:55:22.155952", "msg": "", "rc": 0, "start": "2025-12-18 11:55:22.134963", "stderr": "", "stderr_lines": [], "stdout": " 11:55:22 up 8:04, 1 user, load average: 2.02, 1.35, 1.16", "stdout_lines": [" 11:55:22 up 8:04, 1 user, load average: 2.02, 1.35, 1.16"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004450", "end": "2025-12-18 11:55:22.269471", "msg": "", "rc": 0, "start": "2025-12-18 11:55:22.265021", "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.004018", "end": "2025-12-18 11:55:22.279616", "msg": "", "rc": 0, "start": "2025-12-18 11:55:22.275598", "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.004764", "end": "2025-12-18 11:55:22.329587", "msg": "", "rc": 0, "start": "2025-12-18 11:55:22.324823", "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.004929", "end": "2025-12-18 11:55:22.447820", "msg": "", "rc": 0, "start": "2025-12-18 11:55:22.442891", "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.005346", "end": "2025-12-18 11:55:22.448383", "msg": "", "rc": 0, "start": "2025-12-18 11:55:22.443037", "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.004766", "end": "2025-12-18 11:54:55.791411", "msg": "", "rc": 0, "start": "2025-12-18 11:54:55.786645", "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.005530", "end": "2025-12-18 11:54:49.060215", "msg": "", "rc": 0, "start": "2025-12-18 11:54:49.054685", "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.010542", "end": "2025-12-18 11:55:23.428437", "msg": "", "rc": 0, "start": "2025-12-18 11:55:23.417895", "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.011652", "end": "2025-12-18 11:55:23.421698", "msg": "", "rc": 0, "start": "2025-12-18 11:55:23.410046", "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.005711", "end": "2025-12-18 11:55:23.841279", "msg": "", "rc": 0, "start": "2025-12-18 11:55:23.835568", "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.005292", "end": "2025-12-18 11:54:52.432380", "msg": "", "rc": 0, "start": "2025-12-18 11:54:52.427088", "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.005428", "end": "2025-12-18 08:55:24.087913", "msg": "", "rc": 0, "start": "2025-12-18 08:55:24.082485", "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.004756", "end": "2025-12-18 11:54:59.330987", "msg": "", "rc": 0, "start": "2025-12-18 11:54:59.326231", "stderr": "", "stderr_lines": [], "stdout": "76%", "stdout_lines": ["76%"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.026993", "end": "2025-12-18 11:55:24.057081", "msg": "", "rc": 0, "start": "2025-12-18 11:55:24.030088", "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.005315", "end": "2025-12-18 11:55:24.498852", "msg": "", "rc": 0, "start": "2025-12-18 11:55:24.493537", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.073933", "end": "2025-12-18 11:55:25.780131", "msg": "", "rc": 0, "start": "2025-12-18 11:55:25.706198", "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.004157", "end": "2025-12-18 11:55:25.937372", "msg": "", "rc": 0, "start": "2025-12-18 11:55:25.933215", "stderr": "", "stderr_lines": [], "stdout": "22.8%", "stdout_lines": ["22.8%"]}
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.004360", "end": "2025-12-18 11:55:25.947474", "msg": "", "rc": 0, "start": "2025-12-18 11:55:25.943114", "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.004877", "end": "2025-12-18 11:55:25.983337", "msg": "", "rc": 0, "start": "2025-12-18 11:55:25.978460", "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.005383", "end": "2025-12-18 11:55:26.039883", "msg": "", "rc": 0, "start": "2025-12-18 11:55:26.034500", "stderr": "", "stderr_lines": [], "stdout": "58.9%", "stdout_lines": ["58.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.004440", "end": "2025-12-18 11:55:26.058424", "msg": "", "rc": 0, "start": "2025-12-18 11:55:26.053984", "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.003584", "end": "2025-12-18 11:54:59.333241", "msg": "", "rc": 0, "start": "2025-12-18 11:54:59.329657", "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.004717", "end": "2025-12-18 11:54:52.590189", "msg": "", "rc": 0, "start": "2025-12-18 11:54:52.585472", "stderr": "", "stderr_lines": [], "stdout": "64.9%", "stdout_lines": ["64.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.011911", "end": "2025-12-18 11:55:26.816841", "msg": "", "rc": 0, "start": "2025-12-18 11:55:26.804930", "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.010758", "end": "2025-12-18 11:55:26.848204", "msg": "", "rc": 0, "start": "2025-12-18 11:55:26.837446", "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.005742", "end": "2025-12-18 11:55:27.481647", "msg": "", "rc": 0, "start": "2025-12-18 11:55:27.475905", "stderr": "", "stderr_lines": [], "stdout": "36.3%", "stdout_lines": ["36.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.003700", "end": "2025-12-18 11:55:02.838692", "msg": "", "rc": 0, "start": "2025-12-18 11:55:02.834992", "stderr": "", "stderr_lines": [], "stdout": "48.2%", "stdout_lines": ["48.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.005056", "end": "2025-12-18 08:55:27.646859", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 08:55:27.641803", "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.004316", "end": "2025-12-18 11:54:56.041121", "msg": "", "rc": 0, "start": "2025-12-18 11:54:56.036805", "stderr": "", "stderr_lines": [], "stdout": "27.6%", "stdout_lines": ["27.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.025957", "end": "2025-12-18 11:55:27.603383", "msg": "", "rc": 0, "start": "2025-12-18 11:55:27.577426", "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.005591", "end": "2025-12-18 11:55:28.108200", "msg": "", "rc": 0, "start": "2025-12-18 11:55:28.102609", "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.024651", "end": "2025-12-18 11:55:29.244428", "msg": "", "rc": 0, "start": "2025-12-18 11:55:29.219777", "stderr": "", "stderr_lines": [], "stdout": "13.4%", "stdout_lines": ["13.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.005520", "end": "2025-12-18 11:55:29.201992", "msg": "", "rc": 0, "start": "2025-12-18 11:55:29.196472", "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.005407", "end": "2025-12-18 11:55:29.244689", "msg": "", "rc": 0, "start": "2025-12-18 11:55:29.239282", "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.006874", "end": "2025-12-18 11:55:29.305316", "msg": "", "rc": 0, "start": "2025-12-18 11:55:29.298442", "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.003028", "end": "2025-12-18 11:55:29.348453", "msg": "", "rc": 0, "start": "2025-12-18 11:55:29.345425", "stderr": "", "stderr_lines": [], "stdout": "N/A", "stdout_lines": ["N/A"]}
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.005083", "end": "2025-12-18 11:55:29.451288", "msg": "", "rc": 0, "start": "2025-12-18 11:55:29.446205", "stderr": "", "stderr_lines": [], "stdout": "45.0°C", "stdout_lines": ["45.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.003085", "end": "2025-12-18 11:55:02.655147", "msg": "", "rc": 0, "start": "2025-12-18 11:55:02.652062", "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.002871", "end": "2025-12-18 11:54:55.928281", "msg": "", "rc": 0, "start": "2025-12-18 11:54:55.925410", "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.011704", "end": "2025-12-18 11:55:30.341125", "msg": "", "rc": 0, "start": "2025-12-18 11:55:30.329421", "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.012849", "end": "2025-12-18 11:55:30.333592", "msg": "", "rc": 0, "start": "2025-12-18 11:55:30.320743", "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.003347", "end": "2025-12-18 11:55:30.745199", "msg": "", "rc": 0, "start": "2025-12-18 11:55:30.741852", "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.002912", "end": "2025-12-18 11:54:59.349690", "msg": "", "rc": 0, "start": "2025-12-18 11:54:59.346778", "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.003821", "end": "2025-12-18 08:55:31.006687", "msg": "", "rc": 0, "start": "2025-12-18 08:55:31.002866", "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.002647", "end": "2025-12-18 11:55:06.224950", "msg": "", "rc": 0, "start": "2025-12-18 11:55:06.222303", "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.028459", "end": "2025-12-18 11:55:30.940458", "msg": "", "rc": 0, "start": "2025-12-18 11:55:30.911999", "stderr": "", "stderr_lines": [], "stdout": "36.2°C", "stdout_lines": ["36.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.003187", "end": "2025-12-18 11:55:31.350923", "msg": "", "rc": 0, "start": "2025-12-18 11:55:31.347736", "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.008605", "end": "2025-12-18 11:55:32.665840", "msg": "", "rc": 0, "start": "2025-12-18 11:55:32.657235", "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.004245", "end": "2025-12-18 11:55:32.410855", "msg": "", "rc": 0, "start": "2025-12-18 11:55:32.406610", "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.004279", "end": "2025-12-18 11:55:32.435887", "msg": "", "rc": 0, "start": "2025-12-18 11:55:32.431608", "stderr": "", "stderr_lines": [], "stdout": "0.83", "stdout_lines": ["0.83"]}
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.004777", "end": "2025-12-18 11:55:32.474906", "msg": "", "rc": 0, "start": "2025-12-18 11:55:32.470129", "stderr": "", "stderr_lines": [], "stdout": "0.64", "stdout_lines": ["0.64"]}
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.005576", "end": "2025-12-18 11:55:32.563500", "msg": "", "rc": 0, "start": "2025-12-18 11:55:32.557924", "stderr": "", "stderr_lines": [], "stdout": "0.61", "stdout_lines": ["0.61"]}
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.005242", "end": "2025-12-18 11:55:32.580114", "msg": "", "rc": 0, "start": "2025-12-18 11:55:32.574872", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.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.005108", "end": "2025-12-18 11:55:05.802212", "msg": "", "rc": 0, "start": "2025-12-18 11:55:05.797104", "stderr": "", "stderr_lines": [], "stdout": "0.60", "stdout_lines": ["0.60"]}
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.005161", "end": "2025-12-18 11:54:59.069806", "msg": "", "rc": 0, "start": "2025-12-18 11:54:59.064645", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
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.010080", "end": "2025-12-18 11:55:33.373901", "msg": "", "rc": 0, "start": "2025-12-18 11:55:33.363821", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
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.011198", "end": "2025-12-18 11:55:33.388004", "msg": "", "rc": 0, "start": "2025-12-18 11:55:33.376806", "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.005680", "end": "2025-12-18 11:55:33.867669", "msg": "", "rc": 0, "start": "2025-12-18 11:55:33.861989", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
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.006030", "end": "2025-12-18 08:55:34.078047", "msg": "", "rc": 0, "start": "2025-12-18 08:55:34.072017", "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.004413", "end": "2025-12-18 11:55:09.295841", "msg": "", "rc": 0, "start": "2025-12-18 11:55:09.291428", "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.005037", "end": "2025-12-18 11:55:02.462612", "msg": "", "rc": 0, "start": "2025-12-18 11:55:02.457575", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
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.024032", "end": "2025-12-18 11:55:34.010604", "msg": "", "rc": 0, "start": "2025-12-18 11:55:33.986572", "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.005574", "end": "2025-12-18 11:55:34.497186", "msg": "", "rc": 0, "start": "2025-12-18 11:55:34.491612", "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.020868", "end": "2025-12-18 11:55:35.974520", "msg": "", "rc": 0, "start": "2025-12-18 11:55:35.953652", "stderr": "", "stderr_lines": [], "stdout": "2.17", "stdout_lines": ["2.17"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:55:19 up 22 days, 22:46, 1 user, load average: 0.02, 0.06, 0.06\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.10\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:55:19 up 4 days, 1:27, 1 user, load average: 0.58, 0.25, 0.22\nDisk Usage: 22%\nMemory Usage: 22.8%\nCPU Load: 0.83\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:55:19 up 22 days, 23:06, 1 user, load average: 0.37, 0.44, 0.53\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.64\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:55:19 up 23 days, 19 min, 1 user, load average: 0.70, 0.74, 0.72\nDisk Usage: 14%\nMemory Usage: 58.9%\nCPU Load: 0.61\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:55:19 up 23 days, 1:05, 1 user, load average: 0.03, 0.04, 0.03\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:55:20 up 16 days, 1:21, 1 user, load average: 0.21, 0.10, 0.07\nDisk Usage: 21%\nMemory Usage: 19.5%\nCPU Load: 0.24\nCPU Temp: 36.2°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:55:20 up 195 days, 3:28, 1 user, load average: 0.05, 0.10, 0.13\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.18\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:55:20 up 195 days, 3:28, 1 user, load average: 0.07, 0.14, 0.12\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.05\nCPU Temp: 32.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:54:52 up 11 days, 23:44, 0 user, load average: 0.58, 0.29, 0.17\nDisk Usage: 48%\nMemory Usage: 71.1%\nCPU Load: 0.60\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:54:46 up 18 days, 19:56, 0 user, load average: 0.02, 0.01, 0.00\nDisk Usage: 24%\nMemory Usage: 64.9%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:55:20 up 4 days, 1:26, 1 user, load average: 0.02, 0.04, 0.00\nDisk Usage: 1%\nMemory Usage: 36.3%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:54:49 up 21 days, 14:49, 0 user, load average: 0.53, 0.64, 0.55\nDisk Usage: 28%\nMemory Usage: 27.6%\nCPU Load: 0.41\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:54:56 up 18 days, 1:10, 0 user, load average: 0.09, 0.18, 0.17\nDisk Usage: 76%\nMemory Usage: 48.2%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 8:55AM up 22 days, 22:45, 1 user, load averages: 0.31, 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: 11:55:21 up 4 days, 1:27, 1 user, load average: 0.08, 0.04, 0.05\nDisk Usage: 79%\nMemory Usage: 14.0%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:55:22 up 8:04, 1 user, load average: 2.02, 1.35, 1.16\nDisk Usage: 1%\nMemory Usage: 13.4%\nCPU Load: 2.17\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-18T16:55:38.592235+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `0f362b99e9854a9f8d755328ae31c361` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T17:00:00.003998+00:00 |
| **Fin** | 2025-12-18T17:00:21.627174+00:00 |
| **Durée** | 21.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.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: [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.003336", "end": "2025-12-18 12:00:11.548008", "msg": "", "rc": 0, "start": "2025-12-18 12:00:11.544672", "stderr": "", "stderr_lines": [], "stdout": " 12:00:11 up 22 days, 22:51, 1 user, load average: 0.11, 0.10, 0.08", "stdout_lines": [" 12:00:11 up 22 days, 22:51, 1 user, load average: 0.11, 0.10, 0.08"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003322", "end": "2025-12-18 12:00:11.563310", "msg": "", "rc": 0, "start": "2025-12-18 12:00:11.559988", "stderr": "", "stderr_lines": [], "stdout": " 12:00:11 up 23 days, 1:10, 1 user, load average: 0.01, 0.02, 0.01", "stdout_lines": [" 12:00:11 up 23 days, 1:10, 1 user, load average: 0.01, 0.02, 0.01"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003422", "end": "2025-12-18 12:00:11.561290", "msg": "", "rc": 0, "start": "2025-12-18 12:00:11.557868", "stderr": "", "stderr_lines": [], "stdout": " 12:00:11 up 22 days, 23:11, 1 user, load average: 0.56, 0.48, 0.52", "stdout_lines": [" 12:00:11 up 22 days, 23:11, 1 user, load average: 0.56, 0.48, 0.52"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002854", "end": "2025-12-18 12:00:11.594116", "msg": "", "rc": 0, "start": "2025-12-18 12:00:11.591262", "stderr": "", "stderr_lines": [], "stdout": " 12:00:11 up 4 days, 1:32, 1 user, load average: 0.27, 0.25, 0.23", "stdout_lines": [" 12:00:11 up 4 days, 1:32, 1 user, load average: 0.27, 0.25, 0.23"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002722", "end": "2025-12-18 11:59:44.660373", "msg": "", "rc": 0, "start": "2025-12-18 11:59:44.657651", "stderr": "", "stderr_lines": [], "stdout": " 11:59:44 up 11 days, 23:49, 0 user, load average: 0.11, 0.18, 0.16", "stdout_lines": [" 11:59:44 up 11 days, 23:49, 0 user, load average: 0.11, 0.18, 0.16"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008391", "end": "2025-12-18 12:00:12.214109", "msg": "", "rc": 0, "start": "2025-12-18 12:00:12.205718", "stderr": "", "stderr_lines": [], "stdout": " 12:00:12 up 195 days, 3:33, 1 user, load average: 0.07, 0.11, 0.10", "stdout_lines": [" 12:00:12 up 195 days, 3:33, 1 user, load average: 0.07, 0.11, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009450", "end": "2025-12-18 12:00:12.260170", "msg": "", "rc": 0, "start": "2025-12-18 12:00:12.250720", "stderr": "", "stderr_lines": [], "stdout": " 12:00:12 up 195 days, 3:33, 1 user, load average: 0.17, 0.13, 0.13", "stdout_lines": [" 12:00:12 up 195 days, 3:33, 1 user, load average: 0.17, 0.13, 0.13"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004413", "end": "2025-12-18 12:00:12.579345", "msg": "", "rc": 0, "start": "2025-12-18 12:00:11.574932", "stderr": "", "stderr_lines": [], "stdout": " 12:00:11 up 23 days, 24 min, 1 user, load average: 1.00, 0.73, 0.71", "stdout_lines": [" 12:00:11 up 23 days, 24 min, 1 user, load average: 1.00, 0.73, 0.71"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003805", "end": "2025-12-18 11:59:38.320697", "msg": "", "rc": 0, "start": "2025-12-18 11:59:38.316892", "stderr": "", "stderr_lines": [], "stdout": " 11:59:38 up 18 days, 20:01, 0 user, load average: 0.09, 0.02, 0.00", "stdout_lines": [" 11:59:38 up 18 days, 20:01, 0 user, load average: 0.09, 0.02, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004780", "end": "2025-12-18 12:00:12.702182", "msg": "", "rc": 0, "start": "2025-12-18 12:00:12.697402", "stderr": "", "stderr_lines": [], "stdout": " 12:00:12 up 4 days, 1:31, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 12:00:12 up 4 days, 1:31, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003209", "end": "2025-12-18 11:59:41.182808", "msg": "", "rc": 0, "start": "2025-12-18 11:59:41.179599", "stderr": "", "stderr_lines": [], "stdout": " 11:59:41 up 21 days, 14:53, 0 user, load average: 0.37, 0.46, 0.50", "stdout_lines": [" 11:59:41 up 21 days, 14:53, 0 user, load average: 0.37, 0.46, 0.50"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004202", "end": "2025-12-18 09:00:12.998035", "msg": "", "rc": 0, "start": "2025-12-18 09:00:12.993833", "stderr": "", "stderr_lines": [], "stdout": " 9:00AM up 22 days, 22:50, 1 user, load averages: 0.13, 0.20, 0.22", "stdout_lines": [" 9:00AM up 22 days, 22:50, 1 user, load averages: 0.13, 0.20, 0.22"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002950", "end": "2025-12-18 11:59:48.228573", "msg": "", "rc": 0, "start": "2025-12-18 11:59:48.225623", "stderr": "", "stderr_lines": [], "stdout": " 11:59:48 up 18 days, 1:15, 0 user, load average: 0.04, 0.11, 0.14", "stdout_lines": [" 11:59:48 up 18 days, 1:15, 0 user, load average: 0.04, 0.11, 0.14"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019354", "end": "2025-12-18 12:00:12.925580", "msg": "", "rc": 0, "start": "2025-12-18 12:00:12.906226", "stderr": "", "stderr_lines": [], "stdout": " 12:00:12 up 16 days, 1:26, 1 user, load average: 0.20, 0.10, 0.08", "stdout_lines": [" 12:00:12 up 16 days, 1:26, 1 user, load average: 0.20, 0.10, 0.08"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005542", "end": "2025-12-18 12:00:14.203193", "msg": "", "rc": 0, "start": "2025-12-18 12:00:14.197651", "stderr": "", "stderr_lines": [], "stdout": " 12:00:14 up 8:09, 1 user, load average: 2.07, 2.39, 1.71", "stdout_lines": [" 12:00:14 up 8:09, 1 user, load average: 2.07, 2.39, 1.71"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003678", "end": "2025-12-18 12:00:13.118201", "msg": "", "rc": 0, "start": "2025-12-18 12:00:13.114523", "stderr": "", "stderr_lines": [], "stdout": " 12:00:13 up 4 days, 1:31, 1 user, load average: 0.09, 0.07, 0.05", "stdout_lines": [" 12:00:13 up 4 days, 1:31, 1 user, load average: 0.09, 0.07, 0.05"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004273", "end": "2025-12-18 12:00:13.507909", "msg": "", "rc": 0, "start": "2025-12-18 12:00:13.503636", "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.004101", "end": "2025-12-18 12:00:13.532789", "msg": "", "rc": 0, "start": "2025-12-18 12:00:13.528688", "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.004646", "end": "2025-12-18 12:00:13.537752", "msg": "", "rc": 0, "start": "2025-12-18 12:00:13.533106", "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.004878", "end": "2025-12-18 12:00:13.563448", "msg": "", "rc": 0, "start": "2025-12-18 12:00:13.558570", "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.005539", "end": "2025-12-18 12:00:13.570361", "msg": "", "rc": 0, "start": "2025-12-18 12:00:13.564822", "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.005308", "end": "2025-12-18 11:59:46.592200", "msg": "", "rc": 0, "start": "2025-12-18 11:59:46.586892", "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.005488", "end": "2025-12-18 11:59:39.836887", "msg": "", "rc": 0, "start": "2025-12-18 11:59:39.831399", "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.010574", "end": "2025-12-18 12:00:14.251855", "msg": "", "rc": 0, "start": "2025-12-18 12:00:14.241281", "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.011695", "end": "2025-12-18 12:00:14.273997", "msg": "", "rc": 0, "start": "2025-12-18 12:00:14.262302", "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.005706", "end": "2025-12-18 12:00:14.464322", "msg": "", "rc": 0, "start": "2025-12-18 12:00:14.458616", "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.005740", "end": "2025-12-18 11:59:42.996517", "msg": "", "rc": 0, "start": "2025-12-18 11:59:42.990777", "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.005334", "end": "2025-12-18 09:00:14.724033", "msg": "", "rc": 0, "start": "2025-12-18 09:00:14.718699", "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.004545", "end": "2025-12-18 11:59:49.929400", "msg": "", "rc": 0, "start": "2025-12-18 11:59:49.924855", "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.005230", "end": "2025-12-18 12:00:14.893991", "msg": "", "rc": 0, "start": "2025-12-18 12:00:14.888761", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007155", "end": "2025-12-18 12:00:16.110564", "msg": "", "rc": 0, "start": "2025-12-18 12:00:16.103409", "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.025590", "end": "2025-12-18 12:00:14.899567", "msg": "", "rc": 0, "start": "2025-12-18 12:00:14.873977", "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.004307", "end": "2025-12-18 12:00:15.416854", "msg": "", "rc": 0, "start": "2025-12-18 12:00:15.412547", "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.004335", "end": "2025-12-18 12:00:15.420094", "msg": "", "rc": 0, "start": "2025-12-18 12:00:15.415759", "stderr": "", "stderr_lines": [], "stdout": "22.8%", "stdout_lines": ["22.8%"]}
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.004861", "end": "2025-12-18 12:00:15.422596", "msg": "", "rc": 0, "start": "2025-12-18 12:00:15.417735", "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.005537", "end": "2025-12-18 12:00:15.456494", "msg": "", "rc": 0, "start": "2025-12-18 12:00:15.450957", "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.005797", "end": "2025-12-18 12:00:15.473494", "msg": "", "rc": 0, "start": "2025-12-18 12:00:15.467697", "stderr": "", "stderr_lines": [], "stdout": "58.9%", "stdout_lines": ["58.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.003469", "end": "2025-12-18 11:59:48.474330", "msg": "", "rc": 0, "start": "2025-12-18 11:59:48.470861", "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.004294", "end": "2025-12-18 11:59:41.717749", "msg": "", "rc": 0, "start": "2025-12-18 11:59:41.713455", "stderr": "", "stderr_lines": [], "stdout": "64.7%", "stdout_lines": ["64.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.011000", "end": "2025-12-18 12:00:16.100733", "msg": "", "rc": 0, "start": "2025-12-18 12:00:16.089733", "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.011825", "end": "2025-12-18 12:00:16.143736", "msg": "", "rc": 0, "start": "2025-12-18 12:00:16.131911", "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.005888", "end": "2025-12-18 12:00:16.353190", "msg": "", "rc": 0, "start": "2025-12-18 12:00:16.347302", "stderr": "", "stderr_lines": [], "stdout": "36.3%", "stdout_lines": ["36.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.004264", "end": "2025-12-18 11:59:44.880654", "msg": "", "rc": 0, "start": "2025-12-18 11:59:44.876390", "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.005144", "end": "2025-12-18 09:00:16.601332", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 09:00:16.596188", "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.003644", "end": "2025-12-18 11:59:51.803623", "msg": "", "rc": 0, "start": "2025-12-18 11:59:51.799979", "stderr": "", "stderr_lines": [], "stdout": "46.6%", "stdout_lines": ["46.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.005366", "end": "2025-12-18 12:00:16.772334", "msg": "", "rc": 0, "start": "2025-12-18 12:00:16.766968", "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.006749", "end": "2025-12-18 12:00:18.052161", "msg": "", "rc": 0, "start": "2025-12-18 12:00:18.045412", "stderr": "", "stderr_lines": [], "stdout": "13.0%", "stdout_lines": ["13.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.025873", "end": "2025-12-18 12:00:16.799841", "msg": "", "rc": 0, "start": "2025-12-18 12:00:16.773968", "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.005511", "end": "2025-12-18 12:00:17.312148", "msg": "", "rc": 0, "start": "2025-12-18 12:00:17.306637", "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.004829", "end": "2025-12-18 12:00:17.334621", "msg": "", "rc": 0, "start": "2025-12-18 12:00:17.329792", "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.005517", "end": "2025-12-18 12:00:17.348829", "msg": "", "rc": 0, "start": "2025-12-18 12:00:17.343312", "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.003165", "end": "2025-12-18 12:00:17.364967", "msg": "", "rc": 0, "start": "2025-12-18 12:00:17.361802", "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.006681", "end": "2025-12-18 12:00:17.377544", "msg": "", "rc": 0, "start": "2025-12-18 12:00:17.370863", "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.002601", "end": "2025-12-18 11:59:50.387033", "msg": "", "rc": 0, "start": "2025-12-18 11:59:50.384432", "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.003201", "end": "2025-12-18 11:59:43.632318", "msg": "", "rc": 0, "start": "2025-12-18 11:59:43.629117", "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.011831", "end": "2025-12-18 12:00:17.998983", "msg": "", "rc": 0, "start": "2025-12-18 12:00:17.987152", "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.012917", "end": "2025-12-18 12:00:18.039693", "msg": "", "rc": 0, "start": "2025-12-18 12:00:18.026776", "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.003112", "end": "2025-12-18 12:00:18.251634", "msg": "", "rc": 0, "start": "2025-12-18 12:00:18.248522", "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.002972", "end": "2025-12-18 11:59:46.796345", "msg": "", "rc": 0, "start": "2025-12-18 11:59:46.793373", "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.003862", "end": "2025-12-18 09:00:18.492776", "msg": "", "rc": 0, "start": "2025-12-18 09:00:18.488914", "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.002728", "end": "2025-12-18 11:59:53.708610", "msg": "", "rc": 0, "start": "2025-12-18 11:59:53.705882", "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-18 12:00:18.664145", "msg": "", "rc": 0, "start": "2025-12-18 12:00:18.661220", "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.004162", "end": "2025-12-18 12:00:18.780181", "msg": "", "rc": 0, "start": "2025-12-18 12:00:18.776019", "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.028509", "end": "2025-12-18 12:00:18.689625", "msg": "", "rc": 0, "start": "2025-12-18 12:00:18.661116", "stderr": "", "stderr_lines": [], "stdout": "35.4°C", "stdout_lines": ["35.4°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.004317", "end": "2025-12-18 12:00:19.220479", "msg": "", "rc": 0, "start": "2025-12-18 12:00:19.216162", "stderr": "", "stderr_lines": [], "stdout": "0.10", "stdout_lines": ["0.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.004860", "end": "2025-12-18 12:00:19.238020", "msg": "", "rc": 0, "start": "2025-12-18 12:00:19.233160", "stderr": "", "stderr_lines": [], "stdout": "0.51", "stdout_lines": ["0.51"]}
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.003945", "end": "2025-12-18 12:00:19.240615", "msg": "", "rc": 0, "start": "2025-12-18 12:00:19.236670", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
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.005165", "end": "2025-12-18 12:00:19.264799", "msg": "", "rc": 0, "start": "2025-12-18 12:00:19.259634", "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.005172", "end": "2025-12-18 12:00:19.267779", "msg": "", "rc": 0, "start": "2025-12-18 12:00:19.262607", "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.004608", "end": "2025-12-18 11:59:52.300366", "msg": "", "rc": 0, "start": "2025-12-18 11:59:52.295758", "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.005753", "end": "2025-12-18 11:59:45.573921", "msg": "", "rc": 0, "start": "2025-12-18 11:59:45.568168", "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.011839", "end": "2025-12-18 12:00:19.945622", "msg": "", "rc": 0, "start": "2025-12-18 12:00:19.933783", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
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.009971", "end": "2025-12-18 12:00:20.011000", "msg": "", "rc": 0, "start": "2025-12-18 12:00:20.001029", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
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.005704", "end": "2025-12-18 12:00:20.159851", "msg": "", "rc": 0, "start": "2025-12-18 12:00:20.154147", "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.004868", "end": "2025-12-18 11:59:48.756240", "msg": "", "rc": 0, "start": "2025-12-18 11:59:48.751372", "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.004212", "end": "2025-12-18 11:59:55.632000", "msg": "", "rc": 0, "start": "2025-12-18 11:59:55.627788", "stderr": "", "stderr_lines": [], "stdout": "0.04", "stdout_lines": ["0.04"]}
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.005954", "end": "2025-12-18 09:00:20.445035", "msg": "", "rc": 0, "start": "2025-12-18 09:00:20.439081", "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.005240", "end": "2025-12-18 12:00:20.574997", "msg": "", "rc": 0, "start": "2025-12-18 12:00:20.569757", "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.007532", "end": "2025-12-18 12:00:20.802873", "msg": "", "rc": 0, "start": "2025-12-18 12:00:20.795341", "stderr": "", "stderr_lines": [], "stdout": "2.13", "stdout_lines": ["2.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.024592", "end": "2025-12-18 12:00:20.602588", "msg": "", "rc": 0, "start": "2025-12-18 12:00:20.577996", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:00:11 up 4 days, 1:32, 1 user, load average: 0.27, 0.25, 0.23\nDisk Usage: 22%\nMemory Usage: 22.8%\nCPU Load: 0.33\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:00:11 up 22 days, 22:51, 1 user, load average: 0.11, 0.10, 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: 12:00:11 up 22 days, 23:11, 1 user, load average: 0.56, 0.48, 0.52\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.51\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:00:11 up 23 days, 24 min, 1 user, load average: 1.00, 0.73, 0.71\nDisk Usage: 14%\nMemory Usage: 58.9%\nCPU Load: 0.92\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:00:11 up 23 days, 1:10, 1 user, load average: 0.01, 0.02, 0.01\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:00:12 up 16 days, 1:26, 1 user, load average: 0.20, 0.10, 0.08\nDisk Usage: 21%\nMemory Usage: 20.2%\nCPU Load: 0.26\nCPU Temp: 35.4°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:00:12 up 195 days, 3:33, 1 user, load average: 0.17, 0.13, 0.13\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.16\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:00:12 up 195 days, 3:33, 1 user, load average: 0.07, 0.11, 0.10\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.14\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:59:44 up 11 days, 23:49, 0 user, load average: 0.11, 0.18, 0.16\nDisk Usage: 48%\nMemory Usage: 71.4%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:59:38 up 18 days, 20:01, 0 user, load average: 0.09, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 64.7%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:00:12 up 4 days, 1:31, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 1%\nMemory Usage: 36.3%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:59:41 up 21 days, 14:53, 0 user, load average: 0.37, 0.46, 0.50\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.39\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 11:59:48 up 18 days, 1:15, 0 user, load average: 0.04, 0.11, 0.14\nDisk Usage: 76%\nMemory Usage: 46.6%\nCPU Load: 0.04\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:00AM up 22 days, 22:50, 1 user, load averages: 0.13, 0.20, 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: 12:00:13 up 4 days, 1:31, 1 user, load average: 0.09, 0.07, 0.05\nDisk Usage: 79%\nMemory Usage: 14.1%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:00:14 up 8:09, 1 user, load average: 2.07, 2.39, 1.71\nDisk Usage: 1%\nMemory Usage: 13.0%\nCPU Load: 2.13\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-18T17:00:21.681168+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `e79ae1b780994132a278b40c7b076b4f` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T17:05:00.003907+00:00 |
| **Fin** | 2025-12-18T17:05:22.461378+00:00 |
| **Durée** | 22.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: [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.003357", "end": "2025-12-18 12:05:11.522823", "msg": "", "rc": 0, "start": "2025-12-18 12:05:11.519466", "stderr": "", "stderr_lines": [], "stdout": " 12:05:11 up 22 days, 22:56, 1 user, load average: 0.23, 0.29, 0.17", "stdout_lines": [" 12:05:11 up 22 days, 22:56, 1 user, load average: 0.23, 0.29, 0.17"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004014", "end": "2025-12-18 12:05:11.537595", "msg": "", "rc": 0, "start": "2025-12-18 12:05:11.533581", "stderr": "", "stderr_lines": [], "stdout": " 12:05:11 up 23 days, 1:15, 1 user, load average: 0.03, 0.02, 0.00", "stdout_lines": [" 12:05:11 up 23 days, 1:15, 1 user, load average: 0.03, 0.02, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003646", "end": "2025-12-18 12:05:11.533415", "msg": "", "rc": 0, "start": "2025-12-18 12:05:11.529769", "stderr": "", "stderr_lines": [], "stdout": " 12:05:11 up 22 days, 23:16, 1 user, load average: 0.36, 0.40, 0.46", "stdout_lines": [" 12:05:11 up 22 days, 23:16, 1 user, load average: 0.36, 0.40, 0.46"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004420", "end": "2025-12-18 12:05:11.554843", "msg": "", "rc": 0, "start": "2025-12-18 12:05:11.550423", "stderr": "", "stderr_lines": [], "stdout": " 12:05:11 up 23 days, 29 min, 1 user, load average: 0.64, 0.60, 0.66", "stdout_lines": [" 12:05:11 up 23 days, 29 min, 1 user, load average: 0.64, 0.60, 0.66"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002872", "end": "2025-12-18 12:05:11.570947", "msg": "", "rc": 0, "start": "2025-12-18 12:05:11.568075", "stderr": "", "stderr_lines": [], "stdout": " 12:05:11 up 4 days, 1:37, 1 user, load average: 0.62, 0.28, 0.23", "stdout_lines": [" 12:05:11 up 4 days, 1:37, 1 user, load average: 0.62, 0.28, 0.23"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002984", "end": "2025-12-18 12:04:44.624218", "msg": "", "rc": 0, "start": "2025-12-18 12:04:44.621234", "stderr": "", "stderr_lines": [], "stdout": " 12:04:44 up 11 days, 23:54, 0 user, load average: 0.03, 0.19, 0.18", "stdout_lines": [" 12:04:44 up 11 days, 23:54, 0 user, load average: 0.03, 0.19, 0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003681", "end": "2025-12-18 12:04:37.843408", "msg": "", "rc": 0, "start": "2025-12-18 12:04:37.839727", "stderr": "", "stderr_lines": [], "stdout": " 12:04:37 up 18 days, 20:06, 0 user, load average: 0.10, 0.08, 0.02", "stdout_lines": [" 12:04:37 up 18 days, 20:06, 0 user, load average: 0.10, 0.08, 0.02"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008428", "end": "2025-12-18 12:05:12.213854", "msg": "", "rc": 0, "start": "2025-12-18 12:05:12.205426", "stderr": "", "stderr_lines": [], "stdout": " 12:05:12 up 195 days, 3:38, 1 user, load average: 0.18, 0.15, 0.10", "stdout_lines": [" 12:05:12 up 195 days, 3:38, 1 user, load average: 0.18, 0.15, 0.10"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009137", "end": "2025-12-18 12:05:12.260978", "msg": "", "rc": 0, "start": "2025-12-18 12:05:12.251841", "stderr": "", "stderr_lines": [], "stdout": " 12:05:12 up 195 days, 3:38, 1 user, load average: 0.25, 0.20, 0.15", "stdout_lines": [" 12:05:12 up 195 days, 3:38, 1 user, load average: 0.25, 0.20, 0.15"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004906", "end": "2025-12-18 12:05:12.509181", "msg": "", "rc": 0, "start": "2025-12-18 12:05:12.504275", "stderr": "", "stderr_lines": [], "stdout": " 12:05:12 up 4 days, 1:36, 1 user, load average: 0.22, 0.07, 0.02", "stdout_lines": [" 12:05:12 up 4 days, 1:36, 1 user, load average: 0.22, 0.07, 0.02"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003047", "end": "2025-12-18 12:04:41.006802", "msg": "", "rc": 0, "start": "2025-12-18 12:04:41.003755", "stderr": "", "stderr_lines": [], "stdout": " 12:04:41 up 21 days, 14:58, 0 user, load average: 0.37, 0.41, 0.46", "stdout_lines": [" 12:04:41 up 21 days, 14:58, 0 user, load average: 0.37, 0.41, 0.46"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003214", "end": "2025-12-18 12:04:47.891870", "msg": "", "rc": 0, "start": "2025-12-18 12:04:47.888656", "stderr": "", "stderr_lines": [], "stdout": " 12:04:47 up 18 days, 1:20, 0 user, load average: 0.06, 0.11, 0.13", "stdout_lines": [" 12:04:47 up 18 days, 1:20, 0 user, load average: 0.06, 0.11, 0.13"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004255", "end": "2025-12-18 09:05:12.705367", "msg": "", "rc": 0, "start": "2025-12-18 09:05:12.701112", "stderr": "", "stderr_lines": [], "stdout": " 9:05AM up 22 days, 22:55, 1 user, load averages: 0.40, 0.25, 0.23", "stdout_lines": [" 9:05AM up 22 days, 22:55, 1 user, load averages: 0.40, 0.25, 0.23"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003663", "end": "2025-12-18 12:05:12.925424", "msg": "", "rc": 0, "start": "2025-12-18 12:05:12.921761", "stderr": "", "stderr_lines": [], "stdout": " 12:05:12 up 4 days, 1:36, 1 user, load average: 0.21, 0.18, 0.10", "stdout_lines": [" 12:05:12 up 4 days, 1:36, 1 user, load average: 0.21, 0.18, 0.10"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005353", "end": "2025-12-18 12:05:13.633354", "msg": "", "rc": 0, "start": "2025-12-18 12:05:13.628001", "stderr": "", "stderr_lines": [], "stdout": " 12:05:13 up 8:14, 1 user, load average: 1.17, 1.57, 1.54", "stdout_lines": [" 12:05:13 up 8:14, 1 user, load average: 1.17, 1.57, 1.54"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019344", "end": "2025-12-18 12:05:12.913075", "msg": "", "rc": 0, "start": "2025-12-18 12:05:12.893731", "stderr": "", "stderr_lines": [], "stdout": " 12:05:12 up 16 days, 1:31, 1 user, load average: 0.22, 0.12, 0.09", "stdout_lines": [" 12:05:12 up 16 days, 1:31, 1 user, load average: 0.22, 0.12, 0.09"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004400", "end": "2025-12-18 12:05:13.432745", "msg": "", "rc": 0, "start": "2025-12-18 12:05:13.428345", "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.004689", "end": "2025-12-18 12:05:13.448439", "msg": "", "rc": 0, "start": "2025-12-18 12:05:13.443750", "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.004246", "end": "2025-12-18 12:05:13.447514", "msg": "", "rc": 0, "start": "2025-12-18 12:05:13.443268", "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.004869", "end": "2025-12-18 12:05:13.485067", "msg": "", "rc": 0, "start": "2025-12-18 12:05:13.480198", "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.005570", "end": "2025-12-18 12:05:13.490897", "msg": "", "rc": 0, "start": "2025-12-18 12:05:13.485327", "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.005090", "end": "2025-12-18 12:04:46.520416", "msg": "", "rc": 0, "start": "2025-12-18 12:04:46.515326", "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.005293", "end": "2025-12-18 12:04:39.756653", "msg": "", "rc": 0, "start": "2025-12-18 12:04:39.751360", "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-18 12:05:14.157853", "msg": "", "rc": 0, "start": "2025-12-18 12:05:14.147354", "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.011695", "end": "2025-12-18 12:05:14.212235", "msg": "", "rc": 0, "start": "2025-12-18 12:05:14.200540", "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.005782", "end": "2025-12-18 12:05:14.415680", "msg": "", "rc": 0, "start": "2025-12-18 12:05:14.409898", "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.005318", "end": "2025-12-18 12:04:42.934797", "msg": "", "rc": 0, "start": "2025-12-18 12:04:42.929479", "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.004851", "end": "2025-12-18 12:04:49.834544", "msg": "", "rc": 0, "start": "2025-12-18 12:04:49.829693", "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.005356", "end": "2025-12-18 09:05:14.663449", "msg": "", "rc": 0, "start": "2025-12-18 09:05:14.658093", "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.005179", "end": "2025-12-18 12:05:14.844226", "msg": "", "rc": 0, "start": "2025-12-18 12:05:14.839047", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.008327", "end": "2025-12-18 12:05:15.649573", "msg": "", "rc": 0, "start": "2025-12-18 12:05:15.641246", "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.025403", "end": "2025-12-18 12:05:14.816019", "msg": "", "rc": 0, "start": "2025-12-18 12:05:14.790616", "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.004177", "end": "2025-12-18 12:05:15.323677", "msg": "", "rc": 0, "start": "2025-12-18 12:05:15.319500", "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.004323", "end": "2025-12-18 12:05:15.347309", "msg": "", "rc": 0, "start": "2025-12-18 12:05:15.342986", "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.004717", "end": "2025-12-18 12:05:15.362916", "msg": "", "rc": 0, "start": "2025-12-18 12:05:15.358199", "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.005177", "end": "2025-12-18 12:05:15.388009", "msg": "", "rc": 0, "start": "2025-12-18 12:05:15.382832", "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.005779", "end": "2025-12-18 12:05:15.397606", "msg": "", "rc": 0, "start": "2025-12-18 12:05:15.391827", "stderr": "", "stderr_lines": [], "stdout": "58.9%", "stdout_lines": ["58.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.004662", "end": "2025-12-18 12:04:48.462039", "msg": "", "rc": 0, "start": "2025-12-18 12:04:48.457377", "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.004920", "end": "2025-12-18 12:04:41.644113", "msg": "", "rc": 0, "start": "2025-12-18 12:04:41.639193", "stderr": "", "stderr_lines": [], "stdout": "64.9%", "stdout_lines": ["64.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.011024", "end": "2025-12-18 12:05:16.018697", "msg": "", "rc": 0, "start": "2025-12-18 12:05:16.007673", "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.012003", "end": "2025-12-18 12:05:16.070297", "msg": "", "rc": 0, "start": "2025-12-18 12:05:16.058294", "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.005887", "end": "2025-12-18 12:05:16.361931", "msg": "", "rc": 0, "start": "2025-12-18 12:05:16.356044", "stderr": "", "stderr_lines": [], "stdout": "36.2%", "stdout_lines": ["36.2%"]}
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.003948", "end": "2025-12-18 12:04:44.796434", "msg": "", "rc": 0, "start": "2025-12-18 12:04:44.792486", "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.005166", "end": "2025-12-18 09:05:16.518815", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 09:05:16.513649", "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.003563", "end": "2025-12-18 12:04:51.724284", "msg": "", "rc": 0, "start": "2025-12-18 12:04:51.720721", "stderr": "", "stderr_lines": [], "stdout": "46.8%", "stdout_lines": ["46.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.005354", "end": "2025-12-18 12:05:16.790886", "msg": "", "rc": 0, "start": "2025-12-18 12:05:16.785532", "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.008181", "end": "2025-12-18 12:05:17.626803", "msg": "", "rc": 0, "start": "2025-12-18 12:05:17.618622", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.026046", "end": "2025-12-18 12:05:16.710768", "msg": "", "rc": 0, "start": "2025-12-18 12:05:16.684722", "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.005309", "end": "2025-12-18 12:05:17.215270", "msg": "", "rc": 0, "start": "2025-12-18 12:05:17.209961", "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.004853", "end": "2025-12-18 12:05:17.243091", "msg": "", "rc": 0, "start": "2025-12-18 12:05:17.238238", "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.005718", "end": "2025-12-18 12:05:17.254018", "msg": "", "rc": 0, "start": "2025-12-18 12:05:17.248300", "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.003208", "end": "2025-12-18 12:05:17.277447", "msg": "", "rc": 0, "start": "2025-12-18 12:05:17.274239", "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.006091", "end": "2025-12-18 12:05:17.287846", "msg": "", "rc": 0, "start": "2025-12-18 12:05:17.281755", "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.002885", "end": "2025-12-18 12:04:50.289674", "msg": "", "rc": 0, "start": "2025-12-18 12:04:50.286789", "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.002961", "end": "2025-12-18 12:04:43.539324", "msg": "", "rc": 0, "start": "2025-12-18 12:04:43.536363", "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.011725", "end": "2025-12-18 12:05:17.900507", "msg": "", "rc": 0, "start": "2025-12-18 12:05:17.888782", "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.013029", "end": "2025-12-18 12:05:17.954813", "msg": "", "rc": 0, "start": "2025-12-18 12:05:17.941784", "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.003095", "end": "2025-12-18 12:05:18.180654", "msg": "", "rc": 0, "start": "2025-12-18 12:05:18.177559", "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.002892", "end": "2025-12-18 12:04:46.714202", "msg": "", "rc": 0, "start": "2025-12-18 12:04:46.711310", "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.002724", "end": "2025-12-18 12:04:53.582898", "msg": "", "rc": 0, "start": "2025-12-18 12:04:53.580174", "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.004385", "end": "2025-12-18 09:05:18.429618", "msg": "", "rc": 0, "start": "2025-12-18 09:05:18.425233", "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.002904", "end": "2025-12-18 12:05:18.599577", "msg": "", "rc": 0, "start": "2025-12-18 12:05:18.596673", "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.004919", "end": "2025-12-18 12:05:19.580160", "msg": "", "rc": 0, "start": "2025-12-18 12:05:19.575241", "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.028904", "end": "2025-12-18 12:05:18.595790", "msg": "", "rc": 0, "start": "2025-12-18 12:05:18.566886", "stderr": "", "stderr_lines": [], "stdout": "36.4°C", "stdout_lines": ["36.4°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.004091", "end": "2025-12-18 12:05:19.116527", "msg": "", "rc": 0, "start": "2025-12-18 12:05:19.112436", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
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.004064", "end": "2025-12-18 12:05:19.131971", "msg": "", "rc": 0, "start": "2025-12-18 12:05:19.127907", "stderr": "", "stderr_lines": [], "stdout": "0.73", "stdout_lines": ["0.73"]}
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.004989", "end": "2025-12-18 12:05:19.139129", "msg": "", "rc": 0, "start": "2025-12-18 12:05:19.134140", "stderr": "", "stderr_lines": [], "stdout": "0.42", "stdout_lines": ["0.42"]}
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.005319", "end": "2025-12-18 12:05:19.159971", "msg": "", "rc": 0, "start": "2025-12-18 12:05:19.154652", "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.005355", "end": "2025-12-18 12:05:19.171201", "msg": "", "rc": 0, "start": "2025-12-18 12:05:19.165846", "stderr": "", "stderr_lines": [], "stdout": "0.67", "stdout_lines": ["0.67"]}
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.004385", "end": "2025-12-18 12:04:52.219570", "msg": "", "rc": 0, "start": "2025-12-18 12:04:52.215185", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
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.004936", "end": "2025-12-18 12:04:45.442471", "msg": "", "rc": 0, "start": "2025-12-18 12:04:45.437535", "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.010121", "end": "2025-12-18 12:05:19.872508", "msg": "", "rc": 0, "start": "2025-12-18 12:05:19.862387", "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.011005", "end": "2025-12-18 12:05:19.949515", "msg": "", "rc": 0, "start": "2025-12-18 12:05:19.938510", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
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.005508", "end": "2025-12-18 12:05:20.111306", "msg": "", "rc": 0, "start": "2025-12-18 12:05:20.105798", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
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.005051", "end": "2025-12-18 12:04:48.601243", "msg": "", "rc": 0, "start": "2025-12-18 12:04:48.596192", "stderr": "", "stderr_lines": [], "stdout": "0.87", "stdout_lines": ["0.87"]}
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.004630", "end": "2025-12-18 12:04:55.585204", "msg": "", "rc": 0, "start": "2025-12-18 12:04:55.580574", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
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.005903", "end": "2025-12-18 09:05:20.401182", "msg": "", "rc": 0, "start": "2025-12-18 09:05:20.395279", "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.005150", "end": "2025-12-18 12:05:20.547668", "msg": "", "rc": 0, "start": "2025-12-18 12:05:20.542518", "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.007827", "end": "2025-12-18 12:05:21.551308", "msg": "", "rc": 0, "start": "2025-12-18 12:05:21.543481", "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.024115", "end": "2025-12-18 12:05:20.496900", "msg": "", "rc": 0, "start": "2025-12-18 12:05:20.472785", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:05:11 up 4 days, 1:37, 1 user, load average: 0.62, 0.28, 0.23\nDisk Usage: 22%\nMemory Usage: 22.5%\nCPU Load: 0.73\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:05:11 up 22 days, 22:56, 1 user, load average: 0.23, 0.29, 0.17\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.34\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:05:11 up 22 days, 23:16, 1 user, load average: 0.36, 0.40, 0.46\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.42\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:05:11 up 23 days, 29 min, 1 user, load average: 0.64, 0.60, 0.66\nDisk Usage: 14%\nMemory Usage: 58.9%\nCPU Load: 0.67\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:05:12 up 16 days, 1:31, 1 user, load average: 0.22, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 20.7%\nCPU Load: 0.28\nCPU Temp: 36.4°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:05:11 up 23 days, 1:15, 1 user, load average: 0.03, 0.02, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:05:12 up 195 days, 3:38, 1 user, load average: 0.25, 0.20, 0.15\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.21\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:05:12 up 195 days, 3:38, 1 user, load average: 0.18, 0.15, 0.10\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.16\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:04:44 up 11 days, 23:54, 0 user, load average: 0.03, 0.19, 0.18\nDisk Usage: 48%\nMemory Usage: 71.3%\nCPU Load: 0.24\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:04:37 up 18 days, 20:06, 0 user, load average: 0.10, 0.08, 0.02\nDisk Usage: 24%\nMemory Usage: 64.9%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:05:12 up 4 days, 1:36, 1 user, load average: 0.22, 0.07, 0.02\nDisk Usage: 1%\nMemory Usage: 36.2%\nCPU Load: 0.26\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:04:41 up 21 days, 14:58, 0 user, load average: 0.37, 0.41, 0.46\nDisk Usage: 28%\nMemory Usage: 27.5%\nCPU Load: 0.87\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:04:47 up 18 days, 1:20, 0 user, load average: 0.06, 0.11, 0.13\nDisk Usage: 76%\nMemory Usage: 46.8%\nCPU Load: 0.12\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:05AM up 22 days, 22:55, 1 user, load averages: 0.40, 0.25, 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: 12:05:12 up 4 days, 1:36, 1 user, load average: 0.21, 0.18, 0.10\nDisk Usage: 79%\nMemory Usage: 13.9%\nCPU Load: 0.19\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:05:13 up 8:14, 1 user, load average: 1.17, 1.57, 1.54\nDisk Usage: 1%\nMemory Usage: 13.1%\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-18T17:05:22.521844+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `22464403b1c041a7b28af08bd6141924` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T17:10:00.000921+00:00 |
| **Fin** | 2025-12-18T17:10:23.436986+00:00 |
| **Durée** | 23.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: [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.003787", "end": "2025-12-18 12:10:11.543910", "msg": "", "rc": 0, "start": "2025-12-18 12:10:11.540123", "stderr": "", "stderr_lines": [], "stdout": " 12:10:11 up 23 days, 1:20, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 12:10:11 up 23 days, 1:20, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003572", "end": "2025-12-18 12:10:11.555792", "msg": "", "rc": 0, "start": "2025-12-18 12:10:11.552220", "stderr": "", "stderr_lines": [], "stdout": " 12:10:11 up 22 days, 23:21, 1 user, load average: 0.58, 0.42, 0.45", "stdout_lines": [" 12:10:11 up 22 days, 23:21, 1 user, load average: 0.58, 0.42, 0.45"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003945", "end": "2025-12-18 12:10:11.562737", "msg": "", "rc": 0, "start": "2025-12-18 12:10:11.558792", "stderr": "", "stderr_lines": [], "stdout": " 12:10:11 up 23 days, 34 min, 1 user, load average: 0.64, 0.59, 0.64", "stdout_lines": [" 12:10:11 up 23 days, 34 min, 1 user, load average: 0.64, 0.59, 0.64"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002815", "end": "2025-12-18 12:10:11.570599", "msg": "", "rc": 0, "start": "2025-12-18 12:10:11.567784", "stderr": "", "stderr_lines": [], "stdout": " 12:10:11 up 4 days, 1:42, 1 user, load average: 0.24, 0.30, 0.26", "stdout_lines": [" 12:10:11 up 4 days, 1:42, 1 user, load average: 0.24, 0.30, 0.26"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003594", "end": "2025-12-18 12:09:44.607028", "msg": "", "rc": 0, "start": "2025-12-18 12:09:44.603434", "stderr": "", "stderr_lines": [], "stdout": " 12:09:44 up 11 days, 23:59, 0 user, load average: 0.21, 0.21, 0.18", "stdout_lines": [" 12:09:44 up 11 days, 23:59, 0 user, load average: 0.21, 0.21, 0.18"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008454", "end": "2025-12-18 12:10:12.229381", "msg": "", "rc": 0, "start": "2025-12-18 12:10:12.220927", "stderr": "", "stderr_lines": [], "stdout": " 12:10:12 up 195 days, 3:43, 1 user, load average: 0.32, 0.21, 0.13", "stdout_lines": [" 12:10:12 up 195 days, 3:43, 1 user, load average: 0.32, 0.21, 0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009290", "end": "2025-12-18 12:10:12.249201", "msg": "", "rc": 0, "start": "2025-12-18 12:10:12.239911", "stderr": "", "stderr_lines": [], "stdout": " 12:10:12 up 195 days, 3:43, 1 user, load average: 0.38, 0.26, 0.19", "stdout_lines": [" 12:10:12 up 195 days, 3:43, 1 user, load average: 0.38, 0.26, 0.19"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.006016", "end": "2025-12-18 12:10:12.533631", "msg": "", "rc": 0, "start": "2025-12-18 12:10:11.527615", "stderr": "", "stderr_lines": [], "stdout": " 12:10:11 up 22 days, 23:01, 1 user, load average: 0.22, 0.23, 0.18", "stdout_lines": [" 12:10:11 up 22 days, 23:01, 1 user, load average: 0.22, 0.23, 0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003505", "end": "2025-12-18 12:09:38.277015", "msg": "", "rc": 0, "start": "2025-12-18 12:09:38.273510", "stderr": "", "stderr_lines": [], "stdout": " 12:09:38 up 18 days, 20:11, 0 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 12:09:38 up 18 days, 20:11, 0 user, load average: 0.00, 0.02, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004761", "end": "2025-12-18 12:10:12.728243", "msg": "", "rc": 0, "start": "2025-12-18 12:10:12.723482", "stderr": "", "stderr_lines": [], "stdout": " 12:10:12 up 4 days, 1:41, 1 user, load average: 0.10, 0.08, 0.03", "stdout_lines": [" 12:10:12 up 4 days, 1:41, 1 user, load average: 0.10, 0.08, 0.03"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003695", "end": "2025-12-18 12:09:41.180971", "msg": "", "rc": 0, "start": "2025-12-18 12:09:41.177276", "stderr": "", "stderr_lines": [], "stdout": " 12:09:41 up 21 days, 15:03, 0 user, load average: 0.91, 0.64, 0.55", "stdout_lines": [" 12:09:41 up 21 days, 15:03, 0 user, load average: 0.91, 0.64, 0.55"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004150", "end": "2025-12-18 09:10:12.975302", "msg": "", "rc": 0, "start": "2025-12-18 09:10:12.971152", "stderr": "", "stderr_lines": [], "stdout": " 9:10AM up 22 days, 23 hrs, 1 user, load averages: 0.18, 0.27, 0.24", "stdout_lines": [" 9:10AM up 22 days, 23 hrs, 1 user, load averages: 0.18, 0.27, 0.24"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003176", "end": "2025-12-18 12:09:48.195951", "msg": "", "rc": 0, "start": "2025-12-18 12:09:48.192775", "stderr": "", "stderr_lines": [], "stdout": " 12:09:48 up 18 days, 1:25, 0 user, load average: 0.33, 0.13, 0.12", "stdout_lines": [" 12:09:48 up 18 days, 1:25, 0 user, load average: 0.33, 0.13, 0.12"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019162", "end": "2025-12-18 12:10:13.023505", "msg": "", "rc": 0, "start": "2025-12-18 12:10:13.004343", "stderr": "", "stderr_lines": [], "stdout": " 12:10:13 up 16 days, 1:36, 1 user, load average: 0.21, 0.14, 0.10", "stdout_lines": [" 12:10:13 up 16 days, 1:36, 1 user, load average: 0.21, 0.14, 0.10"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007939", "end": "2025-12-18 12:10:13.437391", "msg": "", "rc": 0, "start": "2025-12-18 12:10:13.429452", "stderr": "", "stderr_lines": [], "stdout": " 12:10:13 up 8:19, 1 user, load average: 1.19, 1.33, 1.44", "stdout_lines": [" 12:10:13 up 8:19, 1 user, load average: 1.19, 1.33, 1.44"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004849", "end": "2025-12-18 12:10:14.145680", "msg": "", "rc": 0, "start": "2025-12-18 12:10:13.140831", "stderr": "", "stderr_lines": [], "stdout": " 12:10:13 up 4 days, 1:41, 1 user, load average: 0.20, 0.15, 0.10", "stdout_lines": [" 12:10:13 up 4 days, 1:41, 1 user, load average: 0.20, 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.004316", "end": "2025-12-18 12:10:14.548572", "msg": "", "rc": 0, "start": "2025-12-18 12:10:14.544256", "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.004018", "end": "2025-12-18 12:10:14.576548", "msg": "", "rc": 0, "start": "2025-12-18 12:10:14.572530", "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.005177", "end": "2025-12-18 12:10:14.589174", "msg": "", "rc": 0, "start": "2025-12-18 12:10:14.583997", "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.004740", "end": "2025-12-18 12:10:14.599211", "msg": "", "rc": 0, "start": "2025-12-18 12:10:14.594471", "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.005534", "end": "2025-12-18 12:10:14.608274", "msg": "", "rc": 0, "start": "2025-12-18 12:10:14.602740", "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.004719", "end": "2025-12-18 12:09:47.616252", "msg": "", "rc": 0, "start": "2025-12-18 12:09:47.611533", "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.005414", "end": "2025-12-18 12:09:40.862728", "msg": "", "rc": 0, "start": "2025-12-18 12:09:40.857314", "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-18 12:10:15.323156", "msg": "", "rc": 0, "start": "2025-12-18 12:10:15.312471", "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.011439", "end": "2025-12-18 12:10:15.356399", "msg": "", "rc": 0, "start": "2025-12-18 12:10:15.344960", "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.006554", "end": "2025-12-18 12:10:15.497773", "msg": "", "rc": 0, "start": "2025-12-18 12:10:15.491219", "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.005290", "end": "2025-12-18 12:09:44.036469", "msg": "", "rc": 0, "start": "2025-12-18 12:09:44.031179", "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.004596", "end": "2025-12-18 12:09:51.013482", "msg": "", "rc": 0, "start": "2025-12-18 12:09:51.008886", "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.005332", "end": "2025-12-18 09:10:15.817004", "msg": "", "rc": 0, "start": "2025-12-18 09:10:15.811672", "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.005609", "end": "2025-12-18 12:10:15.934606", "msg": "", "rc": 0, "start": "2025-12-18 12:10:15.928997", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020867", "end": "2025-12-18 12:10:16.407634", "msg": "", "rc": 0, "start": "2025-12-18 12:10:16.386767", "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.025361", "end": "2025-12-18 12:10:15.979489", "msg": "", "rc": 0, "start": "2025-12-18 12:10:15.954128", "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.004316", "end": "2025-12-18 12:10:16.490105", "msg": "", "rc": 0, "start": "2025-12-18 12:10:16.485789", "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-18 12:10:16.506677", "msg": "", "rc": 0, "start": "2025-12-18 12:10:16.502512", "stderr": "", "stderr_lines": [], "stdout": "22.8%", "stdout_lines": ["22.8%"]}
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.004842", "end": "2025-12-18 12:10:16.507056", "msg": "", "rc": 0, "start": "2025-12-18 12:10:16.502214", "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.004919", "end": "2025-12-18 12:10:16.541065", "msg": "", "rc": 0, "start": "2025-12-18 12:10:16.536146", "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.005716", "end": "2025-12-18 12:10:16.552542", "msg": "", "rc": 0, "start": "2025-12-18 12:10:16.546826", "stderr": "", "stderr_lines": [], "stdout": "58.9%", "stdout_lines": ["58.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-18 12:09:49.542992", "msg": "", "rc": 0, "start": "2025-12-18 12:09:49.539257", "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.004355", "end": "2025-12-18 12:09:42.827563", "msg": "", "rc": 0, "start": "2025-12-18 12:09:42.823208", "stderr": "", "stderr_lines": [], "stdout": "64.6%", "stdout_lines": ["64.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.010967", "end": "2025-12-18 12:10:17.175066", "msg": "", "rc": 0, "start": "2025-12-18 12:10:17.164099", "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.011956", "end": "2025-12-18 12:10:17.217705", "msg": "", "rc": 0, "start": "2025-12-18 12:10:17.205749", "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.005976", "end": "2025-12-18 12:10:17.423523", "msg": "", "rc": 0, "start": "2025-12-18 12:10:17.417547", "stderr": "", "stderr_lines": [], "stdout": "36.3%", "stdout_lines": ["36.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.004910", "end": "2025-12-18 12:09:45.998560", "msg": "", "rc": 0, "start": "2025-12-18 12:09:45.993650", "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.005108", "end": "2025-12-18 09:10:17.671540", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 09:10:17.666432", "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.003739", "end": "2025-12-18 12:09:52.890690", "msg": "", "rc": 0, "start": "2025-12-18 12:09:52.886951", "stderr": "", "stderr_lines": [], "stdout": "47.0%", "stdout_lines": ["47.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.005523", "end": "2025-12-18 12:10:17.851300", "msg": "", "rc": 0, "start": "2025-12-18 12:10:17.845777", "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.008539", "end": "2025-12-18 12:10:18.446744", "msg": "", "rc": 0, "start": "2025-12-18 12:10:18.438205", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.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.025928", "end": "2025-12-18 12:10:17.899568", "msg": "", "rc": 0, "start": "2025-12-18 12:10:17.873640", "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.005796", "end": "2025-12-18 12:10:18.420088", "msg": "", "rc": 0, "start": "2025-12-18 12:10:18.414292", "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.005075", "end": "2025-12-18 12:10:18.432310", "msg": "", "rc": 0, "start": "2025-12-18 12:10:18.427235", "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.005326", "end": "2025-12-18 12:10:18.445424", "msg": "", "rc": 0, "start": "2025-12-18 12:10:18.440098", "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.002950", "end": "2025-12-18 12:10:18.462965", "msg": "", "rc": 0, "start": "2025-12-18 12:10:18.460015", "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.006398", "end": "2025-12-18 12:10:18.483150", "msg": "", "rc": 0, "start": "2025-12-18 12:10:18.476752", "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.002548", "end": "2025-12-18 12:09:51.530825", "msg": "", "rc": 0, "start": "2025-12-18 12:09:51.528277", "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.003294", "end": "2025-12-18 12:09:44.741891", "msg": "", "rc": 0, "start": "2025-12-18 12:09:44.738597", "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.011798", "end": "2025-12-18 12:10:19.113527", "msg": "", "rc": 0, "start": "2025-12-18 12:10:19.101729", "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.013672", "end": "2025-12-18 12:10:19.145968", "msg": "", "rc": 0, "start": "2025-12-18 12:10:19.132296", "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.003331", "end": "2025-12-18 12:10:19.409240", "msg": "", "rc": 0, "start": "2025-12-18 12:10:19.405909", "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.002820", "end": "2025-12-18 12:09:47.902280", "msg": "", "rc": 0, "start": "2025-12-18 12:09:47.899460", "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.003981", "end": "2025-12-18 09:10:19.604505", "msg": "", "rc": 0, "start": "2025-12-18 09:10:19.600524", "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.002747", "end": "2025-12-18 12:09:54.804881", "msg": "", "rc": 0, "start": "2025-12-18 12:09:54.802134", "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.002870", "end": "2025-12-18 12:10:19.838037", "msg": "", "rc": 0, "start": "2025-12-18 12:10:19.835167", "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.004146", "end": "2025-12-18 12:10:20.416940", "msg": "", "rc": 0, "start": "2025-12-18 12:10:20.412794", "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.028616", "end": "2025-12-18 12:10:19.819895", "msg": "", "rc": 0, "start": "2025-12-18 12:10:19.791279", "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.004045", "end": "2025-12-18 12:10:20.332400", "msg": "", "rc": 0, "start": "2025-12-18 12:10:20.328355", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
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.004100", "end": "2025-12-18 12:10:20.354991", "msg": "", "rc": 0, "start": "2025-12-18 12:10:20.350891", "stderr": "", "stderr_lines": [], "stdout": "0.30", "stdout_lines": ["0.30"]}
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-18 12:10:20.371751", "msg": "", "rc": 0, "start": "2025-12-18 12:10:20.366912", "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.005154", "end": "2025-12-18 12:10:20.389553", "msg": "", "rc": 0, "start": "2025-12-18 12:10:20.384399", "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.005239", "end": "2025-12-18 12:10:20.404577", "msg": "", "rc": 0, "start": "2025-12-18 12:10:20.399338", "stderr": "", "stderr_lines": [], "stdout": "0.70", "stdout_lines": ["0.70"]}
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-18 12:09:53.419552", "msg": "", "rc": 0, "start": "2025-12-18 12:09:53.415408", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
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.005304", "end": "2025-12-18 12:09:46.657928", "msg": "", "rc": 0, "start": "2025-12-18 12:09:46.652624", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
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-18 12:10:21.106487", "msg": "", "rc": 0, "start": "2025-12-18 12:10:21.095406", "stderr": "", "stderr_lines": [], "stdout": "0.32", "stdout_lines": ["0.32"]}
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.010234", "end": "2025-12-18 12:10:21.129144", "msg": "", "rc": 0, "start": "2025-12-18 12:10:21.118910", "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.005669", "end": "2025-12-18 12:10:21.294944", "msg": "", "rc": 0, "start": "2025-12-18 12:10:21.289275", "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.004950", "end": "2025-12-18 12:09:49.817029", "msg": "", "rc": 0, "start": "2025-12-18 12:09:49.812079", "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.006015", "end": "2025-12-18 09:10:21.574591", "msg": "", "rc": 0, "start": "2025-12-18 09:10:21.568576", "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.004497", "end": "2025-12-18 12:09:56.798261", "msg": "", "rc": 0, "start": "2025-12-18 12:09:56.793764", "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.005566", "end": "2025-12-18 12:10:21.724477", "msg": "", "rc": 0, "start": "2025-12-18 12:10:21.718911", "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.006938", "end": "2025-12-18 12:10:22.467699", "msg": "", "rc": 0, "start": "2025-12-18 12:10:22.460761", "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.024136", "end": "2025-12-18 12:10:21.712602", "msg": "", "rc": 0, "start": "2025-12-18 12:10:21.688466", "stderr": "", "stderr_lines": [], "stdout": "0.28", "stdout_lines": ["0.28"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:10:11 up 4 days, 1:42, 1 user, load average: 0.24, 0.30, 0.26\nDisk Usage: 22%\nMemory Usage: 22.8%\nCPU Load: 0.30\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:10:11 up 22 days, 23:01, 1 user, load average: 0.22, 0.23, 0.18\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.27\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:10:11 up 22 days, 23:21, 1 user, load average: 0.58, 0.42, 0.45\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.69\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:10:11 up 23 days, 34 min, 1 user, load average: 0.64, 0.59, 0.64\nDisk Usage: 14%\nMemory Usage: 58.9%\nCPU Load: 0.70\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:10:11 up 23 days, 1:20, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:10:13 up 16 days, 1:36, 1 user, load average: 0.21, 0.14, 0.10\nDisk Usage: 21%\nMemory Usage: 20.6%\nCPU Load: 0.28\nCPU Temp: 35.2°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:10:12 up 195 days, 3:43, 1 user, load average: 0.38, 0.26, 0.19\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.32\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:10:12 up 195 days, 3:43, 1 user, load average: 0.32, 0.21, 0.13\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.27\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:09:44 up 11 days, 23:59, 0 user, load average: 0.21, 0.21, 0.18\nDisk Usage: 48%\nMemory Usage: 71.1%\nCPU Load: 0.34\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:09:38 up 18 days, 20:11, 0 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 64.6%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:10:12 up 4 days, 1:41, 1 user, load average: 0.10, 0.08, 0.03\nDisk Usage: 1%\nMemory Usage: 36.3%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:09:41 up 21 days, 15:03, 0 user, load average: 0.91, 0.64, 0.55\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.77\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:09:48 up 18 days, 1:25, 0 user, load average: 0.33, 0.13, 0.12\nDisk Usage: 76%\nMemory Usage: 47.0%\nCPU Load: 0.30\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:10AM up 22 days, 23 hrs, 1 user, load averages: 0.18, 0.27, 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: 12:10:13 up 4 days, 1:41, 1 user, load average: 0.20, 0.15, 0.10\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: 12:10:13 up 8:19, 1 user, load average: 1.19, 1.33, 1.44\nDisk Usage: 1%\nMemory Usage: 12.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-18T17:10:23.590355+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `6f2b172713884748a8488d9ba897ac03` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T17:15:00.001801+00:00 |
| **Fin** | 2025-12-18T17:15:21.825160+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: [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.004102", "end": "2025-12-18 12:15:11.734755", "msg": "", "rc": 0, "start": "2025-12-18 12:15:11.730653", "stderr": "", "stderr_lines": [], "stdout": " 12:15:11 up 22 days, 23:06, 1 user, load average: 0.39, 0.26, 0.19", "stdout_lines": [" 12:15:11 up 22 days, 23:06, 1 user, load average: 0.39, 0.26, 0.19"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003373", "end": "2025-12-18 12:15:11.745161", "msg": "", "rc": 0, "start": "2025-12-18 12:15:11.741788", "stderr": "", "stderr_lines": [], "stdout": " 12:15:11 up 23 days, 1:25, 1 user, load average: 0.01, 0.00, 0.00", "stdout_lines": [" 12:15:11 up 23 days, 1:25, 1 user, load average: 0.01, 0.00, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003270", "end": "2025-12-18 12:15:11.744878", "msg": "", "rc": 0, "start": "2025-12-18 12:15:11.741608", "stderr": "", "stderr_lines": [], "stdout": " 12:15:11 up 22 days, 23:26, 1 user, load average: 0.37, 0.48, 0.47", "stdout_lines": [" 12:15:11 up 22 days, 23:26, 1 user, load average: 0.37, 0.48, 0.47"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002797", "end": "2025-12-18 12:15:11.772798", "msg": "", "rc": 0, "start": "2025-12-18 12:15:11.770001", "stderr": "", "stderr_lines": [], "stdout": " 12:15:11 up 4 days, 1:47, 1 user, load average: 0.25, 0.20, 0.22", "stdout_lines": [" 12:15:11 up 4 days, 1:47, 1 user, load average: 0.25, 0.20, 0.22"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003943", "end": "2025-12-18 12:15:11.766125", "msg": "", "rc": 0, "start": "2025-12-18 12:15:11.762182", "stderr": "", "stderr_lines": [], "stdout": " 12:15:11 up 23 days, 39 min, 1 user, load average: 0.43, 0.50, 0.59", "stdout_lines": [" 12:15:11 up 23 days, 39 min, 1 user, load average: 0.43, 0.50, 0.59"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003040", "end": "2025-12-18 12:14:44.776634", "msg": "", "rc": 0, "start": "2025-12-18 12:14:44.773594", "stderr": "", "stderr_lines": [], "stdout": " 12:14:44 up 12 days, 4 min, 0 user, load average: 0.19, 0.20, 0.18", "stdout_lines": [" 12:14:44 up 12 days, 4 min, 0 user, load average: 0.19, 0.20, 0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003667", "end": "2025-12-18 12:14:38.022012", "msg": "", "rc": 0, "start": "2025-12-18 12:14:38.018345", "stderr": "", "stderr_lines": [], "stdout": " 12:14:38 up 18 days, 20:16, 0 user, load average: 0.03, 0.01, 0.00", "stdout_lines": [" 12:14:38 up 18 days, 20:16, 0 user, load average: 0.03, 0.01, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008574", "end": "2025-12-18 12:15:12.405388", "msg": "", "rc": 0, "start": "2025-12-18 12:15:12.396814", "stderr": "", "stderr_lines": [], "stdout": " 12:15:12 up 195 days, 3:48, 1 user, load average: 0.35, 0.24, 0.16", "stdout_lines": [" 12:15:12 up 195 days, 3:48, 1 user, load average: 0.35, 0.24, 0.16"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009355", "end": "2025-12-18 12:15:12.434802", "msg": "", "rc": 0, "start": "2025-12-18 12:15:12.425447", "stderr": "", "stderr_lines": [], "stdout": " 12:15:12 up 195 days, 3:48, 1 user, load average: 0.26, 0.20, 0.18", "stdout_lines": [" 12:15:12 up 195 days, 3:48, 1 user, load average: 0.26, 0.20, 0.18"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004805", "end": "2025-12-18 12:15:12.665708", "msg": "", "rc": 0, "start": "2025-12-18 12:15:12.660903", "stderr": "", "stderr_lines": [], "stdout": " 12:15:12 up 4 days, 1:46, 1 user, load average: 0.08, 0.04, 0.01", "stdout_lines": [" 12:15:12 up 4 days, 1:46, 1 user, load average: 0.08, 0.04, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003044", "end": "2025-12-18 12:14:41.183193", "msg": "", "rc": 0, "start": "2025-12-18 12:14:41.180149", "stderr": "", "stderr_lines": [], "stdout": " 12:14:41 up 21 days, 15:08, 0 user, load average: 0.66, 0.59, 0.55", "stdout_lines": [" 12:14:41 up 21 days, 15:08, 0 user, load average: 0.66, 0.59, 0.55"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002855", "end": "2025-12-18 12:14:48.068166", "msg": "", "rc": 0, "start": "2025-12-18 12:14:48.065311", "stderr": "", "stderr_lines": [], "stdout": " 12:14:48 up 18 days, 1:30, 0 user, load average: 0.06, 0.11, 0.10", "stdout_lines": [" 12:14:48 up 18 days, 1:30, 0 user, load average: 0.06, 0.11, 0.10"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004100", "end": "2025-12-18 09:15:12.884081", "msg": "", "rc": 0, "start": "2025-12-18 09:15:12.879981", "stderr": "", "stderr_lines": [], "stdout": " 9:15AM up 22 days, 23:05, 1 user, load averages: 0.14, 0.19, 0.21", "stdout_lines": [" 9:15AM up 22 days, 23:05, 1 user, load averages: 0.14, 0.19, 0.21"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003729", "end": "2025-12-18 12:15:13.087847", "msg": "", "rc": 0, "start": "2025-12-18 12:15:13.084118", "stderr": "", "stderr_lines": [], "stdout": " 12:15:13 up 4 days, 1:46, 1 user, load average: 0.16, 0.15, 0.10", "stdout_lines": [" 12:15:13 up 4 days, 1:46, 1 user, load average: 0.16, 0.15, 0.10"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008367", "end": "2025-12-18 12:15:14.346299", "msg": "", "rc": 0, "start": "2025-12-18 12:15:14.337932", "stderr": "", "stderr_lines": [], "stdout": " 12:15:14 up 8:24, 1 user, load average: 1.09, 1.15, 1.33", "stdout_lines": [" 12:15:14 up 8:24, 1 user, load average: 1.09, 1.15, 1.33"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019423", "end": "2025-12-18 12:15:13.101934", "msg": "", "rc": 0, "start": "2025-12-18 12:15:13.082511", "stderr": "", "stderr_lines": [], "stdout": " 12:15:13 up 16 days, 1:41, 1 user, load average: 0.19, 0.12, 0.09", "stdout_lines": [" 12:15:13 up 16 days, 1:41, 1 user, load average: 0.19, 0.12, 0.09"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004376", "end": "2025-12-18 12:15:13.617085", "msg": "", "rc": 0, "start": "2025-12-18 12:15:13.612709", "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.004041", "end": "2025-12-18 12:15:13.620897", "msg": "", "rc": 0, "start": "2025-12-18 12:15:13.616856", "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.004759", "end": "2025-12-18 12:15:13.642290", "msg": "", "rc": 0, "start": "2025-12-18 12:15:13.637531", "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.005114", "end": "2025-12-18 12:15:13.673428", "msg": "", "rc": 0, "start": "2025-12-18 12:15:13.668314", "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.005575", "end": "2025-12-18 12:15:13.687619", "msg": "", "rc": 0, "start": "2025-12-18 12:15:13.682044", "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.005417", "end": "2025-12-18 12:14:46.700322", "msg": "", "rc": 0, "start": "2025-12-18 12:14:46.694905", "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.005919", "end": "2025-12-18 12:14:39.927486", "msg": "", "rc": 0, "start": "2025-12-18 12:14:39.921567", "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.010839", "end": "2025-12-18 12:15:14.351558", "msg": "", "rc": 0, "start": "2025-12-18 12:15:14.340719", "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.011509", "end": "2025-12-18 12:15:14.367130", "msg": "", "rc": 0, "start": "2025-12-18 12:15:14.355621", "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-18 12:15:14.607108", "msg": "", "rc": 0, "start": "2025-12-18 12:15:14.601405", "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.005352", "end": "2025-12-18 12:14:43.087079", "msg": "", "rc": 0, "start": "2025-12-18 12:14:43.081727", "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.005314", "end": "2025-12-18 09:15:14.814140", "msg": "", "rc": 0, "start": "2025-12-18 09:15:14.808826", "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.004608", "end": "2025-12-18 12:14:50.024585", "msg": "", "rc": 0, "start": "2025-12-18 12:14:50.019977", "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.005303", "end": "2025-12-18 12:15:15.039038", "msg": "", "rc": 0, "start": "2025-12-18 12:15:15.033735", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.021012", "end": "2025-12-18 12:15:16.339775", "msg": "", "rc": 0, "start": "2025-12-18 12:15:16.318763", "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.025787", "end": "2025-12-18 12:15:15.008148", "msg": "", "rc": 0, "start": "2025-12-18 12:15:14.982361", "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.004266", "end": "2025-12-18 12:15:15.520426", "msg": "", "rc": 0, "start": "2025-12-18 12:15:15.516160", "stderr": "", "stderr_lines": [], "stdout": "22.8%", "stdout_lines": ["22.8%"]}
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.005001", "end": "2025-12-18 12:15:15.527319", "msg": "", "rc": 0, "start": "2025-12-18 12:15:15.522318", "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.004790", "end": "2025-12-18 12:15:15.546646", "msg": "", "rc": 0, "start": "2025-12-18 12:15:15.541856", "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.004721", "end": "2025-12-18 12:15:15.578108", "msg": "", "rc": 0, "start": "2025-12-18 12:15:15.573387", "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.005827", "end": "2025-12-18 12:15:15.579615", "msg": "", "rc": 0, "start": "2025-12-18 12:15:15.573788", "stderr": "", "stderr_lines": [], "stdout": "58.8%", "stdout_lines": ["58.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.004221", "end": "2025-12-18 12:14:48.591725", "msg": "", "rc": 0, "start": "2025-12-18 12:14:48.587504", "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.004206", "end": "2025-12-18 12:14:41.818706", "msg": "", "rc": 0, "start": "2025-12-18 12:14:41.814500", "stderr": "", "stderr_lines": [], "stdout": "64.7%", "stdout_lines": ["64.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.010950", "end": "2025-12-18 12:15:16.211967", "msg": "", "rc": 0, "start": "2025-12-18 12:15:16.201017", "stderr": "", "stderr_lines": [], "stdout": "6.6%", "stdout_lines": ["6.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.011798", "end": "2025-12-18 12:15:16.223061", "msg": "", "rc": 0, "start": "2025-12-18 12:15:16.211263", "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.005803", "end": "2025-12-18 12:15:16.488199", "msg": "", "rc": 0, "start": "2025-12-18 12:15:16.482396", "stderr": "", "stderr_lines": [], "stdout": "36.4%", "stdout_lines": ["36.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.004198", "end": "2025-12-18 12:14:44.981936", "msg": "", "rc": 0, "start": "2025-12-18 12:14:44.977738", "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.005106", "end": "2025-12-18 09:15:16.685235", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 09:15:16.680129", "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.003918", "end": "2025-12-18 12:14:51.888525", "msg": "", "rc": 0, "start": "2025-12-18 12:14:51.884607", "stderr": "", "stderr_lines": [], "stdout": "48.2%", "stdout_lines": ["48.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.005729", "end": "2025-12-18 12:15:16.925463", "msg": "", "rc": 0, "start": "2025-12-18 12:15:16.919734", "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.009504", "end": "2025-12-18 12:15:16.968516", "msg": "", "rc": 0, "start": "2025-12-18 12:15:16.959012", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.026109", "end": "2025-12-18 12:15:16.902748", "msg": "", "rc": 0, "start": "2025-12-18 12:15:16.876639", "stderr": "", "stderr_lines": [], "stdout": "20.8%", "stdout_lines": ["20.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.005567", "end": "2025-12-18 12:15:17.416638", "msg": "", "rc": 0, "start": "2025-12-18 12:15:17.411071", "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.005089", "end": "2025-12-18 12:15:17.416946", "msg": "", "rc": 0, "start": "2025-12-18 12:15:17.411857", "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.006267", "end": "2025-12-18 12:15:17.442758", "msg": "", "rc": 0, "start": "2025-12-18 12:15:17.436491", "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.002697", "end": "2025-12-18 12:15:17.455895", "msg": "", "rc": 0, "start": "2025-12-18 12:15:17.453198", "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.006716", "end": "2025-12-18 12:15:17.477367", "msg": "", "rc": 0, "start": "2025-12-18 12:15:17.470651", "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.003040", "end": "2025-12-18 12:14:50.493526", "msg": "", "rc": 0, "start": "2025-12-18 12:14:50.490486", "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.003323", "end": "2025-12-18 12:14:43.710737", "msg": "", "rc": 0, "start": "2025-12-18 12:14:43.707414", "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.011806", "end": "2025-12-18 12:15:18.095287", "msg": "", "rc": 0, "start": "2025-12-18 12:15:18.083481", "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.012819", "end": "2025-12-18 12:15:18.126881", "msg": "", "rc": 0, "start": "2025-12-18 12:15:18.114062", "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.003119", "end": "2025-12-18 12:15:18.381736", "msg": "", "rc": 0, "start": "2025-12-18 12:15:18.378617", "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.003034", "end": "2025-12-18 12:14:46.880908", "msg": "", "rc": 0, "start": "2025-12-18 12:14:46.877874", "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.002470", "end": "2025-12-18 12:14:53.773093", "msg": "", "rc": 0, "start": "2025-12-18 12:14:53.770623", "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.003855", "end": "2025-12-18 09:15:18.597748", "msg": "", "rc": 0, "start": "2025-12-18 09:15:18.593893", "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.002929", "end": "2025-12-18 12:15:18.839867", "msg": "", "rc": 0, "start": "2025-12-18 12:15:18.836938", "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.005284", "end": "2025-12-18 12:15:18.932558", "msg": "", "rc": 0, "start": "2025-12-18 12:15:18.927274", "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.028900", "end": "2025-12-18 12:15:18.804402", "msg": "", "rc": 0, "start": "2025-12-18 12:15:18.775502", "stderr": "", "stderr_lines": [], "stdout": "36.6°C", "stdout_lines": ["36.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.004210", "end": "2025-12-18 12:15:19.307121", "msg": "", "rc": 0, "start": "2025-12-18 12:15:19.302911", "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.004120", "end": "2025-12-18 12:15:19.334180", "msg": "", "rc": 0, "start": "2025-12-18 12:15:19.330060", "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.004984", "end": "2025-12-18 12:15:19.343742", "msg": "", "rc": 0, "start": "2025-12-18 12:15:19.338758", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.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.004939", "end": "2025-12-18 12:15:19.360077", "msg": "", "rc": 0, "start": "2025-12-18 12:15:19.355138", "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.005524", "end": "2025-12-18 12:15:19.387121", "msg": "", "rc": 0, "start": "2025-12-18 12:15:19.381597", "stderr": "", "stderr_lines": [], "stdout": "0.39", "stdout_lines": ["0.39"]}
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.004299", "end": "2025-12-18 12:14:52.389544", "msg": "", "rc": 0, "start": "2025-12-18 12:14:52.385245", "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.004999", "end": "2025-12-18 12:14:45.620936", "msg": "", "rc": 0, "start": "2025-12-18 12:14:45.615937", "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.010070", "end": "2025-12-18 12:15:20.087986", "msg": "", "rc": 0, "start": "2025-12-18 12:15:20.077916", "stderr": "", "stderr_lines": [], "stdout": "0.30", "stdout_lines": ["0.30"]}
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-18 12:15:20.124790", "msg": "", "rc": 0, "start": "2025-12-18 12:15:20.113580", "stderr": "", "stderr_lines": [], "stdout": "0.30", "stdout_lines": ["0.30"]}
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.005660", "end": "2025-12-18 12:15:20.271344", "msg": "", "rc": 0, "start": "2025-12-18 12:15:20.265684", "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.005248", "end": "2025-12-18 12:14:48.775525", "msg": "", "rc": 0, "start": "2025-12-18 12:14:48.770277", "stderr": "", "stderr_lines": [], "stdout": "0.56", "stdout_lines": ["0.56"]}
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.004204", "end": "2025-12-18 12:14:55.761391", "msg": "", "rc": 0, "start": "2025-12-18 12:14:55.757187", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
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.006680", "end": "2025-12-18 09:15:20.579239", "msg": "", "rc": 0, "start": "2025-12-18 09:15:20.572559", "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.005179", "end": "2025-12-18 12:15:20.700891", "msg": "", "rc": 0, "start": "2025-12-18 12:15:20.695712", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
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.007689", "end": "2025-12-18 12:15:20.924913", "msg": "", "rc": 0, "start": "2025-12-18 12:15:20.917224", "stderr": "", "stderr_lines": [], "stdout": "1.40", "stdout_lines": ["1.40"]}
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.024549", "end": "2025-12-18 12:15:20.694511", "msg": "", "rc": 0, "start": "2025-12-18 12:15:20.669962", "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: 12:15:11 up 4 days, 1:47, 1 user, load average: 0.25, 0.20, 0.22\nDisk Usage: 22%\nMemory Usage: 22.8%\nCPU Load: 0.31\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:15:11 up 22 days, 23:06, 1 user, load average: 0.39, 0.26, 0.19\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.41\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:15:11 up 22 days, 23:26, 1 user, load average: 0.37, 0.48, 0.47\nDisk Usage: 14%\nMemory Usage: 49.2%\nCPU Load: 0.34\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:15:11 up 23 days, 39 min, 1 user, load average: 0.43, 0.50, 0.59\nDisk Usage: 14%\nMemory Usage: 58.8%\nCPU Load: 0.39\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:15:11 up 23 days, 1:25, 1 user, load average: 0.01, 0.00, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:15:13 up 16 days, 1:41, 1 user, load average: 0.19, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 20.8%\nCPU Load: 0.32\nCPU Temp: 36.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:15:12 up 195 days, 3:48, 1 user, load average: 0.26, 0.20, 0.18\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.30\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:15:12 up 195 days, 3:48, 1 user, load average: 0.35, 0.24, 0.16\nDisk Usage: 3%\nMemory Usage: 6.6%\nCPU Load: 0.30\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:14:44 up 12 days, 4 min, 0 user, load average: 0.19, 0.20, 0.18\nDisk Usage: 48%\nMemory Usage: 71.1%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:14:38 up 18 days, 20:16, 0 user, load average: 0.03, 0.01, 0.00\nDisk Usage: 24%\nMemory Usage: 64.7%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:15:12 up 4 days, 1:46, 1 user, load average: 0.08, 0.04, 0.01\nDisk Usage: 1%\nMemory Usage: 36.4%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:14:41 up 21 days, 15:08, 0 user, load average: 0.66, 0.59, 0.55\nDisk Usage: 28%\nMemory Usage: 27.6%\nCPU Load: 0.56\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:14:48 up 18 days, 1:30, 0 user, load average: 0.06, 0.11, 0.10\nDisk Usage: 76%\nMemory Usage: 48.2%\nCPU Load: 0.05\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:15AM up 22 days, 23:05, 1 user, load averages: 0.14, 0.19, 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: 12:15:13 up 4 days, 1:46, 1 user, load average: 0.16, 0.15, 0.10\nDisk Usage: 79%\nMemory Usage: 14.0%\nCPU Load: 0.14\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:15:14 up 8:24, 1 user, load average: 1.09, 1.15, 1.33\nDisk Usage: 1%\nMemory Usage: 13.1%\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-18T17:15:21.878828+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `88accc1020f140cf8072dbb213809e96` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T17:20:00.003311+00:00 |
| **Fin** | 2025-12-18T17:20:23.290258+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: [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.003373", "end": "2025-12-18 12:20:11.991888", "msg": "", "rc": 0, "start": "2025-12-18 12:20:11.988515", "stderr": "", "stderr_lines": [], "stdout": " 12:20:11 up 22 days, 23:11, 1 user, load average: 0.13, 0.15, 0.16", "stdout_lines": [" 12:20:11 up 22 days, 23:11, 1 user, load average: 0.13, 0.15, 0.16"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003499", "end": "2025-12-18 12:20:12.006273", "msg": "", "rc": 0, "start": "2025-12-18 12:20:12.002774", "stderr": "", "stderr_lines": [], "stdout": " 12:20:12 up 23 days, 1:30, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 12:20:12 up 23 days, 1:30, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003415", "end": "2025-12-18 12:20:12.007234", "msg": "", "rc": 0, "start": "2025-12-18 12:20:12.003819", "stderr": "", "stderr_lines": [], "stdout": " 12:20:12 up 22 days, 23:31, 1 user, load average: 0.44, 0.41, 0.44", "stdout_lines": [" 12:20:12 up 22 days, 23:31, 1 user, load average: 0.44, 0.41, 0.44"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003144", "end": "2025-12-18 12:20:12.020710", "msg": "", "rc": 0, "start": "2025-12-18 12:20:12.017566", "stderr": "", "stderr_lines": [], "stdout": " 12:20:12 up 4 days, 1:52, 1 user, load average: 0.08, 0.16, 0.19", "stdout_lines": [" 12:20:12 up 4 days, 1:52, 1 user, load average: 0.08, 0.16, 0.19"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002874", "end": "2025-12-18 12:19:45.054542", "msg": "", "rc": 0, "start": "2025-12-18 12:19:45.051668", "stderr": "", "stderr_lines": [], "stdout": " 12:19:45 up 12 days, 9 min, 0 user, load average: 0.07, 0.09, 0.14", "stdout_lines": [" 12:19:45 up 12 days, 9 min, 0 user, load average: 0.07, 0.09, 0.14"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008518", "end": "2025-12-18 12:20:12.666908", "msg": "", "rc": 0, "start": "2025-12-18 12:20:12.658390", "stderr": "", "stderr_lines": [], "stdout": " 12:20:12 up 195 days, 3:53, 1 user, load average: 0.20, 0.21, 0.17", "stdout_lines": [" 12:20:12 up 195 days, 3:53, 1 user, load average: 0.20, 0.21, 0.17"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009081", "end": "2025-12-18 12:20:12.708827", "msg": "", "rc": 0, "start": "2025-12-18 12:20:12.699746", "stderr": "", "stderr_lines": [], "stdout": " 12:20:12 up 195 days, 3:53, 1 user, load average: 0.21, 0.19, 0.18", "stdout_lines": [" 12:20:12 up 195 days, 3:53, 1 user, load average: 0.21, 0.19, 0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003772", "end": "2025-12-18 12:19:38.739582", "msg": "", "rc": 0, "start": "2025-12-18 12:19:38.735810", "stderr": "", "stderr_lines": [], "stdout": " 12:19:38 up 18 days, 20:21, 0 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 12:19:38 up 18 days, 20:21, 0 user, load average: 0.00, 0.02, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004752", "end": "2025-12-18 12:20:13.038381", "msg": "", "rc": 0, "start": "2025-12-18 12:20:12.033629", "stderr": "", "stderr_lines": [], "stdout": " 12:20:12 up 23 days, 44 min, 1 user, load average: 0.62, 0.58, 0.61", "stdout_lines": [" 12:20:12 up 23 days, 44 min, 1 user, load average: 0.62, 0.58, 0.61"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004793", "end": "2025-12-18 12:20:13.169542", "msg": "", "rc": 0, "start": "2025-12-18 12:20:13.164749", "stderr": "", "stderr_lines": [], "stdout": " 12:20:13 up 4 days, 1:51, 1 user, load average: 0.09, 0.05, 0.01", "stdout_lines": [" 12:20:13 up 4 days, 1:51, 1 user, load average: 0.09, 0.05, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003190", "end": "2025-12-18 12:19:41.636071", "msg": "", "rc": 0, "start": "2025-12-18 12:19:41.632881", "stderr": "", "stderr_lines": [], "stdout": " 12:19:41 up 21 days, 15:13, 0 user, load average: 0.62, 0.50, 0.52", "stdout_lines": [" 12:19:41 up 21 days, 15:13, 0 user, load average: 0.62, 0.50, 0.52"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004346", "end": "2025-12-18 09:20:13.459302", "msg": "", "rc": 0, "start": "2025-12-18 09:20:13.454956", "stderr": "", "stderr_lines": [], "stdout": " 9:20AM up 22 days, 23:10, 1 user, load averages: 0.24, 0.23, 0.22", "stdout_lines": [" 9:20AM up 22 days, 23:10, 1 user, load averages: 0.24, 0.23, 0.22"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019313", "end": "2025-12-18 12:20:13.374705", "msg": "", "rc": 0, "start": "2025-12-18 12:20:13.355392", "stderr": "", "stderr_lines": [], "stdout": " 12:20:13 up 16 days, 1:46, 1 user, load average: 0.21, 0.13, 0.10", "stdout_lines": [" 12:20:13 up 16 days, 1:46, 1 user, load average: 0.21, 0.13, 0.10"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003011", "end": "2025-12-18 12:19:48.684950", "msg": "", "rc": 0, "start": "2025-12-18 12:19:48.681939", "stderr": "", "stderr_lines": [], "stdout": " 12:19:48 up 18 days, 1:35, 0 user, load average: 0.08, 0.06, 0.08", "stdout_lines": [" 12:19:48 up 18 days, 1:35, 0 user, load average: 0.08, 0.06, 0.08"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003680", "end": "2025-12-18 12:20:13.590341", "msg": "", "rc": 0, "start": "2025-12-18 12:20:13.586661", "stderr": "", "stderr_lines": [], "stdout": " 12:20:13 up 4 days, 1:51, 1 user, load average: 0.00, 0.06, 0.07", "stdout_lines": [" 12:20:13 up 4 days, 1:51, 1 user, load average: 0.00, 0.06, 0.07"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.010015", "end": "2025-12-18 12:20:14.360317", "msg": "", "rc": 0, "start": "2025-12-18 12:20:14.350302", "stderr": "", "stderr_lines": [], "stdout": " 12:20:14 up 8:29, 1 user, load average: 1.16, 1.12, 1.26", "stdout_lines": [" 12:20:14 up 8:29, 1 user, load average: 1.16, 1.12, 1.26"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004164", "end": "2025-12-18 12:20:13.995727", "msg": "", "rc": 0, "start": "2025-12-18 12:20:13.991563", "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.004040", "end": "2025-12-18 12:20:14.019241", "msg": "", "rc": 0, "start": "2025-12-18 12:20:14.015201", "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.004697", "end": "2025-12-18 12:20:14.023990", "msg": "", "rc": 0, "start": "2025-12-18 12:20:14.019293", "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.004759", "end": "2025-12-18 12:20:14.045999", "msg": "", "rc": 0, "start": "2025-12-18 12:20:14.041240", "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.005656", "end": "2025-12-18 12:20:14.060154", "msg": "", "rc": 0, "start": "2025-12-18 12:20:14.054498", "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.005008", "end": "2025-12-18 12:19:47.078656", "msg": "", "rc": 0, "start": "2025-12-18 12:19:47.073648", "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.005309", "end": "2025-12-18 12:19:40.304715", "msg": "", "rc": 0, "start": "2025-12-18 12:19:40.299406", "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.010604", "end": "2025-12-18 12:20:14.746051", "msg": "", "rc": 0, "start": "2025-12-18 12:20:14.735447", "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.011516", "end": "2025-12-18 12:20:14.752344", "msg": "", "rc": 0, "start": "2025-12-18 12:20:14.740828", "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.005762", "end": "2025-12-18 12:20:14.976126", "msg": "", "rc": 0, "start": "2025-12-18 12:20:14.970364", "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.005723", "end": "2025-12-18 12:19:43.474794", "msg": "", "rc": 0, "start": "2025-12-18 12:19:43.469071", "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.005364", "end": "2025-12-18 09:20:15.201721", "msg": "", "rc": 0, "start": "2025-12-18 09:20:15.196357", "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.005136", "end": "2025-12-18 12:19:50.439096", "msg": "", "rc": 0, "start": "2025-12-18 12:19:50.433960", "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-18 12:20:15.393117", "msg": "", "rc": 0, "start": "2025-12-18 12:20:15.387694", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020419", "end": "2025-12-18 12:20:16.294574", "msg": "", "rc": 0, "start": "2025-12-18 12:20:16.274155", "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.025718", "end": "2025-12-18 12:20:15.379422", "msg": "", "rc": 0, "start": "2025-12-18 12:20:15.353704", "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-18 12:20:15.894478", "msg": "", "rc": 0, "start": "2025-12-18 12:20:15.890291", "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.004061", "end": "2025-12-18 12:20:15.910974", "msg": "", "rc": 0, "start": "2025-12-18 12:20:15.906913", "stderr": "", "stderr_lines": [], "stdout": "22.8%", "stdout_lines": ["22.8%"]}
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.004884", "end": "2025-12-18 12:20:15.940068", "msg": "", "rc": 0, "start": "2025-12-18 12:20:15.935184", "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.005443", "end": "2025-12-18 12:20:15.948953", "msg": "", "rc": 0, "start": "2025-12-18 12:20:15.943510", "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.005615", "end": "2025-12-18 12:20:15.959014", "msg": "", "rc": 0, "start": "2025-12-18 12:20:15.953399", "stderr": "", "stderr_lines": [], "stdout": "58.8%", "stdout_lines": ["58.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.003894", "end": "2025-12-18 12:19:48.953790", "msg": "", "rc": 0, "start": "2025-12-18 12:19:48.949896", "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.004592", "end": "2025-12-18 12:19:42.196833", "msg": "", "rc": 0, "start": "2025-12-18 12:19:42.192241", "stderr": "", "stderr_lines": [], "stdout": "64.6%", "stdout_lines": ["64.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.010755", "end": "2025-12-18 12:20:16.586262", "msg": "", "rc": 0, "start": "2025-12-18 12:20:16.575507", "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.012749", "end": "2025-12-18 12:20:16.616513", "msg": "", "rc": 0, "start": "2025-12-18 12:20:16.603764", "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.005794", "end": "2025-12-18 12:20:16.836366", "msg": "", "rc": 0, "start": "2025-12-18 12:20:16.830572", "stderr": "", "stderr_lines": [], "stdout": "36.3%", "stdout_lines": ["36.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.004083", "end": "2025-12-18 12:19:45.354857", "msg": "", "rc": 0, "start": "2025-12-18 12:19:45.350774", "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.005140", "end": "2025-12-18 09:20:17.074490", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 09:20:17.069350", "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.003786", "end": "2025-12-18 12:19:52.284958", "msg": "", "rc": 0, "start": "2025-12-18 12:19:52.281172", "stderr": "", "stderr_lines": [], "stdout": "49.2%", "stdout_lines": ["49.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.005358", "end": "2025-12-18 12:20:17.263965", "msg": "", "rc": 0, "start": "2025-12-18 12:20:17.258607", "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.009137", "end": "2025-12-18 12:20:18.241902", "msg": "", "rc": 0, "start": "2025-12-18 12:20:18.232765", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.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.025967", "end": "2025-12-18 12:20:17.271930", "msg": "", "rc": 0, "start": "2025-12-18 12:20:17.245963", "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.005318", "end": "2025-12-18 12:20:17.776591", "msg": "", "rc": 0, "start": "2025-12-18 12:20:17.771273", "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.004831", "end": "2025-12-18 12:20:17.796716", "msg": "", "rc": 0, "start": "2025-12-18 12:20:17.791885", "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.005548", "end": "2025-12-18 12:20:17.798107", "msg": "", "rc": 0, "start": "2025-12-18 12:20:17.792559", "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.003286", "end": "2025-12-18 12:20:17.827134", "msg": "", "rc": 0, "start": "2025-12-18 12:20:17.823848", "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.006369", "end": "2025-12-18 12:20:17.832228", "msg": "", "rc": 0, "start": "2025-12-18 12:20:17.825859", "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.002450", "end": "2025-12-18 12:19:50.848082", "msg": "", "rc": 0, "start": "2025-12-18 12:19:50.845632", "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.003422", "end": "2025-12-18 12:19:44.094376", "msg": "", "rc": 0, "start": "2025-12-18 12:19:44.090954", "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.011982", "end": "2025-12-18 12:20:18.477643", "msg": "", "rc": 0, "start": "2025-12-18 12:20:18.465661", "stderr": "", "stderr_lines": [], "stdout": "33.6°C", "stdout_lines": ["33.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.013198", "end": "2025-12-18 12:20:18.520214", "msg": "", "rc": 0, "start": "2025-12-18 12:20:18.507016", "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.003287", "end": "2025-12-18 12:20:18.742154", "msg": "", "rc": 0, "start": "2025-12-18 12:20:18.738867", "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.002784", "end": "2025-12-18 12:19:47.273636", "msg": "", "rc": 0, "start": "2025-12-18 12:19:47.270852", "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.003893", "end": "2025-12-18 09:20:18.990048", "msg": "", "rc": 0, "start": "2025-12-18 09:20:18.986155", "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.002715", "end": "2025-12-18 12:19:54.186932", "msg": "", "rc": 0, "start": "2025-12-18 12:19:54.184217", "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.002982", "end": "2025-12-18 12:20:19.151596", "msg": "", "rc": 0, "start": "2025-12-18 12:20:19.148614", "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.004844", "end": "2025-12-18 12:20:20.249124", "msg": "", "rc": 0, "start": "2025-12-18 12:20:20.244280", "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.028777", "end": "2025-12-18 12:20:19.178557", "msg": "", "rc": 0, "start": "2025-12-18 12:20:19.149780", "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.004169", "end": "2025-12-18 12:20:19.693208", "msg": "", "rc": 0, "start": "2025-12-18 12:20:19.689039", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
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.004234", "end": "2025-12-18 12:20:19.707716", "msg": "", "rc": 0, "start": "2025-12-18 12:20:19.703482", "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.005234", "end": "2025-12-18 12:20:19.709272", "msg": "", "rc": 0, "start": "2025-12-18 12:20:19.704038", "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.004547", "end": "2025-12-18 12:20:19.729198", "msg": "", "rc": 0, "start": "2025-12-18 12:20:19.724651", "stderr": "", "stderr_lines": [], "stdout": "0.08", "stdout_lines": ["0.08"]}
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.005206", "end": "2025-12-18 12:20:19.750874", "msg": "", "rc": 0, "start": "2025-12-18 12:20:19.745668", "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.004184", "end": "2025-12-18 12:19:52.758678", "msg": "", "rc": 0, "start": "2025-12-18 12:19:52.754494", "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.005266", "end": "2025-12-18 12:19:45.996662", "msg": "", "rc": 0, "start": "2025-12-18 12:19:45.991396", "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.010184", "end": "2025-12-18 12:20:20.478366", "msg": "", "rc": 0, "start": "2025-12-18 12:20:20.468182", "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.011027", "end": "2025-12-18 12:20:20.499336", "msg": "", "rc": 0, "start": "2025-12-18 12:20:20.488309", "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.006304", "end": "2025-12-18 12:20:20.659884", "msg": "", "rc": 0, "start": "2025-12-18 12:20:20.653580", "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.005078", "end": "2025-12-18 12:19:49.154249", "msg": "", "rc": 0, "start": "2025-12-18 12:19:49.149171", "stderr": "", "stderr_lines": [], "stdout": "0.52", "stdout_lines": ["0.52"]}
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.005850", "end": "2025-12-18 09:20:20.957177", "msg": "", "rc": 0, "start": "2025-12-18 09:20:20.951327", "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.004566", "end": "2025-12-18 12:19:56.166382", "msg": "", "rc": 0, "start": "2025-12-18 12:19:56.161816", "stderr": "", "stderr_lines": [], "stdout": "0.07", "stdout_lines": ["0.07"]}
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.005301", "end": "2025-12-18 12:20:21.093718", "msg": "", "rc": 0, "start": "2025-12-18 12:20:21.088417", "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.007516", "end": "2025-12-18 12:20:22.218826", "msg": "", "rc": 0, "start": "2025-12-18 12:20:22.211310", "stderr": "", "stderr_lines": [], "stdout": "1.15", "stdout_lines": ["1.15"]}
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.024383", "end": "2025-12-18 12:20:21.086778", "msg": "", "rc": 0, "start": "2025-12-18 12:20:21.062395", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:20:11 up 22 days, 23:11, 1 user, load average: 0.13, 0.15, 0.16\nDisk Usage: 23%\nMemory Usage: 77.5%\nCPU Load: 0.19\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:20:12 up 4 days, 1:52, 1 user, load average: 0.08, 0.16, 0.19\nDisk Usage: 22%\nMemory Usage: 22.8%\nCPU Load: 0.07\nCPU Temp: 45.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:20:12 up 22 days, 23:31, 1 user, load average: 0.44, 0.41, 0.44\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.41\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:20:12 up 23 days, 44 min, 1 user, load average: 0.62, 0.58, 0.61\nDisk Usage: 14%\nMemory Usage: 58.8%\nCPU Load: 0.65\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:20:12 up 23 days, 1:30, 1 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:20:13 up 16 days, 1:46, 1 user, load average: 0.21, 0.13, 0.10\nDisk Usage: 21%\nMemory Usage: 19.7%\nCPU Load: 0.33\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:20:12 up 195 days, 3:53, 1 user, load average: 0.21, 0.19, 0.18\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.34\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:20:12 up 195 days, 3:53, 1 user, load average: 0.20, 0.21, 0.17\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.17\nCPU Temp: 33.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:19:45 up 12 days, 9 min, 0 user, load average: 0.07, 0.09, 0.14\nDisk Usage: 48%\nMemory Usage: 70.9%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:19:38 up 18 days, 20:21, 0 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 64.6%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:20:13 up 4 days, 1:51, 1 user, load average: 0.09, 0.05, 0.01\nDisk Usage: 1%\nMemory Usage: 36.3%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:19:41 up 21 days, 15:13, 0 user, load average: 0.62, 0.50, 0.52\nDisk Usage: 28%\nMemory Usage: 27.4%\nCPU Load: 0.52\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:19:48 up 18 days, 1:35, 0 user, load average: 0.08, 0.06, 0.08\nDisk Usage: 76%\nMemory Usage: 49.2%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:20AM up 22 days, 23:10, 1 user, load averages: 0.24, 0.23, 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: 12:20:13 up 4 days, 1:51, 1 user, load average: 0.00, 0.06, 0.07\nDisk Usage: 79%\nMemory Usage: 14.1%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:20:14 up 8:29, 1 user, load average: 1.16, 1.12, 1.26\nDisk Usage: 1%\nMemory Usage: 12.9%\nCPU Load: 1.15\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-18T17:20:23.633460+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `18740599088f41b58369a7e95a1dda01` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T17:25:00.004936+00:00 |
| **Fin** | 2025-12-18T17:25:21.793998+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: [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: [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.003283", "end": "2025-12-18 12:25:11.169006", "msg": "", "rc": 0, "start": "2025-12-18 12:25:11.165723", "stderr": "", "stderr_lines": [], "stdout": " 12:25:11 up 22 days, 23:16, 1 user, load average: 0.20, 0.11, 0.13", "stdout_lines": [" 12:25:11 up 22 days, 23:16, 1 user, load average: 0.20, 0.11, 0.13"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003962", "end": "2025-12-18 12:25:11.179384", "msg": "", "rc": 0, "start": "2025-12-18 12:25:11.175422", "stderr": "", "stderr_lines": [], "stdout": " 12:25:11 up 23 days, 1:35, 1 user, load average: 0.10, 0.03, 0.01", "stdout_lines": [" 12:25:11 up 23 days, 1:35, 1 user, load average: 0.10, 0.03, 0.01"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003356", "end": "2025-12-18 12:25:11.185517", "msg": "", "rc": 0, "start": "2025-12-18 12:25:11.182161", "stderr": "", "stderr_lines": [], "stdout": " 12:25:11 up 22 days, 23:36, 1 user, load average: 0.94, 0.53, 0.47", "stdout_lines": [" 12:25:11 up 22 days, 23:36, 1 user, load average: 0.94, 0.53, 0.47"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002796", "end": "2025-12-18 12:25:11.207054", "msg": "", "rc": 0, "start": "2025-12-18 12:25:11.204258", "stderr": "", "stderr_lines": [], "stdout": " 12:25:11 up 4 days, 1:57, 1 user, load average: 0.00, 0.08, 0.15", "stdout_lines": [" 12:25:11 up 4 days, 1:57, 1 user, load average: 0.00, 0.08, 0.15"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004259", "end": "2025-12-18 12:25:11.212950", "msg": "", "rc": 0, "start": "2025-12-18 12:25:11.208691", "stderr": "", "stderr_lines": [], "stdout": " 12:25:11 up 23 days, 49 min, 1 user, load average: 0.42, 0.55, 0.59", "stdout_lines": [" 12:25:11 up 23 days, 49 min, 1 user, load average: 0.42, 0.55, 0.59"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003085", "end": "2025-12-18 12:24:44.210464", "msg": "", "rc": 0, "start": "2025-12-18 12:24:44.207379", "stderr": "", "stderr_lines": [], "stdout": " 12:24:44 up 12 days, 14 min, 0 user, load average: 0.09, 0.16, 0.15", "stdout_lines": [" 12:24:44 up 12 days, 14 min, 0 user, load average: 0.09, 0.16, 0.15"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003697", "end": "2025-12-18 12:24:37.474237", "msg": "", "rc": 0, "start": "2025-12-18 12:24:37.470540", "stderr": "", "stderr_lines": [], "stdout": " 12:24:37 up 18 days, 20:26, 0 user, load average: 0.03, 0.02, 0.00", "stdout_lines": [" 12:24:37 up 18 days, 20:26, 0 user, load average: 0.03, 0.02, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008478", "end": "2025-12-18 12:25:11.837736", "msg": "", "rc": 0, "start": "2025-12-18 12:25:11.829258", "stderr": "", "stderr_lines": [], "stdout": " 12:25:11 up 195 days, 3:58, 1 user, load average: 0.14, 0.14, 0.15", "stdout_lines": [" 12:25:11 up 195 days, 3:58, 1 user, load average: 0.14, 0.14, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009208", "end": "2025-12-18 12:25:11.885665", "msg": "", "rc": 0, "start": "2025-12-18 12:25:11.876457", "stderr": "", "stderr_lines": [], "stdout": " 12:25:11 up 195 days, 3:58, 1 user, load average: 0.35, 0.27, 0.21", "stdout_lines": [" 12:25:11 up 195 days, 3:58, 1 user, load average: 0.35, 0.27, 0.21"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004975", "end": "2025-12-18 12:25:12.118849", "msg": "", "rc": 0, "start": "2025-12-18 12:25:12.113874", "stderr": "", "stderr_lines": [], "stdout": " 12:25:12 up 4 days, 1:56, 1 user, load average: 0.02, 0.03, 0.00", "stdout_lines": [" 12:25:12 up 4 days, 1:56, 1 user, load average: 0.02, 0.03, 0.00"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002888", "end": "2025-12-18 12:24:47.513519", "msg": "", "rc": 0, "start": "2025-12-18 12:24:47.510631", "stderr": "", "stderr_lines": [], "stdout": " 12:24:47 up 18 days, 1:40, 0 user, load average: 0.03, 0.08, 0.08", "stdout_lines": [" 12:24:47 up 18 days, 1:40, 0 user, load average: 0.03, 0.08, 0.08"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004163", "end": "2025-12-18 09:25:12.340423", "msg": "", "rc": 0, "start": "2025-12-18 09:25:12.336260", "stderr": "", "stderr_lines": [], "stdout": " 9:25AM up 22 days, 23:14, 1 user, load averages: 0.29, 0.25, 0.22", "stdout_lines": [" 9:25AM up 22 days, 23:14, 1 user, load averages: 0.29, 0.25, 0.22"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003594", "end": "2025-12-18 12:24:40.678868", "msg": "", "rc": 0, "start": "2025-12-18 12:24:40.675274", "stderr": "", "stderr_lines": [], "stdout": " 12:24:40 up 21 days, 15:18, 0 user, load average: 0.31, 0.36, 0.44", "stdout_lines": [" 12:24:40 up 21 days, 15:18, 0 user, load average: 0.31, 0.36, 0.44"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003768", "end": "2025-12-18 12:25:12.554737", "msg": "", "rc": 0, "start": "2025-12-18 12:25:12.550969", "stderr": "", "stderr_lines": [], "stdout": " 12:25:12 up 4 days, 1:56, 1 user, load average: 0.07, 0.08, 0.08", "stdout_lines": [" 12:25:12 up 4 days, 1:56, 1 user, load average: 0.07, 0.08, 0.08"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007837", "end": "2025-12-18 12:25:12.936361", "msg": "", "rc": 0, "start": "2025-12-18 12:25:12.928524", "stderr": "", "stderr_lines": [], "stdout": " 12:25:12 up 8:35, 1 user, load average: 1.21, 1.11, 1.21", "stdout_lines": [" 12:25:12 up 8:35, 1 user, load average: 1.21, 1.11, 1.21"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019752", "end": "2025-12-18 12:25:12.541632", "msg": "", "rc": 0, "start": "2025-12-18 12:25:12.521880", "stderr": "", "stderr_lines": [], "stdout": " 12:25:12 up 16 days, 1:51, 1 user, load average: 0.22, 0.15, 0.10", "stdout_lines": [" 12:25:12 up 16 days, 1:51, 1 user, load average: 0.22, 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.004427", "end": "2025-12-18 12:25:13.050628", "msg": "", "rc": 0, "start": "2025-12-18 12:25:13.046201", "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.004090", "end": "2025-12-18 12:25:13.078640", "msg": "", "rc": 0, "start": "2025-12-18 12:25:13.074550", "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.004790", "end": "2025-12-18 12:25:13.088181", "msg": "", "rc": 0, "start": "2025-12-18 12:25:13.083391", "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.004648", "end": "2025-12-18 12:25:13.105651", "msg": "", "rc": 0, "start": "2025-12-18 12:25:13.101003", "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.005833", "end": "2025-12-18 12:25:13.136711", "msg": "", "rc": 0, "start": "2025-12-18 12:25:13.130878", "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.004926", "end": "2025-12-18 12:24:46.109121", "msg": "", "rc": 0, "start": "2025-12-18 12:24:46.104195", "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.006894", "end": "2025-12-18 12:24:39.403154", "msg": "", "rc": 0, "start": "2025-12-18 12:24:39.396260", "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.010513", "end": "2025-12-18 12:25:13.801936", "msg": "", "rc": 0, "start": "2025-12-18 12:25:13.791423", "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-18 12:25:13.840694", "msg": "", "rc": 0, "start": "2025-12-18 12:25:13.829197", "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.005715", "end": "2025-12-18 12:25:14.000093", "msg": "", "rc": 0, "start": "2025-12-18 12:25:13.994378", "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.005338", "end": "2025-12-18 12:24:42.589675", "msg": "", "rc": 0, "start": "2025-12-18 12:24:42.584337", "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.005339", "end": "2025-12-18 09:25:14.282986", "msg": "", "rc": 0, "start": "2025-12-18 09:25:14.277647", "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.004782", "end": "2025-12-18 12:24:49.482020", "msg": "", "rc": 0, "start": "2025-12-18 12:24:49.477238", "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-18 12:25:14.425010", "msg": "", "rc": 0, "start": "2025-12-18 12:25:14.419568", "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.025636", "end": "2025-12-18 12:25:14.444026", "msg": "", "rc": 0, "start": "2025-12-18 12:25:14.418390", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020307", "end": "2025-12-18 12:25:14.950258", "msg": "", "rc": 0, "start": "2025-12-18 12:25:14.929951", "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.004213", "end": "2025-12-18 12:25:14.967501", "msg": "", "rc": 0, "start": "2025-12-18 12:25:14.963288", "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.004123", "end": "2025-12-18 12:25:14.988357", "msg": "", "rc": 0, "start": "2025-12-18 12:25:14.984234", "stderr": "", "stderr_lines": [], "stdout": "22.8%", "stdout_lines": ["22.8%"]}
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.004787", "end": "2025-12-18 12:25:15.004266", "msg": "", "rc": 0, "start": "2025-12-18 12:25:14.999479", "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.005668", "end": "2025-12-18 12:25:15.021088", "msg": "", "rc": 0, "start": "2025-12-18 12:25:15.015420", "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.005699", "end": "2025-12-18 12:25:15.039714", "msg": "", "rc": 0, "start": "2025-12-18 12:25:15.034015", "stderr": "", "stderr_lines": [], "stdout": "58.8%", "stdout_lines": ["58.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.003758", "end": "2025-12-18 12:24:48.038526", "msg": "", "rc": 0, "start": "2025-12-18 12:24:48.034768", "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.004428", "end": "2025-12-18 12:24:41.273694", "msg": "", "rc": 0, "start": "2025-12-18 12:24:41.269266", "stderr": "", "stderr_lines": [], "stdout": "64.6%", "stdout_lines": ["64.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.010867", "end": "2025-12-18 12:25:15.649989", "msg": "", "rc": 0, "start": "2025-12-18 12:25:15.639122", "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.011842", "end": "2025-12-18 12:25:15.691081", "msg": "", "rc": 0, "start": "2025-12-18 12:25:15.679239", "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.005732", "end": "2025-12-18 12:25:15.937379", "msg": "", "rc": 0, "start": "2025-12-18 12:25:15.931647", "stderr": "", "stderr_lines": [], "stdout": "36.3%", "stdout_lines": ["36.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.004348", "end": "2025-12-18 12:24:44.444098", "msg": "", "rc": 0, "start": "2025-12-18 12:24:44.439750", "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.005172", "end": "2025-12-18 09:25:16.133722", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 09:25:16.128550", "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.003662", "end": "2025-12-18 12:24:51.321926", "msg": "", "rc": 0, "start": "2025-12-18 12:24:51.318264", "stderr": "", "stderr_lines": [], "stdout": "47.0%", "stdout_lines": ["47.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.005739", "end": "2025-12-18 12:25:16.363780", "msg": "", "rc": 0, "start": "2025-12-18 12:25:16.358041", "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.008124", "end": "2025-12-18 12:25:16.856524", "msg": "", "rc": 0, "start": "2025-12-18 12:25:16.848400", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.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.025752", "end": "2025-12-18 12:25:16.344847", "msg": "", "rc": 0, "start": "2025-12-18 12:25:16.319095", "stderr": "", "stderr_lines": [], "stdout": "21.8%", "stdout_lines": ["21.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.005300", "end": "2025-12-18 12:25:16.856732", "msg": "", "rc": 0, "start": "2025-12-18 12:25:16.851432", "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.005563", "end": "2025-12-18 12:25:16.875059", "msg": "", "rc": 0, "start": "2025-12-18 12:25:16.869496", "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.004828", "end": "2025-12-18 12:25:16.884507", "msg": "", "rc": 0, "start": "2025-12-18 12:25:16.879679", "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.003438", "end": "2025-12-18 12:25:16.907960", "msg": "", "rc": 0, "start": "2025-12-18 12:25:16.904522", "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.006368", "end": "2025-12-18 12:25:16.907116", "msg": "", "rc": 0, "start": "2025-12-18 12:25:16.900748", "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-18 12:24:49.925418", "msg": "", "rc": 0, "start": "2025-12-18 12:24:49.922855", "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.002943", "end": "2025-12-18 12:24:43.157199", "msg": "", "rc": 0, "start": "2025-12-18 12:24:43.154256", "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.011886", "end": "2025-12-18 12:25:17.535137", "msg": "", "rc": 0, "start": "2025-12-18 12:25:17.523251", "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.013052", "end": "2025-12-18 12:25:17.577644", "msg": "", "rc": 0, "start": "2025-12-18 12:25:17.564592", "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.003185", "end": "2025-12-18 12:25:17.840310", "msg": "", "rc": 0, "start": "2025-12-18 12:25:17.837125", "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.003228", "end": "2025-12-18 12:24:46.329527", "msg": "", "rc": 0, "start": "2025-12-18 12:24:46.326299", "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.003830", "end": "2025-12-18 09:25:18.022831", "msg": "", "rc": 0, "start": "2025-12-18 09:25:18.019001", "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.002546", "end": "2025-12-18 12:24:53.213182", "msg": "", "rc": 0, "start": "2025-12-18 12:24:53.210636", "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-18 12:25:18.262465", "msg": "", "rc": 0, "start": "2025-12-18 12:25:18.259532", "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.004337", "end": "2025-12-18 12:25:18.834455", "msg": "", "rc": 0, "start": "2025-12-18 12:25:18.830118", "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-18 12:25:18.254611", "msg": "", "rc": 0, "start": "2025-12-18 12:25:18.225836", "stderr": "", "stderr_lines": [], "stdout": "35.6°C", "stdout_lines": ["35.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.003965", "end": "2025-12-18 12:25:18.778515", "msg": "", "rc": 0, "start": "2025-12-18 12:25:18.774550", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
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-18 12:25:18.778844", "msg": "", "rc": 0, "start": "2025-12-18 12:25:18.774797", "stderr": "", "stderr_lines": [], "stdout": "0.33", "stdout_lines": ["0.33"]}
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.004764", "end": "2025-12-18 12:25:18.825358", "msg": "", "rc": 0, "start": "2025-12-18 12:25:18.820594", "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.005162", "end": "2025-12-18 12:25:18.833125", "msg": "", "rc": 0, "start": "2025-12-18 12:25:18.827963", "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.005236", "end": "2025-12-18 12:25:18.844355", "msg": "", "rc": 0, "start": "2025-12-18 12:25:18.839119", "stderr": "", "stderr_lines": [], "stdout": "0.39", "stdout_lines": ["0.39"]}
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.004494", "end": "2025-12-18 12:24:51.852317", "msg": "", "rc": 0, "start": "2025-12-18 12:24:51.847823", "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.004947", "end": "2025-12-18 12:24:45.095669", "msg": "", "rc": 0, "start": "2025-12-18 12:24:45.090722", "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.010092", "end": "2025-12-18 12:25:19.563160", "msg": "", "rc": 0, "start": "2025-12-18 12:25:19.553068", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
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.011144", "end": "2025-12-18 12:25:19.592083", "msg": "", "rc": 0, "start": "2025-12-18 12:25:19.580939", "stderr": "", "stderr_lines": [], "stdout": "0.45", "stdout_lines": ["0.45"]}
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.005891", "end": "2025-12-18 12:25:19.730534", "msg": "", "rc": 0, "start": "2025-12-18 12:25:19.724643", "stderr": "", "stderr_lines": [], "stdout": "0.02", "stdout_lines": ["0.02"]}
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.004867", "end": "2025-12-18 12:24:48.253673", "msg": "", "rc": 0, "start": "2025-12-18 12:24:48.248806", "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.005896", "end": "2025-12-18 09:25:20.044677", "msg": "", "rc": 0, "start": "2025-12-18 09:25:20.038781", "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.004765", "end": "2025-12-18 12:24:55.239490", "msg": "", "rc": 0, "start": "2025-12-18 12:24:55.234725", "stderr": "", "stderr_lines": [], "stdout": "0.03", "stdout_lines": ["0.03"]}
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.005282", "end": "2025-12-18 12:25:20.163347", "msg": "", "rc": 0, "start": "2025-12-18 12:25:20.158065", "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.007269", "end": "2025-12-18 12:25:20.854632", "msg": "", "rc": 0, "start": "2025-12-18 12:25:20.847363", "stderr": "", "stderr_lines": [], "stdout": "1.40", "stdout_lines": ["1.40"]}
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.024599", "end": "2025-12-18 12:25:20.172492", "msg": "", "rc": 0, "start": "2025-12-18 12:25:20.147893", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:25:11 up 22 days, 23:16, 1 user, load average: 0.20, 0.11, 0.13\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.33\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:25:11 up 4 days, 1:57, 1 user, load average: 0.00, 0.08, 0.15\nDisk Usage: 22%\nMemory Usage: 22.8%\nCPU Load: 0.00\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:25:11 up 22 days, 23:36, 1 user, load average: 0.94, 0.53, 0.47\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: 12:25:11 up 23 days, 49 min, 1 user, load average: 0.42, 0.55, 0.59\nDisk Usage: 14%\nMemory Usage: 58.8%\nCPU Load: 0.39\nCPU Temp: 52.0°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:25:11 up 23 days, 1:35, 1 user, load average: 0.10, 0.03, 0.01\nDisk Usage: 9%\nMemory Usage: 9.1%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:25:12 up 16 days, 1:51, 1 user, load average: 0.22, 0.15, 0.10\nDisk Usage: 21%\nMemory Usage: 21.8%\nCPU Load: 0.26\nCPU Temp: 35.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:25:11 up 195 days, 3:58, 1 user, load average: 0.35, 0.27, 0.21\nDisk Usage: 6%\nMemory Usage: 13.1%\nCPU Load: 0.45\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:25:11 up 195 days, 3:58, 1 user, load average: 0.14, 0.14, 0.15\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.19\nCPU Temp: 31.2°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:24:44 up 12 days, 14 min, 0 user, load average: 0.09, 0.16, 0.15\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: 12:24:37 up 18 days, 20:26, 0 user, load average: 0.03, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 64.6%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:25:12 up 4 days, 1:56, 1 user, load average: 0.02, 0.03, 0.00\nDisk Usage: 1%\nMemory Usage: 36.3%\nCPU Load: 0.02\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:24:40 up 21 days, 15:18, 0 user, load average: 0.31, 0.36, 0.44\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.41\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:24:47 up 18 days, 1:40, 0 user, load average: 0.03, 0.08, 0.08\nDisk Usage: 76%\nMemory Usage: 47.0%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:25AM up 22 days, 23:14, 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: 12:25:12 up 4 days, 1:56, 1 user, load average: 0.07, 0.08, 0.08\nDisk Usage: 79%\nMemory Usage: 14.0%\nCPU Load: 0.22\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:25:12 up 8:35, 1 user, load average: 1.21, 1.11, 1.21\nDisk Usage: 1%\nMemory Usage: 12.9%\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-18T17:25:21.845508+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `214a44cd77bd410db45e300502b01559` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T17:30:00.001540+00:00 |
| **Fin** | 2025-12-18T17:30:22.428417+00:00 |
| **Durée** | 22.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: [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: [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.003259", "end": "2025-12-18 12:30:12.079634", "msg": "", "rc": 0, "start": "2025-12-18 12:30:12.076375", "stderr": "", "stderr_lines": [], "stdout": " 12:30:12 up 22 days, 23:21, 1 user, load average: 0.15, 0.12, 0.13", "stdout_lines": [" 12:30:12 up 22 days, 23:21, 1 user, load average: 0.15, 0.12, 0.13"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003739", "end": "2025-12-18 12:30:12.095026", "msg": "", "rc": 0, "start": "2025-12-18 12:30:12.091287", "stderr": "", "stderr_lines": [], "stdout": " 12:30:12 up 23 days, 1:40, 1 user, load average: 0.02, 0.05, 0.01", "stdout_lines": [" 12:30:12 up 23 days, 1:40, 1 user, load average: 0.02, 0.05, 0.01"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003595", "end": "2025-12-18 12:30:12.093866", "msg": "", "rc": 0, "start": "2025-12-18 12:30:12.090271", "stderr": "", "stderr_lines": [], "stdout": " 12:30:12 up 22 days, 23:41, 1 user, load average: 0.37, 0.47, 0.46", "stdout_lines": [" 12:30:12 up 22 days, 23:41, 1 user, load average: 0.37, 0.47, 0.46"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002986", "end": "2025-12-18 12:30:12.123717", "msg": "", "rc": 0, "start": "2025-12-18 12:30:12.120731", "stderr": "", "stderr_lines": [], "stdout": " 12:30:12 up 4 days, 2:02, 1 user, load average: 0.29, 0.19, 0.17", "stdout_lines": [" 12:30:12 up 4 days, 2:02, 1 user, load average: 0.29, 0.19, 0.17"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002792", "end": "2025-12-18 12:29:45.129190", "msg": "", "rc": 0, "start": "2025-12-18 12:29:45.126398", "stderr": "", "stderr_lines": [], "stdout": " 12:29:45 up 12 days, 19 min, 0 user, load average: 0.71, 0.47, 0.27", "stdout_lines": [" 12:29:45 up 12 days, 19 min, 0 user, load average: 0.71, 0.47, 0.27"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008475", "end": "2025-12-18 12:30:12.753166", "msg": "", "rc": 0, "start": "2025-12-18 12:30:12.744691", "stderr": "", "stderr_lines": [], "stdout": " 12:30:12 up 195 days, 4:03, 1 user, load average: 0.08, 0.15, 0.15", "stdout_lines": [" 12:30:12 up 195 days, 4:03, 1 user, load average: 0.08, 0.15, 0.15"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009200", "end": "2025-12-18 12:30:12.797488", "msg": "", "rc": 0, "start": "2025-12-18 12:30:12.788288", "stderr": "", "stderr_lines": [], "stdout": " 12:30:12 up 195 days, 4:03, 1 user, load average: 0.25, 0.22, 0.19", "stdout_lines": [" 12:30:12 up 195 days, 4:03, 1 user, load average: 0.25, 0.22, 0.19"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004413", "end": "2025-12-18 12:30:13.109370", "msg": "", "rc": 0, "start": "2025-12-18 12:30:12.104957", "stderr": "", "stderr_lines": [], "stdout": " 12:30:12 up 23 days, 54 min, 1 user, load average: 0.45, 0.49, 0.55", "stdout_lines": [" 12:30:12 up 23 days, 54 min, 1 user, load average: 0.45, 0.49, 0.55"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004867", "end": "2025-12-18 12:29:38.817427", "msg": "", "rc": 0, "start": "2025-12-18 12:29:38.812560", "stderr": "", "stderr_lines": [], "stdout": " 12:29:38 up 18 days, 20:31, 0 user, load average: 0.08, 0.02, 0.01", "stdout_lines": [" 12:29:38 up 18 days, 20:31, 0 user, load average: 0.08, 0.02, 0.01"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005205", "end": "2025-12-18 12:30:13.240384", "msg": "", "rc": 0, "start": "2025-12-18 12:30:13.235179", "stderr": "", "stderr_lines": [], "stdout": " 12:30:13 up 4 days, 2:01, 1 user, load average: 0.07, 0.07, 0.01", "stdout_lines": [" 12:30:13 up 4 days, 2:01, 1 user, load average: 0.07, 0.07, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003622", "end": "2025-12-18 12:29:41.739554", "msg": "", "rc": 0, "start": "2025-12-18 12:29:41.735932", "stderr": "", "stderr_lines": [], "stdout": " 12:29:41 up 21 days, 15:23, 0 user, load average: 0.29, 0.33, 0.41", "stdout_lines": [" 12:29:41 up 21 days, 15:23, 0 user, load average: 0.29, 0.33, 0.41"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004237", "end": "2025-12-18 09:30:13.534088", "msg": "", "rc": 0, "start": "2025-12-18 09:30:13.529851", "stderr": "", "stderr_lines": [], "stdout": " 9:30AM up 22 days, 23:20, 1 user, load averages: 0.29, 0.23, 0.21", "stdout_lines": [" 9:30AM up 22 days, 23:20, 1 user, load averages: 0.29, 0.23, 0.21"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002782", "end": "2025-12-18 12:29:48.751724", "msg": "", "rc": 0, "start": "2025-12-18 12:29:48.748942", "stderr": "", "stderr_lines": [], "stdout": " 12:29:48 up 18 days, 1:45, 0 user, load average: 0.00, 0.04, 0.07", "stdout_lines": [" 12:29:48 up 18 days, 1:45, 0 user, load average: 0.00, 0.04, 0.07"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019501", "end": "2025-12-18 12:30:13.473570", "msg": "", "rc": 0, "start": "2025-12-18 12:30:13.454069", "stderr": "", "stderr_lines": [], "stdout": " 12:30:13 up 16 days, 1:56, 1 user, load average: 0.13, 0.12, 0.09", "stdout_lines": [" 12:30:13 up 16 days, 1:56, 1 user, load average: 0.13, 0.12, 0.09"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003679", "end": "2025-12-18 12:30:13.664663", "msg": "", "rc": 0, "start": "2025-12-18 12:30:13.660984", "stderr": "", "stderr_lines": [], "stdout": " 12:30:13 up 4 days, 2:01, 1 user, load average: 0.58, 0.35, 0.18", "stdout_lines": [" 12:30:13 up 4 days, 2:01, 1 user, load average: 0.58, 0.35, 0.18"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008051", "end": "2025-12-18 12:30:14.983301", "msg": "", "rc": 0, "start": "2025-12-18 12:30:14.975250", "stderr": "", "stderr_lines": [], "stdout": " 12:30:14 up 8:40, 1 user, load average: 1.42, 1.16, 1.19", "stdout_lines": [" 12:30:14 up 8:40, 1 user, load average: 1.42, 1.16, 1.19"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004337", "end": "2025-12-18 12:30:14.104169", "msg": "", "rc": 0, "start": "2025-12-18 12:30:14.099832", "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.004176", "end": "2025-12-18 12:30:14.137728", "msg": "", "rc": 0, "start": "2025-12-18 12:30:14.133552", "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.004724", "end": "2025-12-18 12:30:14.152086", "msg": "", "rc": 0, "start": "2025-12-18 12:30:14.147362", "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.004871", "end": "2025-12-18 12:30:14.163817", "msg": "", "rc": 0, "start": "2025-12-18 12:30:14.158946", "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.006168", "end": "2025-12-18 12:30:14.198946", "msg": "", "rc": 0, "start": "2025-12-18 12:30:14.192778", "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.004819", "end": "2025-12-18 12:29:47.164705", "msg": "", "rc": 0, "start": "2025-12-18 12:29:47.159886", "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.005782", "end": "2025-12-18 12:29:40.465506", "msg": "", "rc": 0, "start": "2025-12-18 12:29:40.459724", "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.010558", "end": "2025-12-18 12:30:14.863675", "msg": "", "rc": 0, "start": "2025-12-18 12:30:14.853117", "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.011475", "end": "2025-12-18 12:30:14.886371", "msg": "", "rc": 0, "start": "2025-12-18 12:30:14.874896", "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.006280", "end": "2025-12-18 12:30:15.065798", "msg": "", "rc": 0, "start": "2025-12-18 12:30:15.059518", "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.005600", "end": "2025-12-18 12:29:43.662346", "msg": "", "rc": 0, "start": "2025-12-18 12:29:43.656746", "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.005329", "end": "2025-12-18 09:30:15.346409", "msg": "", "rc": 0, "start": "2025-12-18 09:30:15.341080", "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.004998", "end": "2025-12-18 12:29:50.528706", "msg": "", "rc": 0, "start": "2025-12-18 12:29:50.523708", "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.005341", "end": "2025-12-18 12:30:15.494472", "msg": "", "rc": 0, "start": "2025-12-18 12:30:15.489131", "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.025240", "end": "2025-12-18 12:30:15.485975", "msg": "", "rc": 0, "start": "2025-12-18 12:30:15.460735", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.020216", "end": "2025-12-18 12:30:17.012608", "msg": "", "rc": 0, "start": "2025-12-18 12:30:16.992392", "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.004263", "end": "2025-12-18 12:30:16.057998", "msg": "", "rc": 0, "start": "2025-12-18 12:30:16.053735", "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.004946", "end": "2025-12-18 12:30:16.081773", "msg": "", "rc": 0, "start": "2025-12-18 12:30:16.076827", "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.004175", "end": "2025-12-18 12:30:16.097931", "msg": "", "rc": 0, "start": "2025-12-18 12:30:16.093756", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.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.005102", "end": "2025-12-18 12:30:16.107809", "msg": "", "rc": 0, "start": "2025-12-18 12:30:16.102707", "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.006297", "end": "2025-12-18 12:30:16.134649", "msg": "", "rc": 0, "start": "2025-12-18 12:30:16.128352", "stderr": "", "stderr_lines": [], "stdout": "58.8%", "stdout_lines": ["58.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.003756", "end": "2025-12-18 12:29:49.116523", "msg": "", "rc": 0, "start": "2025-12-18 12:29:49.112767", "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.006625", "end": "2025-12-18 12:29:42.395512", "msg": "", "rc": 0, "start": "2025-12-18 12:29:42.388887", "stderr": "", "stderr_lines": [], "stdout": "64.8%", "stdout_lines": ["64.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.010864", "end": "2025-12-18 12:30:16.762178", "msg": "", "rc": 0, "start": "2025-12-18 12:30:16.751314", "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.011809", "end": "2025-12-18 12:30:16.787494", "msg": "", "rc": 0, "start": "2025-12-18 12:30:16.775685", "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.007312", "end": "2025-12-18 12:30:17.005114", "msg": "", "rc": 0, "start": "2025-12-18 12:30:16.997802", "stderr": "", "stderr_lines": [], "stdout": "36.2%", "stdout_lines": ["36.2%"]}
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.003990", "end": "2025-12-18 12:29:45.569408", "msg": "", "rc": 0, "start": "2025-12-18 12:29:45.565418", "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.005284", "end": "2025-12-18 09:30:17.240219", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 09:30:17.234935", "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.005043", "end": "2025-12-18 12:29:52.463525", "msg": "", "rc": 0, "start": "2025-12-18 12:29:52.458482", "stderr": "", "stderr_lines": [], "stdout": "47.1%", "stdout_lines": ["47.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.005453", "end": "2025-12-18 12:30:17.425161", "msg": "", "rc": 0, "start": "2025-12-18 12:30:17.419708", "stderr": "", "stderr_lines": [], "stdout": "14.3%", "stdout_lines": ["14.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.008714", "end": "2025-12-18 12:30:17.616630", "msg": "", "rc": 0, "start": "2025-12-18 12:30:17.607916", "stderr": "", "stderr_lines": [], "stdout": "12.9%", "stdout_lines": ["12.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.025631", "end": "2025-12-18 12:30:17.442672", "msg": "", "rc": 0, "start": "2025-12-18 12:30:17.417041", "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.005427", "end": "2025-12-18 12:30:17.963299", "msg": "", "rc": 0, "start": "2025-12-18 12:30:17.957872", "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-18 12:30:17.982101", "msg": "", "rc": 0, "start": "2025-12-18 12:30:17.977256", "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.005905", "end": "2025-12-18 12:30:17.981832", "msg": "", "rc": 0, "start": "2025-12-18 12:30:17.975927", "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.002814", "end": "2025-12-18 12:30:18.016858", "msg": "", "rc": 0, "start": "2025-12-18 12:30:18.014044", "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.006479", "end": "2025-12-18 12:30:18.026259", "msg": "", "rc": 0, "start": "2025-12-18 12:30:18.019780", "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.002604", "end": "2025-12-18 12:29:51.031241", "msg": "", "rc": 0, "start": "2025-12-18 12:29:51.028637", "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.003402", "end": "2025-12-18 12:29:44.263023", "msg": "", "rc": 0, "start": "2025-12-18 12:29:44.259621", "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.012256", "end": "2025-12-18 12:30:18.657126", "msg": "", "rc": 0, "start": "2025-12-18 12:30:18.644870", "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.012925", "end": "2025-12-18 12:30:18.693304", "msg": "", "rc": 0, "start": "2025-12-18 12:30:18.680379", "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.003195", "end": "2025-12-18 12:30:18.938688", "msg": "", "rc": 0, "start": "2025-12-18 12:30:18.935493", "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.002955", "end": "2025-12-18 12:29:47.427758", "msg": "", "rc": 0, "start": "2025-12-18 12:29:47.424803", "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.004536", "end": "2025-12-18 09:30:19.145273", "msg": "", "rc": 0, "start": "2025-12-18 09:30:19.140737", "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.002597", "end": "2025-12-18 12:29:54.352250", "msg": "", "rc": 0, "start": "2025-12-18 12:29:54.349653", "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.003385", "end": "2025-12-18 12:30:19.359541", "msg": "", "rc": 0, "start": "2025-12-18 12:30:19.356156", "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.004688", "end": "2025-12-18 12:30:19.571888", "msg": "", "rc": 0, "start": "2025-12-18 12:30:19.567200", "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.028706", "end": "2025-12-18 12:30:19.348836", "msg": "", "rc": 0, "start": "2025-12-18 12:30:19.320130", "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.004175", "end": "2025-12-18 12:30:19.851136", "msg": "", "rc": 0, "start": "2025-12-18 12:30:19.846961", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
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.004021", "end": "2025-12-18 12:30:19.874641", "msg": "", "rc": 0, "start": "2025-12-18 12:30:19.870620", "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.004497", "end": "2025-12-18 12:30:19.881743", "msg": "", "rc": 0, "start": "2025-12-18 12:30:19.877246", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.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.005318", "end": "2025-12-18 12:30:19.917878", "msg": "", "rc": 0, "start": "2025-12-18 12:30:19.912560", "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.005434", "end": "2025-12-18 12:30:19.926262", "msg": "", "rc": 0, "start": "2025-12-18 12:30:19.920828", "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.004520", "end": "2025-12-18 12:29:52.912923", "msg": "", "rc": 0, "start": "2025-12-18 12:29:52.908403", "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.005539", "end": "2025-12-18 12:29:46.151686", "msg": "", "rc": 0, "start": "2025-12-18 12:29:46.146147", "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.010190", "end": "2025-12-18 12:30:20.624228", "msg": "", "rc": 0, "start": "2025-12-18 12:30:20.614038", "stderr": "", "stderr_lines": [], "stdout": "0.14", "stdout_lines": ["0.14"]}
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.011099", "end": "2025-12-18 12:30:20.648043", "msg": "", "rc": 0, "start": "2025-12-18 12:30:20.636944", "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.005531", "end": "2025-12-18 12:30:20.833261", "msg": "", "rc": 0, "start": "2025-12-18 12:30:20.827730", "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.004682", "end": "2025-12-18 12:29:49.327214", "msg": "", "rc": 0, "start": "2025-12-18 12:29:49.322532", "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.005937", "end": "2025-12-18 09:30:21.104377", "msg": "", "rc": 0, "start": "2025-12-18 09:30:21.098440", "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.004527", "end": "2025-12-18 12:29:56.290289", "msg": "", "rc": 0, "start": "2025-12-18 12:29:56.285762", "stderr": "", "stderr_lines": [], "stdout": "0.00", "stdout_lines": ["0.00"]}
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.005240", "end": "2025-12-18 12:30:21.256438", "msg": "", "rc": 0, "start": "2025-12-18 12:30:21.251198", "stderr": "", "stderr_lines": [], "stdout": "0.53", "stdout_lines": ["0.53"]}
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.008193", "end": "2025-12-18 12:30:21.556930", "msg": "", "rc": 0, "start": "2025-12-18 12:30:21.548737", "stderr": "", "stderr_lines": [], "stdout": "1.38", "stdout_lines": ["1.38"]}
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.024407", "end": "2025-12-18 12:30:21.218910", "msg": "", "rc": 0, "start": "2025-12-18 12:30:21.194503", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:30:12 up 22 days, 23:21, 1 user, load average: 0.15, 0.12, 0.13\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.20\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:30:12 up 4 days, 2:02, 1 user, load average: 0.29, 0.19, 0.17\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 0.27\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:30:12 up 22 days, 23:41, 1 user, load average: 0.37, 0.47, 0.46\nDisk Usage: 14%\nMemory Usage: 49.3%\nCPU Load: 0.34\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:30:12 up 23 days, 54 min, 1 user, load average: 0.45, 0.49, 0.55\nDisk Usage: 14%\nMemory Usage: 58.8%\nCPU Load: 0.73\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:30:12 up 23 days, 1:40, 1 user, load average: 0.02, 0.05, 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: 12:30:13 up 16 days, 1:56, 1 user, load average: 0.13, 0.12, 0.09\nDisk Usage: 21%\nMemory Usage: 19.5%\nCPU Load: 0.19\nCPU Temp: 35.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:30:12 up 195 days, 4:03, 1 user, load average: 0.25, 0.22, 0.19\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.37\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:30:12 up 195 days, 4:03, 1 user, load average: 0.08, 0.15, 0.15\nDisk Usage: 3%\nMemory Usage: 6.9%\nCPU Load: 0.14\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:29:45 up 12 days, 19 min, 0 user, load average: 0.71, 0.47, 0.27\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: 12:29:38 up 18 days, 20:31, 0 user, load average: 0.08, 0.02, 0.01\nDisk Usage: 24%\nMemory Usage: 64.8%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:30:13 up 4 days, 2:01, 1 user, load average: 0.07, 0.07, 0.01\nDisk Usage: 1%\nMemory Usage: 36.2%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:29:41 up 21 days, 15:23, 0 user, load average: 0.29, 0.33, 0.41\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: 12:29:48 up 18 days, 1:45, 0 user, load average: 0.00, 0.04, 0.07\nDisk Usage: 76%\nMemory Usage: 47.1%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:30AM up 22 days, 23:20, 1 user, load averages: 0.29, 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: 12:30:13 up 4 days, 2:01, 1 user, load average: 0.58, 0.35, 0.18\nDisk Usage: 79%\nMemory Usage: 14.3%\nCPU Load: 0.53\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:30:14 up 8:40, 1 user, load average: 1.42, 1.16, 1.19\nDisk Usage: 1%\nMemory Usage: 12.9%\nCPU Load: 1.38\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-18T17:30:22.487254+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `058b1b87f15e4141bb37204c6329ef62` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T17:35:00.000931+00:00 |
| **Fin** | 2025-12-18T17:35:23.103358+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: [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.003202", "end": "2025-12-18 12:35:11.887638", "msg": "", "rc": 0, "start": "2025-12-18 12:35:11.884436", "stderr": "", "stderr_lines": [], "stdout": " 12:35:11 up 22 days, 23:26, 1 user, load average: 0.04, 0.08, 0.10", "stdout_lines": [" 12:35:11 up 22 days, 23:26, 1 user, load average: 0.04, 0.08, 0.10"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003457", "end": "2025-12-18 12:35:11.894049", "msg": "", "rc": 0, "start": "2025-12-18 12:35:11.890592", "stderr": "", "stderr_lines": [], "stdout": " 12:35:11 up 22 days, 23:46, 1 user, load average: 0.27, 0.42, 0.44", "stdout_lines": [" 12:35:11 up 22 days, 23:46, 1 user, load average: 0.27, 0.42, 0.44"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003447", "end": "2025-12-18 12:35:11.907282", "msg": "", "rc": 0, "start": "2025-12-18 12:35:11.903835", "stderr": "", "stderr_lines": [], "stdout": " 12:35:11 up 23 days, 1:45, 1 user, load average: 0.00, 0.03, 0.00", "stdout_lines": [" 12:35:11 up 23 days, 1:45, 1 user, load average: 0.00, 0.03, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002827", "end": "2025-12-18 12:35:11.930440", "msg": "", "rc": 0, "start": "2025-12-18 12:35:11.927613", "stderr": "", "stderr_lines": [], "stdout": " 12:35:11 up 4 days, 2:07, 1 user, load average: 0.28, 0.20, 0.18", "stdout_lines": [" 12:35:11 up 4 days, 2:07, 1 user, load average: 0.28, 0.20, 0.18"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004017", "end": "2025-12-18 12:35:11.935861", "msg": "", "rc": 0, "start": "2025-12-18 12:35:11.931844", "stderr": "", "stderr_lines": [], "stdout": " 12:35:11 up 23 days, 59 min, 1 user, load average: 0.41, 0.55, 0.57", "stdout_lines": [" 12:35:11 up 23 days, 59 min, 1 user, load average: 0.41, 0.55, 0.57"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003057", "end": "2025-12-18 12:34:44.908464", "msg": "", "rc": 0, "start": "2025-12-18 12:34:44.905407", "stderr": "", "stderr_lines": [], "stdout": " 12:34:44 up 12 days, 24 min, 0 user, load average: 0.54, 0.32, 0.24", "stdout_lines": [" 12:34:44 up 12 days, 24 min, 0 user, load average: 0.54, 0.32, 0.24"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003525", "end": "2025-12-18 12:34:38.145914", "msg": "", "rc": 0, "start": "2025-12-18 12:34:38.142389", "stderr": "", "stderr_lines": [], "stdout": " 12:34:38 up 18 days, 20:36, 0 user, load average: 0.09, 0.04, 0.01", "stdout_lines": [" 12:34:38 up 18 days, 20:36, 0 user, load average: 0.09, 0.04, 0.01"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008423", "end": "2025-12-18 12:35:12.553808", "msg": "", "rc": 0, "start": "2025-12-18 12:35:12.545385", "stderr": "", "stderr_lines": [], "stdout": " 12:35:12 up 195 days, 4:08, 1 user, load average: 0.17, 0.16, 0.16", "stdout_lines": [" 12:35:12 up 195 days, 4:08, 1 user, load average: 0.17, 0.16, 0.16"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009311", "end": "2025-12-18 12:35:12.590238", "msg": "", "rc": 0, "start": "2025-12-18 12:35:12.580927", "stderr": "", "stderr_lines": [], "stdout": " 12:35:12 up 195 days, 4:08, 1 user, load average: 0.27, 0.24, 0.20", "stdout_lines": [" 12:35:12 up 195 days, 4:08, 1 user, load average: 0.27, 0.24, 0.20"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004892", "end": "2025-12-18 12:35:12.804728", "msg": "", "rc": 0, "start": "2025-12-18 12:35:12.799836", "stderr": "", "stderr_lines": [], "stdout": " 12:35:12 up 4 days, 2:06, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 12:35:12 up 4 days, 2:06, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003225", "end": "2025-12-18 12:34:41.301358", "msg": "", "rc": 0, "start": "2025-12-18 12:34:41.298133", "stderr": "", "stderr_lines": [], "stdout": " 12:34:41 up 21 days, 15:28, 0 user, load average: 0.56, 0.64, 0.55", "stdout_lines": [" 12:34:41 up 21 days, 15:28, 0 user, load average: 0.56, 0.64, 0.55"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003210", "end": "2025-12-18 12:34:48.203658", "msg": "", "rc": 0, "start": "2025-12-18 12:34:48.200448", "stderr": "", "stderr_lines": [], "stdout": " 12:34:48 up 18 days, 1:50, 0 user, load average: 0.10, 0.09, 0.08", "stdout_lines": [" 12:34:48 up 18 days, 1:50, 0 user, load average: 0.10, 0.09, 0.08"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004127", "end": "2025-12-18 09:35:13.038415", "msg": "", "rc": 0, "start": "2025-12-18 09:35:13.034288", "stderr": "", "stderr_lines": [], "stdout": " 9:35AM up 22 days, 23:25, 1 user, load averages: 0.09, 0.20, 0.21", "stdout_lines": [" 9:35AM up 22 days, 23:25, 1 user, load averages: 0.09, 0.20, 0.21"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003912", "end": "2025-12-18 12:35:13.220744", "msg": "", "rc": 0, "start": "2025-12-18 12:35:13.216832", "stderr": "", "stderr_lines": [], "stdout": " 12:35:13 up 4 days, 2:06, 1 user, load average: 0.08, 0.16, 0.14", "stdout_lines": [" 12:35:13 up 4 days, 2:06, 1 user, load average: 0.08, 0.16, 0.14"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.007580", "end": "2025-12-18 12:35:14.156591", "msg": "", "rc": 0, "start": "2025-12-18 12:35:14.149011", "stderr": "", "stderr_lines": [], "stdout": " 12:35:14 up 8:45, 1 user, load average: 1.50, 1.17, 1.17", "stdout_lines": [" 12:35:14 up 8:45, 1 user, load average: 1.50, 1.17, 1.17"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019387", "end": "2025-12-18 12:35:13.267940", "msg": "", "rc": 0, "start": "2025-12-18 12:35:13.248553", "stderr": "", "stderr_lines": [], "stdout": " 12:35:13 up 16 days, 2:01, 1 user, load average: 0.11, 0.08, 0.08", "stdout_lines": [" 12:35:13 up 16 days, 2:01, 1 user, load average: 0.11, 0.08, 0.08"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004157", "end": "2025-12-18 12:35:13.775791", "msg": "", "rc": 0, "start": "2025-12-18 12:35:13.771634", "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.004079", "end": "2025-12-18 12:35:13.799287", "msg": "", "rc": 0, "start": "2025-12-18 12:35:13.795208", "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.004878", "end": "2025-12-18 12:35:13.808601", "msg": "", "rc": 0, "start": "2025-12-18 12:35:13.803723", "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.004720", "end": "2025-12-18 12:35:13.837164", "msg": "", "rc": 0, "start": "2025-12-18 12:35:13.832444", "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.005417", "end": "2025-12-18 12:35:13.857112", "msg": "", "rc": 0, "start": "2025-12-18 12:35:13.851695", "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.005114", "end": "2025-12-18 12:34:46.838356", "msg": "", "rc": 0, "start": "2025-12-18 12:34:46.833242", "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.006563", "end": "2025-12-18 12:34:40.110876", "msg": "", "rc": 0, "start": "2025-12-18 12:34:40.104313", "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.010455", "end": "2025-12-18 12:35:14.525094", "msg": "", "rc": 0, "start": "2025-12-18 12:35:14.514639", "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.011547", "end": "2025-12-18 12:35:14.542798", "msg": "", "rc": 0, "start": "2025-12-18 12:35:14.531251", "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.005679", "end": "2025-12-18 12:35:14.742319", "msg": "", "rc": 0, "start": "2025-12-18 12:35:14.736640", "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.005517", "end": "2025-12-18 12:34:43.301507", "msg": "", "rc": 0, "start": "2025-12-18 12:34:43.295990", "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.005248", "end": "2025-12-18 09:35:14.995349", "msg": "", "rc": 0, "start": "2025-12-18 09:35:14.990101", "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.005050", "end": "2025-12-18 12:34:50.198219", "msg": "", "rc": 0, "start": "2025-12-18 12:34:50.193169", "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.006030", "end": "2025-12-18 12:35:15.164918", "msg": "", "rc": 0, "start": "2025-12-18 12:35:15.158888", "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.025273", "end": "2025-12-18 12:35:15.155277", "msg": "", "rc": 0, "start": "2025-12-18 12:35:15.130004", "stderr": "", "stderr_lines": [], "stdout": "21%", "stdout_lines": ["21%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.022087", "end": "2025-12-18 12:35:16.229110", "msg": "", "rc": 0, "start": "2025-12-18 12:35:16.207023", "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.004175", "end": "2025-12-18 12:35:15.693875", "msg": "", "rc": 0, "start": "2025-12-18 12:35:15.689700", "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.004096", "end": "2025-12-18 12:35:15.711005", "msg": "", "rc": 0, "start": "2025-12-18 12:35:15.706909", "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.004985", "end": "2025-12-18 12:35:15.719582", "msg": "", "rc": 0, "start": "2025-12-18 12:35:15.714597", "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.004656", "end": "2025-12-18 12:35:15.744084", "msg": "", "rc": 0, "start": "2025-12-18 12:35:15.739428", "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.005763", "end": "2025-12-18 12:35:15.772014", "msg": "", "rc": 0, "start": "2025-12-18 12:35:15.766251", "stderr": "", "stderr_lines": [], "stdout": "58.9%", "stdout_lines": ["58.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.003445", "end": "2025-12-18 12:34:48.768276", "msg": "", "rc": 0, "start": "2025-12-18 12:34:48.764831", "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.004720", "end": "2025-12-18 12:34:42.021188", "msg": "", "rc": 0, "start": "2025-12-18 12:34:42.016468", "stderr": "", "stderr_lines": [], "stdout": "64.7%", "stdout_lines": ["64.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.010997", "end": "2025-12-18 12:35:16.375017", "msg": "", "rc": 0, "start": "2025-12-18 12:35:16.364020", "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.011975", "end": "2025-12-18 12:35:16.420860", "msg": "", "rc": 0, "start": "2025-12-18 12:35:16.408885", "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.005903", "end": "2025-12-18 12:35:16.674726", "msg": "", "rc": 0, "start": "2025-12-18 12:35:16.668823", "stderr": "", "stderr_lines": [], "stdout": "36.3%", "stdout_lines": ["36.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.003539", "end": "2025-12-18 12:34:52.025596", "msg": "", "rc": 0, "start": "2025-12-18 12:34:52.022057", "stderr": "", "stderr_lines": [], "stdout": "46.5%", "stdout_lines": ["46.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.005018", "end": "2025-12-18 09:35:16.858389", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 09:35:16.853371", "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.005418", "end": "2025-12-18 12:34:45.203822", "msg": "", "rc": 0, "start": "2025-12-18 12:34:45.198404", "stderr": "", "stderr_lines": [], "stdout": "26.7%", "stdout_lines": ["26.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.005381", "end": "2025-12-18 12:35:17.092576", "msg": "", "rc": 0, "start": "2025-12-18 12:35:17.087195", "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.009531", "end": "2025-12-18 12:35:18.162835", "msg": "", "rc": 0, "start": "2025-12-18 12:35:18.153304", "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.025872", "end": "2025-12-18 12:35:17.093256", "msg": "", "rc": 0, "start": "2025-12-18 12:35:17.067384", "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.005436", "end": "2025-12-18 12:35:17.611108", "msg": "", "rc": 0, "start": "2025-12-18 12:35:17.605672", "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.005974", "end": "2025-12-18 12:35:17.641857", "msg": "", "rc": 0, "start": "2025-12-18 12:35:17.635883", "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.004852", "end": "2025-12-18 12:35:17.645945", "msg": "", "rc": 0, "start": "2025-12-18 12:35:17.641093", "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.003560", "end": "2025-12-18 12:35:17.649478", "msg": "", "rc": 0, "start": "2025-12-18 12:35:17.645918", "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.006672", "end": "2025-12-18 12:35:17.684770", "msg": "", "rc": 0, "start": "2025-12-18 12:35:17.678098", "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.004694", "end": "2025-12-18 12:34:50.687659", "msg": "", "rc": 0, "start": "2025-12-18 12:34:50.682965", "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.003021", "end": "2025-12-18 12:34:43.920553", "msg": "", "rc": 0, "start": "2025-12-18 12:34:43.917532", "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-18 12:35:18.291820", "msg": "", "rc": 0, "start": "2025-12-18 12:35:18.279950", "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.013036", "end": "2025-12-18 12:35:18.353928", "msg": "", "rc": 0, "start": "2025-12-18 12:35:18.340892", "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.003070", "end": "2025-12-18 12:35:18.598828", "msg": "", "rc": 0, "start": "2025-12-18 12:35:18.595758", "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.002964", "end": "2025-12-18 12:34:47.093089", "msg": "", "rc": 0, "start": "2025-12-18 12:34:47.090125", "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.004396", "end": "2025-12-18 09:35:18.807196", "msg": "", "rc": 0, "start": "2025-12-18 09:35:18.802800", "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.003020", "end": "2025-12-18 12:34:53.987054", "msg": "", "rc": 0, "start": "2025-12-18 12:34:53.984034", "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.003213", "end": "2025-12-18 12:35:19.022853", "msg": "", "rc": 0, "start": "2025-12-18 12:35:19.019640", "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.004251", "end": "2025-12-18 12:35:20.170444", "msg": "", "rc": 0, "start": "2025-12-18 12:35:20.166193", "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.028787", "end": "2025-12-18 12:35:18.986868", "msg": "", "rc": 0, "start": "2025-12-18 12:35:18.958081", "stderr": "", "stderr_lines": [], "stdout": "35.4°C", "stdout_lines": ["35.4°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.004159", "end": "2025-12-18 12:35:19.491262", "msg": "", "rc": 0, "start": "2025-12-18 12:35:19.487103", "stderr": "", "stderr_lines": [], "stdout": "0.11", "stdout_lines": ["0.11"]}
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.004235", "end": "2025-12-18 12:35:19.501956", "msg": "", "rc": 0, "start": "2025-12-18 12:35:19.497721", "stderr": "", "stderr_lines": [], "stdout": "0.34", "stdout_lines": ["0.34"]}
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.004660", "end": "2025-12-18 12:35:19.524911", "msg": "", "rc": 0, "start": "2025-12-18 12:35:19.520251", "stderr": "", "stderr_lines": [], "stdout": "0.25", "stdout_lines": ["0.25"]}
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.005810", "end": "2025-12-18 12:35:19.542705", "msg": "", "rc": 0, "start": "2025-12-18 12:35:19.536895", "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.005824", "end": "2025-12-18 12:35:19.564093", "msg": "", "rc": 0, "start": "2025-12-18 12:35:19.558269", "stderr": "", "stderr_lines": [], "stdout": "0.46", "stdout_lines": ["0.46"]}
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.004350", "end": "2025-12-18 12:34:52.582792", "msg": "", "rc": 0, "start": "2025-12-18 12:34:52.578442", "stderr": "", "stderr_lines": [], "stdout": "0.45", "stdout_lines": ["0.45"]}
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.005384", "end": "2025-12-18 12:34:45.795396", "msg": "", "rc": 0, "start": "2025-12-18 12:34:45.790012", "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.010149", "end": "2025-12-18 12:35:20.294318", "msg": "", "rc": 0, "start": "2025-12-18 12:35:20.284169", "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.011209", "end": "2025-12-18 12:35:20.280057", "msg": "", "rc": 0, "start": "2025-12-18 12:35:20.268848", "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.005585", "end": "2025-12-18 12:35:20.473081", "msg": "", "rc": 0, "start": "2025-12-18 12:35:20.467496", "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.005108", "end": "2025-12-18 12:34:48.960355", "msg": "", "rc": 0, "start": "2025-12-18 12:34:48.955247", "stderr": "", "stderr_lines": [], "stdout": "0.54", "stdout_lines": ["0.54"]}
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.005743", "end": "2025-12-18 09:35:20.751367", "msg": "", "rc": 0, "start": "2025-12-18 09:35:20.745624", "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.004526", "end": "2025-12-18 12:34:55.950248", "msg": "", "rc": 0, "start": "2025-12-18 12:34:55.945722", "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.005322", "end": "2025-12-18 12:35:20.898058", "msg": "", "rc": 0, "start": "2025-12-18 12:35:20.892736", "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.007975", "end": "2025-12-18 12:35:22.128264", "msg": "", "rc": 0, "start": "2025-12-18 12:35:22.120289", "stderr": "", "stderr_lines": [], "stdout": "1.73", "stdout_lines": ["1.73"]}
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.024149", "end": "2025-12-18 12:35:20.876663", "msg": "", "rc": 0, "start": "2025-12-18 12:35:20.852514", "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: 12:35:11 up 4 days, 2:07, 1 user, load average: 0.28, 0.20, 0.18\nDisk Usage: 22%\nMemory Usage: 22.6%\nCPU Load: 0.34\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:35:11 up 22 days, 23:26, 1 user, load average: 0.04, 0.08, 0.10\nDisk Usage: 23%\nMemory Usage: 77.5%\nCPU Load: 0.11\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:35:11 up 22 days, 23:46, 1 user, load average: 0.27, 0.42, 0.44\nDisk Usage: 14%\nMemory Usage: 49.4%\nCPU Load: 0.25\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:35:11 up 23 days, 59 min, 1 user, load average: 0.41, 0.55, 0.57\nDisk Usage: 14%\nMemory Usage: 58.9%\nCPU Load: 0.46\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:35:11 up 23 days, 1:45, 1 user, load average: 0.00, 0.03, 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: 12:35:13 up 16 days, 2:01, 1 user, load average: 0.11, 0.08, 0.08\nDisk Usage: 21%\nMemory Usage: 19.6%\nCPU Load: 0.17\nCPU Temp: 35.4°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:35:12 up 195 days, 4:08, 1 user, load average: 0.27, 0.24, 0.20\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.23\nCPU Temp: 37.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:35:12 up 195 days, 4:08, 1 user, load average: 0.17, 0.16, 0.16\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.22\nCPU Temp: 32.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:34:44 up 12 days, 24 min, 0 user, load average: 0.54, 0.32, 0.24\nDisk Usage: 48%\nMemory Usage: 70.7%\nCPU Load: 0.45\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:34:38 up 18 days, 20:36, 0 user, load average: 0.09, 0.04, 0.01\nDisk Usage: 24%\nMemory Usage: 64.7%\nCPU Load: 0.15\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:35:12 up 4 days, 2:06, 1 user, load average: 0.00, 0.02, 0.00\nDisk Usage: 1%\nMemory Usage: 36.3%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:34:41 up 21 days, 15:28, 0 user, load average: 0.56, 0.64, 0.55\nDisk Usage: 28%\nMemory Usage: 26.7%\nCPU Load: 0.54\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:34:48 up 18 days, 1:50, 0 user, load average: 0.10, 0.09, 0.08\nDisk Usage: 76%\nMemory Usage: 46.5%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:35AM up 22 days, 23:25, 1 user, load averages: 0.09, 0.20, 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: 12:35:13 up 4 days, 2:06, 1 user, load average: 0.08, 0.16, 0.14\nDisk Usage: 79%\nMemory Usage: 14.0%\nCPU Load: 0.07\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:35:14 up 8:45, 1 user, load average: 1.50, 1.17, 1.17\nDisk Usage: 1%\nMemory Usage: 13.9%\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-18T17:35:23.578494+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `9583463398614a5986d3e229a2cc16ea` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T17:40:00.009638+00:00 |
| **Fin** | 2025-12-18T17:40:21.647521+00:00 |
| **Durée** | 21.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.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.003400", "end": "2025-12-18 12:40:11.020127", "msg": "", "rc": 0, "start": "2025-12-18 12:40:11.016727", "stderr": "", "stderr_lines": [], "stdout": " 12:40:11 up 22 days, 23:31, 1 user, load average: 0.01, 0.05, 0.08", "stdout_lines": [" 12:40:11 up 22 days, 23:31, 1 user, load average: 0.01, 0.05, 0.08"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003294", "end": "2025-12-18 12:40:11.025816", "msg": "", "rc": 0, "start": "2025-12-18 12:40:11.022522", "stderr": "", "stderr_lines": [], "stdout": " 12:40:11 up 22 days, 23:51, 1 user, load average: 0.73, 0.52, 0.47", "stdout_lines": [" 12:40:11 up 22 days, 23:51, 1 user, load average: 0.73, 0.52, 0.47"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003599", "end": "2025-12-18 12:40:11.034736", "msg": "", "rc": 0, "start": "2025-12-18 12:40:11.031137", "stderr": "", "stderr_lines": [], "stdout": " 12:40:11 up 23 days, 1:50, 1 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 12:40:11 up 23 days, 1:50, 1 user, load average: 0.00, 0.00, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003736", "end": "2025-12-18 12:40:11.051445", "msg": "", "rc": 0, "start": "2025-12-18 12:40:11.047709", "stderr": "", "stderr_lines": [], "stdout": " 12:40:11 up 23 days, 1:04, 1 user, load average: 0.61, 0.66, 0.62", "stdout_lines": [" 12:40:11 up 23 days, 1:04, 1 user, load average: 0.61, 0.66, 0.62"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002983", "end": "2025-12-18 12:40:11.063344", "msg": "", "rc": 0, "start": "2025-12-18 12:40:11.060361", "stderr": "", "stderr_lines": [], "stdout": " 12:40:11 up 4 days, 2:12, 1 user, load average: 0.43, 0.29, 0.21", "stdout_lines": [" 12:40:11 up 4 days, 2:12, 1 user, load average: 0.43, 0.29, 0.21"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003006", "end": "2025-12-18 12:39:44.106156", "msg": "", "rc": 0, "start": "2025-12-18 12:39:44.103150", "stderr": "", "stderr_lines": [], "stdout": " 12:39:44 up 12 days, 29 min, 0 user, load average: 0.02, 0.18, 0.21", "stdout_lines": [" 12:39:44 up 12 days, 29 min, 0 user, load average: 0.02, 0.18, 0.21"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003570", "end": "2025-12-18 12:39:37.288384", "msg": "", "rc": 0, "start": "2025-12-18 12:39:37.284814", "stderr": "", "stderr_lines": [], "stdout": " 12:39:37 up 18 days, 20:41, 0 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 12:39:37 up 18 days, 20:41, 0 user, load average: 0.00, 0.01, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008443", "end": "2025-12-18 12:40:11.717301", "msg": "", "rc": 0, "start": "2025-12-18 12:40:11.708858", "stderr": "", "stderr_lines": [], "stdout": " 12:40:11 up 195 days, 4:13, 1 user, load average: 0.12, 0.16, 0.16", "stdout_lines": [" 12:40:11 up 195 days, 4:13, 1 user, load average: 0.12, 0.16, 0.16"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009111", "end": "2025-12-18 12:40:11.747417", "msg": "", "rc": 0, "start": "2025-12-18 12:40:11.738306", "stderr": "", "stderr_lines": [], "stdout": " 12:40:11 up 195 days, 4:13, 1 user, load average: 0.16, 0.17, 0.17", "stdout_lines": [" 12:40:11 up 195 days, 4:13, 1 user, load average: 0.16, 0.17, 0.17"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005043", "end": "2025-12-18 12:40:12.011875", "msg": "", "rc": 0, "start": "2025-12-18 12:40:12.006832", "stderr": "", "stderr_lines": [], "stdout": " 12:40:12 up 4 days, 2:11, 1 user, load average: 0.17, 0.05, 0.01", "stdout_lines": [" 12:40:12 up 4 days, 2:11, 1 user, load average: 0.17, 0.05, 0.01"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003063", "end": "2025-12-18 12:39:40.449081", "msg": "", "rc": 0, "start": "2025-12-18 12:39:40.446018", "stderr": "", "stderr_lines": [], "stdout": " 12:39:40 up 21 days, 15:33, 0 user, load average: 0.32, 0.54, 0.54", "stdout_lines": [" 12:39:40 up 21 days, 15:33, 0 user, load average: 0.32, 0.54, 0.54"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004269", "end": "2025-12-18 09:40:12.189835", "msg": "", "rc": 0, "start": "2025-12-18 09:40:12.185566", "stderr": "", "stderr_lines": [], "stdout": " 9:40AM up 22 days, 23:29, 1 user, load averages: 0.33, 0.27, 0.24", "stdout_lines": [" 9:40AM up 22 days, 23:29, 1 user, load averages: 0.33, 0.27, 0.24"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005967", "end": "2025-12-18 12:39:47.367754", "msg": "", "rc": 0, "start": "2025-12-18 12:39:47.361787", "stderr": "", "stderr_lines": [], "stdout": " 12:39:47 up 18 days, 1:55, 0 user, load average: 0.21, 0.11, 0.09", "stdout_lines": [" 12:39:47 up 18 days, 1:55, 0 user, load average: 0.21, 0.11, 0.09"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003734", "end": "2025-12-18 12:40:12.446102", "msg": "", "rc": 0, "start": "2025-12-18 12:40:12.442368", "stderr": "", "stderr_lines": [], "stdout": " 12:40:12 up 4 days, 2:11, 1 user, load average: 0.07, 0.07, 0.09", "stdout_lines": [" 12:40:12 up 4 days, 2:11, 1 user, load average: 0.07, 0.07, 0.09"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008516", "end": "2025-12-18 12:40:12.867766", "msg": "", "rc": 0, "start": "2025-12-18 12:40:12.859250", "stderr": "", "stderr_lines": [], "stdout": " 12:40:12 up 8:50, 1 user, load average: 2.17, 2.20, 1.64", "stdout_lines": [" 12:40:12 up 8:50, 1 user, load average: 2.17, 2.20, 1.64"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019632", "end": "2025-12-18 12:40:12.404016", "msg": "", "rc": 0, "start": "2025-12-18 12:40:12.384384", "stderr": "", "stderr_lines": [], "stdout": " 12:40:12 up 16 days, 2:06, 1 user, load average: 0.39, 0.21, 0.13", "stdout_lines": [" 12:40:12 up 16 days, 2:06, 1 user, load average: 0.39, 0.21, 0.13"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004254", "end": "2025-12-18 12:40:12.897203", "msg": "", "rc": 0, "start": "2025-12-18 12:40:12.892949", "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.004582", "end": "2025-12-18 12:40:12.918493", "msg": "", "rc": 0, "start": "2025-12-18 12:40:12.913911", "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.004021", "end": "2025-12-18 12:40:12.921435", "msg": "", "rc": 0, "start": "2025-12-18 12:40:12.917414", "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.005315", "end": "2025-12-18 12:40:12.949712", "msg": "", "rc": 0, "start": "2025-12-18 12:40:12.944397", "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.005531", "end": "2025-12-18 12:40:12.967526", "msg": "", "rc": 0, "start": "2025-12-18 12:40:12.961995", "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.005270", "end": "2025-12-18 12:39:45.934970", "msg": "", "rc": 0, "start": "2025-12-18 12:39:45.929700", "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.007832", "end": "2025-12-18 12:39:39.199435", "msg": "", "rc": 0, "start": "2025-12-18 12:39:39.191603", "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.010714", "end": "2025-12-18 12:40:13.623595", "msg": "", "rc": 0, "start": "2025-12-18 12:40:13.612881", "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.011506", "end": "2025-12-18 12:40:13.669936", "msg": "", "rc": 0, "start": "2025-12-18 12:40:13.658430", "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.005768", "end": "2025-12-18 12:40:13.819035", "msg": "", "rc": 0, "start": "2025-12-18 12:40:13.813267", "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.005128", "end": "2025-12-18 12:39:42.363479", "msg": "", "rc": 0, "start": "2025-12-18 12:39:42.358351", "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.005343", "end": "2025-12-18 09:40:14.109641", "msg": "", "rc": 0, "start": "2025-12-18 09:40:14.104298", "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.006482", "end": "2025-12-18 12:39:49.293474", "msg": "", "rc": 0, "start": "2025-12-18 12:39:49.286992", "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.005412", "end": "2025-12-18 12:40:14.232037", "msg": "", "rc": 0, "start": "2025-12-18 12:40:14.226625", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.019149", "end": "2025-12-18 12:40:14.861762", "msg": "", "rc": 0, "start": "2025-12-18 12:40:14.842613", "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.025728", "end": "2025-12-18 12:40:14.264396", "msg": "", "rc": 0, "start": "2025-12-18 12:40:14.238668", "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.004610", "end": "2025-12-18 12:40:14.769786", "msg": "", "rc": 0, "start": "2025-12-18 12:40:14.765176", "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.004124", "end": "2025-12-18 12:40:14.794536", "msg": "", "rc": 0, "start": "2025-12-18 12:40:14.790412", "stderr": "", "stderr_lines": [], "stdout": "22.8%", "stdout_lines": ["22.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.005199", "end": "2025-12-18 12:40:14.824831", "msg": "", "rc": 0, "start": "2025-12-18 12:40:14.819632", "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.004648", "end": "2025-12-18 12:40:14.825328", "msg": "", "rc": 0, "start": "2025-12-18 12:40:14.820680", "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.005788", "end": "2025-12-18 12:40:14.831448", "msg": "", "rc": 0, "start": "2025-12-18 12:40:14.825660", "stderr": "", "stderr_lines": [], "stdout": "58.9%", "stdout_lines": ["58.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.004160", "end": "2025-12-18 12:39:47.818781", "msg": "", "rc": 0, "start": "2025-12-18 12:39:47.814621", "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.005269", "end": "2025-12-18 12:39:41.062582", "msg": "", "rc": 0, "start": "2025-12-18 12:39:41.057313", "stderr": "", "stderr_lines": [], "stdout": "64.8%", "stdout_lines": ["64.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.010929", "end": "2025-12-18 12:40:15.471896", "msg": "", "rc": 0, "start": "2025-12-18 12:40:15.460967", "stderr": "", "stderr_lines": [], "stdout": "6.6%", "stdout_lines": ["6.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.011913", "end": "2025-12-18 12:40:15.494434", "msg": "", "rc": 0, "start": "2025-12-18 12:40:15.482521", "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.006750", "end": "2025-12-18 12:40:15.742552", "msg": "", "rc": 0, "start": "2025-12-18 12:40:15.735802", "stderr": "", "stderr_lines": [], "stdout": "36.3%", "stdout_lines": ["36.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.005094", "end": "2025-12-18 09:40:15.941769", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 09:40:15.936675", "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.009110", "end": "2025-12-18 12:39:51.126414", "msg": "", "rc": 0, "start": "2025-12-18 12:39:51.117304", "stderr": "", "stderr_lines": [], "stdout": "45.6%", "stdout_lines": ["45.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.034176", "end": "2025-12-18 12:39:44.273721", "msg": "", "rc": 0, "start": "2025-12-18 12:39:44.239545", "stderr": "", "stderr_lines": [], "stdout": "25.5%", "stdout_lines": ["25.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.005303", "end": "2025-12-18 12:40:16.160421", "msg": "", "rc": 0, "start": "2025-12-18 12:40:16.155118", "stderr": "", "stderr_lines": [], "stdout": "14.2%", "stdout_lines": ["14.2%"]}
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.009203", "end": "2025-12-18 12:40:16.828453", "msg": "", "rc": 0, "start": "2025-12-18 12:40:16.819250", "stderr": "", "stderr_lines": [], "stdout": "13.4%", "stdout_lines": ["13.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.026005", "end": "2025-12-18 12:40:16.141554", "msg": "", "rc": 0, "start": "2025-12-18 12:40:16.115549", "stderr": "", "stderr_lines": [], "stdout": "20.5%", "stdout_lines": ["20.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.005390", "end": "2025-12-18 12:40:16.638021", "msg": "", "rc": 0, "start": "2025-12-18 12:40:16.632631", "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.004755", "end": "2025-12-18 12:40:16.650860", "msg": "", "rc": 0, "start": "2025-12-18 12:40:16.646105", "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.005764", "end": "2025-12-18 12:40:16.665515", "msg": "", "rc": 0, "start": "2025-12-18 12:40:16.659751", "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.003408", "end": "2025-12-18 12:40:16.695832", "msg": "", "rc": 0, "start": "2025-12-18 12:40:16.692424", "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.006832", "end": "2025-12-18 12:40:16.725295", "msg": "", "rc": 0, "start": "2025-12-18 12:40:16.718463", "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.002562", "end": "2025-12-18 12:39:49.675814", "msg": "", "rc": 0, "start": "2025-12-18 12:39:49.673252", "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.003159", "end": "2025-12-18 12:39:42.962339", "msg": "", "rc": 0, "start": "2025-12-18 12:39:42.959180", "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.011852", "end": "2025-12-18 12:40:17.329068", "msg": "", "rc": 0, "start": "2025-12-18 12:40:17.317216", "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.013023", "end": "2025-12-18 12:40:17.353392", "msg": "", "rc": 0, "start": "2025-12-18 12:40:17.340369", "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-18 12:40:17.573560", "msg": "", "rc": 0, "start": "2025-12-18 12:40:17.570416", "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.003844", "end": "2025-12-18 09:40:17.792503", "msg": "", "rc": 0, "start": "2025-12-18 09:40:17.788659", "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.002667", "end": "2025-12-18 12:39:52.966401", "msg": "", "rc": 0, "start": "2025-12-18 12:39:52.963734", "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.003888", "end": "2025-12-18 12:39:46.142850", "msg": "", "rc": 0, "start": "2025-12-18 12:39:46.138962", "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.002864", "end": "2025-12-18 12:40:17.987263", "msg": "", "rc": 0, "start": "2025-12-18 12:40:17.984399", "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.003823", "end": "2025-12-18 12:40:18.759015", "msg": "", "rc": 0, "start": "2025-12-18 12:40:18.755192", "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.029006", "end": "2025-12-18 12:40:18.017654", "msg": "", "rc": 0, "start": "2025-12-18 12:40:17.988648", "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.004004", "end": "2025-12-18 12:40:18.529348", "msg": "", "rc": 0, "start": "2025-12-18 12:40:18.525344", "stderr": "", "stderr_lines": [], "stdout": "0.48", "stdout_lines": ["0.48"]}
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.004238", "end": "2025-12-18 12:40:18.530266", "msg": "", "rc": 0, "start": "2025-12-18 12:40:18.526028", "stderr": "", "stderr_lines": [], "stdout": "0.01", "stdout_lines": ["0.01"]}
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.004830", "end": "2025-12-18 12:40:18.547694", "msg": "", "rc": 0, "start": "2025-12-18 12:40:18.542864", "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.004888", "end": "2025-12-18 12:40:18.566005", "msg": "", "rc": 0, "start": "2025-12-18 12:40:18.561117", "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.005469", "end": "2025-12-18 12:40:18.598829", "msg": "", "rc": 0, "start": "2025-12-18 12:40:18.593360", "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.004534", "end": "2025-12-18 12:39:51.585866", "msg": "", "rc": 0, "start": "2025-12-18 12:39:51.581332", "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.005196", "end": "2025-12-18 12:39:44.842035", "msg": "", "rc": 0, "start": "2025-12-18 12:39:44.836839", "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.010051", "end": "2025-12-18 12:40:19.277877", "msg": "", "rc": 0, "start": "2025-12-18 12:40:19.267826", "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.011010", "end": "2025-12-18 12:40:19.310031", "msg": "", "rc": 0, "start": "2025-12-18 12:40:19.299021", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
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.005591", "end": "2025-12-18 12:40:19.491092", "msg": "", "rc": 0, "start": "2025-12-18 12:40:19.485501", "stderr": "", "stderr_lines": [], "stdout": "0.16", "stdout_lines": ["0.16"]}
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.005817", "end": "2025-12-18 12:39:48.032632", "msg": "", "rc": 0, "start": "2025-12-18 12:39:48.026815", "stderr": "", "stderr_lines": [], "stdout": "0.29", "stdout_lines": ["0.29"]}
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.005949", "end": "2025-12-18 09:40:19.757048", "msg": "", "rc": 0, "start": "2025-12-18 09:40:19.751099", "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.004189", "end": "2025-12-18 12:39:54.931535", "msg": "", "rc": 0, "start": "2025-12-18 12:39:54.927346", "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.005261", "end": "2025-12-18 12:40:19.898197", "msg": "", "rc": 0, "start": "2025-12-18 12:40:19.892936", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
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.024463", "end": "2025-12-18 12:40:19.900405", "msg": "", "rc": 0, "start": "2025-12-18 12:40:19.875942", "stderr": "", "stderr_lines": [], "stdout": "0.48", "stdout_lines": ["0.48"]}
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.009547", "end": "2025-12-18 12:40:20.822721", "msg": "", "rc": 0, "start": "2025-12-18 12:40:20.813174", "stderr": "", "stderr_lines": [], "stdout": "2.08", "stdout_lines": ["2.08"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:40:11 up 4 days, 2:12, 1 user, load average: 0.43, 0.29, 0.21\nDisk Usage: 22%\nMemory Usage: 22.8%\nCPU Load: 0.48\nCPU Temp: 48.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:40:11 up 22 days, 23:31, 1 user, load average: 0.01, 0.05, 0.08\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.01\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:40:11 up 22 days, 23:51, 1 user, load average: 0.73, 0.52, 0.47\nDisk Usage: 14%\nMemory Usage: 49.5%\nCPU Load: 0.69\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:40:11 up 23 days, 1:04, 1 user, load average: 0.61, 0.66, 0.62\nDisk Usage: 14%\nMemory Usage: 58.9%\nCPU Load: 0.64\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:40:11 up 23 days, 1:50, 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: 12:40:12 up 16 days, 2:06, 1 user, load average: 0.39, 0.21, 0.13\nDisk Usage: 21%\nMemory Usage: 20.5%\nCPU Load: 0.48\nCPU Temp: 35.7°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:40:11 up 195 days, 4:13, 1 user, load average: 0.16, 0.17, 0.17\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.21\nCPU Temp: 36.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:40:11 up 195 days, 4:13, 1 user, load average: 0.12, 0.16, 0.16\nDisk Usage: 3%\nMemory Usage: 6.6%\nCPU Load: 0.11\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:39:44 up 12 days, 29 min, 0 user, load average: 0.02, 0.18, 0.21\nDisk Usage: 48%\nMemory Usage: 70.7%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:39:37 up 18 days, 20:41, 0 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 24%\nMemory Usage: 64.8%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:39:47 up 18 days, 1:55, 0 user, load average: 0.21, 0.11, 0.09\nDisk Usage: 76%\nMemory Usage: 45.6%\nCPU Load: 0.25\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:39:40 up 21 days, 15:33, 0 user, load average: 0.32, 0.54, 0.54\nDisk Usage: 28%\nMemory Usage: 25.5%\nCPU Load: 0.29\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:40:12 up 4 days, 2:11, 1 user, load average: 0.17, 0.05, 0.01\nDisk Usage: 1%\nMemory Usage: 36.3%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:40AM up 22 days, 23:29, 1 user, load averages: 0.33, 0.27, 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: 12:40:12 up 4 days, 2:11, 1 user, load average: 0.07, 0.07, 0.09\nDisk Usage: 79%\nMemory Usage: 14.2%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:40:12 up 8:50, 1 user, load average: 2.17, 2.20, 1.64\nDisk Usage: 1%\nMemory Usage: 13.4%\nCPU Load: 2.08\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-18T17:40:21.705183+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `70fd2f26ec9e47c3beeeec845bebcac0` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T17:45:00.003412+00:00 |
| **Fin** | 2025-12-18T17:45:21.215400+00:00 |
| **Durée** | 21.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: [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.003305", "end": "2025-12-18 12:45:10.868228", "msg": "", "rc": 0, "start": "2025-12-18 12:45:10.864923", "stderr": "", "stderr_lines": [], "stdout": " 12:45:10 up 22 days, 23:36, 1 user, load average: 0.21, 0.12, 0.10", "stdout_lines": [" 12:45:10 up 22 days, 23:36, 1 user, load average: 0.21, 0.12, 0.10"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003998", "end": "2025-12-18 12:45:10.886471", "msg": "", "rc": 0, "start": "2025-12-18 12:45:10.882473", "stderr": "", "stderr_lines": [], "stdout": " 12:45:10 up 23 days, 1:55, 1 user, load average: 0.02, 0.01, 0.00", "stdout_lines": [" 12:45:10 up 23 days, 1:55, 1 user, load average: 0.02, 0.01, 0.00"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003626", "end": "2025-12-18 12:45:10.889796", "msg": "", "rc": 0, "start": "2025-12-18 12:45:10.886170", "stderr": "", "stderr_lines": [], "stdout": " 12:45:10 up 22 days, 23:56, 1 user, load average: 0.60, 0.48, 0.46", "stdout_lines": [" 12:45:10 up 22 days, 23:56, 1 user, load average: 0.60, 0.48, 0.46"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004196", "end": "2025-12-18 12:45:10.903831", "msg": "", "rc": 0, "start": "2025-12-18 12:45:10.899635", "stderr": "", "stderr_lines": [], "stdout": " 12:45:10 up 23 days, 1:09, 1 user, load average: 0.38, 0.55, 0.59", "stdout_lines": [" 12:45:10 up 23 days, 1:09, 1 user, load average: 0.38, 0.55, 0.59"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002844", "end": "2025-12-18 12:45:10.915089", "msg": "", "rc": 0, "start": "2025-12-18 12:45:10.912245", "stderr": "", "stderr_lines": [], "stdout": " 12:45:10 up 4 days, 2:17, 1 user, load average: 0.16, 0.16, 0.17", "stdout_lines": [" 12:45:10 up 4 days, 2:17, 1 user, load average: 0.16, 0.16, 0.17"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002740", "end": "2025-12-18 12:44:43.906320", "msg": "", "rc": 0, "start": "2025-12-18 12:44:43.903580", "stderr": "", "stderr_lines": [], "stdout": " 12:44:43 up 12 days, 34 min, 0 user, load average: 0.10, 0.15, 0.18", "stdout_lines": [" 12:44:43 up 12 days, 34 min, 0 user, load average: 0.10, 0.15, 0.18"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003263", "end": "2025-12-18 12:44:37.145388", "msg": "", "rc": 0, "start": "2025-12-18 12:44:37.142125", "stderr": "", "stderr_lines": [], "stdout": " 12:44:37 up 18 days, 20:46, 0 user, load average: 0.02, 0.02, 0.00", "stdout_lines": [" 12:44:37 up 18 days, 20:46, 0 user, load average: 0.02, 0.02, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008415", "end": "2025-12-18 12:45:11.544360", "msg": "", "rc": 0, "start": "2025-12-18 12:45:11.535945", "stderr": "", "stderr_lines": [], "stdout": " 12:45:11 up 195 days, 4:18, 1 user, load average: 0.09, 0.12, 0.14", "stdout_lines": [" 12:45:11 up 195 days, 4:18, 1 user, load average: 0.09, 0.12, 0.14"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009319", "end": "2025-12-18 12:45:11.597060", "msg": "", "rc": 0, "start": "2025-12-18 12:45:11.587741", "stderr": "", "stderr_lines": [], "stdout": " 12:45:11 up 195 days, 4:18, 1 user, load average: 0.17, 0.17, 0.18", "stdout_lines": [" 12:45:11 up 195 days, 4:18, 1 user, load average: 0.17, 0.17, 0.18"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005029", "end": "2025-12-18 12:45:11.799209", "msg": "", "rc": 0, "start": "2025-12-18 12:45:11.794180", "stderr": "", "stderr_lines": [], "stdout": " 12:45:11 up 4 days, 2:16, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 12:45:11 up 4 days, 2:16, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003279", "end": "2025-12-18 12:44:40.299412", "msg": "", "rc": 0, "start": "2025-12-18 12:44:40.296133", "stderr": "", "stderr_lines": [], "stdout": " 12:44:40 up 21 days, 15:38, 0 user, load average: 0.24, 0.55, 0.57", "stdout_lines": [" 12:44:40 up 21 days, 15:38, 0 user, load average: 0.24, 0.55, 0.57"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002989", "end": "2025-12-18 12:44:47.181920", "msg": "", "rc": 0, "start": "2025-12-18 12:44:47.178931", "stderr": "", "stderr_lines": [], "stdout": " 12:44:47 up 18 days, 2:00, 0 user, load average: 0.22, 0.13, 0.10", "stdout_lines": [" 12:44:47 up 18 days, 2:00, 0 user, load average: 0.22, 0.13, 0.10"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004153", "end": "2025-12-18 09:45:12.046340", "msg": "", "rc": 0, "start": "2025-12-18 09:45:12.042187", "stderr": "", "stderr_lines": [], "stdout": " 9:45AM up 22 days, 23:34, 1 user, load averages: 0.28, 0.27, 0.24", "stdout_lines": [" 9:45AM up 22 days, 23:34, 1 user, load averages: 0.28, 0.27, 0.24"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003802", "end": "2025-12-18 12:45:12.219298", "msg": "", "rc": 0, "start": "2025-12-18 12:45:12.215496", "stderr": "", "stderr_lines": [], "stdout": " 12:45:12 up 4 days, 2:16, 1 user, load average: 0.02, 0.03, 0.07", "stdout_lines": [" 12:45:12 up 4 days, 2:16, 1 user, load average: 0.02, 0.03, 0.07"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005205", "end": "2025-12-18 12:45:12.315762", "msg": "", "rc": 0, "start": "2025-12-18 12:45:12.310557", "stderr": "", "stderr_lines": [], "stdout": " 12:45:12 up 8:56, 1 user, load average: 1.15, 1.49, 1.48", "stdout_lines": [" 12:45:12 up 8:56, 1 user, load average: 1.15, 1.49, 1.48"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019545", "end": "2025-12-18 12:45:12.265490", "msg": "", "rc": 0, "start": "2025-12-18 12:45:12.245945", "stderr": "", "stderr_lines": [], "stdout": " 12:45:12 up 16 days, 2:11, 1 user, load average: 0.14, 0.15, 0.11", "stdout_lines": [" 12:45:12 up 16 days, 2:11, 1 user, load average: 0.14, 0.15, 0.11"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004204", "end": "2025-12-18 12:45:12.792474", "msg": "", "rc": 0, "start": "2025-12-18 12:45:12.788270", "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.004073", "end": "2025-12-18 12:45:12.806980", "msg": "", "rc": 0, "start": "2025-12-18 12:45:12.802907", "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.005020", "end": "2025-12-18 12:45:12.802079", "msg": "", "rc": 0, "start": "2025-12-18 12:45:12.797059", "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.004710", "end": "2025-12-18 12:45:12.833655", "msg": "", "rc": 0, "start": "2025-12-18 12:45:12.828945", "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.005445", "end": "2025-12-18 12:45:12.849166", "msg": "", "rc": 0, "start": "2025-12-18 12:45:12.843721", "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.005258", "end": "2025-12-18 12:44:45.814916", "msg": "", "rc": 0, "start": "2025-12-18 12:44:45.809658", "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.005559", "end": "2025-12-18 12:44:39.051372", "msg": "", "rc": 0, "start": "2025-12-18 12:44:39.045813", "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.010502", "end": "2025-12-18 12:45:13.538409", "msg": "", "rc": 0, "start": "2025-12-18 12:45:13.527907", "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.011609", "end": "2025-12-18 12:45:13.548552", "msg": "", "rc": 0, "start": "2025-12-18 12:45:13.536943", "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-18 12:45:13.706029", "msg": "", "rc": 0, "start": "2025-12-18 12:45:13.700270", "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.005115", "end": "2025-12-18 12:44:42.209321", "msg": "", "rc": 0, "start": "2025-12-18 12:44:42.204206", "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.005437", "end": "2025-12-18 09:45:13.997602", "msg": "", "rc": 0, "start": "2025-12-18 09:45:13.992165", "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.004875", "end": "2025-12-18 12:44:49.197714", "msg": "", "rc": 0, "start": "2025-12-18 12:44:49.192839", "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.005395", "end": "2025-12-18 12:45:14.132213", "msg": "", "rc": 0, "start": "2025-12-18 12:45:14.126818", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007138", "end": "2025-12-18 12:45:14.312677", "msg": "", "rc": 0, "start": "2025-12-18 12:45:14.305539", "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.025140", "end": "2025-12-18 12:45:14.167787", "msg": "", "rc": 0, "start": "2025-12-18 12:45:14.142647", "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.004191", "end": "2025-12-18 12:45:14.684696", "msg": "", "rc": 0, "start": "2025-12-18 12:45:14.680505", "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.004114", "end": "2025-12-18 12:45:14.701218", "msg": "", "rc": 0, "start": "2025-12-18 12:45:14.697104", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.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.005139", "end": "2025-12-18 12:45:14.725757", "msg": "", "rc": 0, "start": "2025-12-18 12:45:14.720618", "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.005106", "end": "2025-12-18 12:45:14.725166", "msg": "", "rc": 0, "start": "2025-12-18 12:45:14.720060", "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.005673", "end": "2025-12-18 12:45:14.743937", "msg": "", "rc": 0, "start": "2025-12-18 12:45:14.738264", "stderr": "", "stderr_lines": [], "stdout": "58.8%", "stdout_lines": ["58.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.003739", "end": "2025-12-18 12:44:47.746772", "msg": "", "rc": 0, "start": "2025-12-18 12:44:47.743033", "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.004522", "end": "2025-12-18 12:44:41.000428", "msg": "", "rc": 0, "start": "2025-12-18 12:44:40.995906", "stderr": "", "stderr_lines": [], "stdout": "64.6%", "stdout_lines": ["64.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.010886", "end": "2025-12-18 12:45:15.371511", "msg": "", "rc": 0, "start": "2025-12-18 12:45:15.360625", "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-18 12:45:15.424505", "msg": "", "rc": 0, "start": "2025-12-18 12:45:15.412621", "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.005902", "end": "2025-12-18 12:45:15.655949", "msg": "", "rc": 0, "start": "2025-12-18 12:45:15.650047", "stderr": "", "stderr_lines": [], "stdout": "36.2%", "stdout_lines": ["36.2%"]}
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.004029", "end": "2025-12-18 12:44:44.161608", "msg": "", "rc": 0, "start": "2025-12-18 12:44:44.157579", "stderr": "", "stderr_lines": [], "stdout": "27.8%", "stdout_lines": ["27.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.005100", "end": "2025-12-18 09:45:15.874644", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 09:45:15.869544", "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.003723", "end": "2025-12-18 12:44:51.045036", "msg": "", "rc": 0, "start": "2025-12-18 12:44:51.041313", "stderr": "", "stderr_lines": [], "stdout": "46.7%", "stdout_lines": ["46.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.005446", "end": "2025-12-18 12:45:16.075050", "msg": "", "rc": 0, "start": "2025-12-18 12:45:16.069604", "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.007745", "end": "2025-12-18 12:45:16.354639", "msg": "", "rc": 0, "start": "2025-12-18 12:45:16.346894", "stderr": "", "stderr_lines": [], "stdout": "13.3%", "stdout_lines": ["13.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.025844", "end": "2025-12-18 12:45:16.078627", "msg": "", "rc": 0, "start": "2025-12-18 12:45:16.052783", "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.005479", "end": "2025-12-18 12:45:16.600956", "msg": "", "rc": 0, "start": "2025-12-18 12:45:16.595477", "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.004835", "end": "2025-12-18 12:45:16.618596", "msg": "", "rc": 0, "start": "2025-12-18 12:45:16.613761", "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.003498", "end": "2025-12-18 12:45:16.654779", "msg": "", "rc": 0, "start": "2025-12-18 12:45:16.651281", "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.005715", "end": "2025-12-18 12:45:16.662826", "msg": "", "rc": 0, "start": "2025-12-18 12:45:16.657111", "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.006500", "end": "2025-12-18 12:45:16.664085", "msg": "", "rc": 0, "start": "2025-12-18 12:45:16.657585", "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.002424", "end": "2025-12-18 12:44:49.670054", "msg": "", "rc": 0, "start": "2025-12-18 12:44:49.667630", "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.002959", "end": "2025-12-18 12:44:42.895769", "msg": "", "rc": 0, "start": "2025-12-18 12:44:42.892810", "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.011644", "end": "2025-12-18 12:45:17.318421", "msg": "", "rc": 0, "start": "2025-12-18 12:45:17.306777", "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.012889", "end": "2025-12-18 12:45:17.327651", "msg": "", "rc": 0, "start": "2025-12-18 12:45:17.314762", "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.003149", "end": "2025-12-18 12:45:17.575771", "msg": "", "rc": 0, "start": "2025-12-18 12:45:17.572622", "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.004072", "end": "2025-12-18 09:45:17.782634", "msg": "", "rc": 0, "start": "2025-12-18 09:45:17.778562", "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.002636", "end": "2025-12-18 12:44:52.969456", "msg": "", "rc": 0, "start": "2025-12-18 12:44:52.966820", "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.003145", "end": "2025-12-18 12:44:46.118485", "msg": "", "rc": 0, "start": "2025-12-18 12:44:46.115340", "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.002831", "end": "2025-12-18 12:45:17.989391", "msg": "", "rc": 0, "start": "2025-12-18 12:45:17.986560", "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.004244", "end": "2025-12-18 12:45:18.356829", "msg": "", "rc": 0, "start": "2025-12-18 12:45:18.352585", "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.028215", "end": "2025-12-18 12:45:17.996008", "msg": "", "rc": 0, "start": "2025-12-18 12:45:17.967793", "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.004065", "end": "2025-12-18 12:45:18.513772", "msg": "", "rc": 0, "start": "2025-12-18 12:45:18.509707", "stderr": "", "stderr_lines": [], "stdout": "0.17", "stdout_lines": ["0.17"]}
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.004033", "end": "2025-12-18 12:45:18.530767", "msg": "", "rc": 0, "start": "2025-12-18 12:45:18.526734", "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.004825", "end": "2025-12-18 12:45:18.540438", "msg": "", "rc": 0, "start": "2025-12-18 12:45:18.535613", "stderr": "", "stderr_lines": [], "stdout": "0.67", "stdout_lines": ["0.67"]}
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.004998", "end": "2025-12-18 12:45:18.554848", "msg": "", "rc": 0, "start": "2025-12-18 12:45:18.549850", "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.005886", "end": "2025-12-18 12:45:18.588985", "msg": "", "rc": 0, "start": "2025-12-18 12:45:18.583099", "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.004150", "end": "2025-12-18 12:44:51.576295", "msg": "", "rc": 0, "start": "2025-12-18 12:44:51.572145", "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.005531", "end": "2025-12-18 12:44:44.851404", "msg": "", "rc": 0, "start": "2025-12-18 12:44:44.845873", "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.010185", "end": "2025-12-18 12:45:19.311595", "msg": "", "rc": 0, "start": "2025-12-18 12:45:19.301410", "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.011190", "end": "2025-12-18 12:45:19.325263", "msg": "", "rc": 0, "start": "2025-12-18 12:45:19.314073", "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.005914", "end": "2025-12-18 12:45:19.478693", "msg": "", "rc": 0, "start": "2025-12-18 12:45:19.472779", "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.005146", "end": "2025-12-18 12:44:48.046415", "msg": "", "rc": 0, "start": "2025-12-18 12:44:48.041269", "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.005749", "end": "2025-12-18 09:45:19.771632", "msg": "", "rc": 0, "start": "2025-12-18 09:45:19.765883", "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.005108", "end": "2025-12-18 12:44:54.974776", "msg": "", "rc": 0, "start": "2025-12-18 12:44:54.969668", "stderr": "", "stderr_lines": [], "stdout": "0.19", "stdout_lines": ["0.19"]}
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.005190", "end": "2025-12-18 12:45:19.906829", "msg": "", "rc": 0, "start": "2025-12-18 12:45:19.901639", "stderr": "", "stderr_lines": [], "stdout": "0.09", "stdout_lines": ["0.09"]}
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.024627", "end": "2025-12-18 12:45:19.898168", "msg": "", "rc": 0, "start": "2025-12-18 12:45:19.873541", "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.008506", "end": "2025-12-18 12:45:20.419990", "msg": "", "rc": 0, "start": "2025-12-18 12:45:20.411484", "stderr": "", "stderr_lines": [], "stdout": "1.36", "stdout_lines": ["1.36"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:45:10 up 4 days, 2:17, 1 user, load average: 0.16, 0.16, 0.17\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 0.14\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:45:10 up 22 days, 23:36, 1 user, load average: 0.21, 0.12, 0.10\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.17\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:45:10 up 22 days, 23:56, 1 user, load average: 0.60, 0.48, 0.46\nDisk Usage: 14%\nMemory Usage: 49.5%\nCPU Load: 0.67\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:45:10 up 23 days, 1:09, 1 user, load average: 0.38, 0.55, 0.59\nDisk Usage: 14%\nMemory Usage: 58.8%\nCPU Load: 0.43\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:45:10 up 23 days, 1:55, 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: 12:45:12 up 16 days, 2:11, 1 user, load average: 0.14, 0.15, 0.11\nDisk Usage: 21%\nMemory Usage: 20.9%\nCPU Load: 0.20\nCPU Temp: 35.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:45:11 up 195 days, 4:18, 1 user, load average: 0.17, 0.17, 0.18\nDisk Usage: 6%\nMemory Usage: 12.7%\nCPU Load: 0.16\nCPU Temp: 37.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:45:11 up 195 days, 4:18, 1 user, load average: 0.09, 0.12, 0.14\nDisk Usage: 3%\nMemory Usage: 6.7%\nCPU Load: 0.17\nCPU Temp: 32.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:44:43 up 12 days, 34 min, 0 user, load average: 0.10, 0.15, 0.18\nDisk Usage: 48%\nMemory Usage: 70.8%\nCPU Load: 0.17\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:44:37 up 18 days, 20:46, 0 user, load average: 0.02, 0.02, 0.00\nDisk Usage: 24%\nMemory Usage: 64.6%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:45:11 up 4 days, 2:16, 1 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 1%\nMemory Usage: 36.2%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:44:40 up 21 days, 15:38, 0 user, load average: 0.24, 0.55, 0.57\nDisk Usage: 28%\nMemory Usage: 27.8%\nCPU Load: 0.30\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:44:47 up 18 days, 2:00, 0 user, load average: 0.22, 0.13, 0.10\nDisk Usage: 76%\nMemory Usage: 46.7%\nCPU Load: 0.19\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:45AM up 22 days, 23:34, 1 user, load averages: 0.28, 0.27, 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: 12:45:12 up 4 days, 2:16, 1 user, load average: 0.02, 0.03, 0.07\nDisk Usage: 79%\nMemory Usage: 14.0%\nCPU Load: 0.09\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:45:12 up 8:56, 1 user, load average: 1.15, 1.49, 1.48\nDisk Usage: 1%\nMemory Usage: 13.3%\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-18T17:45:21.263000+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `08d74170752f46b6bedc00e1486178d0` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T17:50:00.001681+00:00 |
| **Fin** | 2025-12-18T17:50:20.922014+00:00 |
| **Durée** | 20.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: [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: [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.003383", "end": "2025-12-18 12:50:10.988233", "msg": "", "rc": 0, "start": "2025-12-18 12:50:10.984850", "stderr": "", "stderr_lines": [], "stdout": " 12:50:10 up 22 days, 23:41, 1 user, load average: 0.06, 0.12, 0.09", "stdout_lines": [" 12:50:10 up 22 days, 23:41, 1 user, load average: 0.06, 0.12, 0.09"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003891", "end": "2025-12-18 12:50:11.021763", "msg": "", "rc": 0, "start": "2025-12-18 12:50:11.017872", "stderr": "", "stderr_lines": [], "stdout": " 12:50:11 up 23 days, 1:14, 1 user, load average: 0.42, 0.48, 0.54", "stdout_lines": [" 12:50:11 up 23 days, 1:14, 1 user, load average: 0.42, 0.48, 0.54"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003238", "end": "2025-12-18 12:50:11.024221", "msg": "", "rc": 0, "start": "2025-12-18 12:50:11.020983", "stderr": "", "stderr_lines": [], "stdout": " 12:50:11 up 23 days, 1 min, 1 user, load average: 0.72, 0.59, 0.50", "stdout_lines": [" 12:50:11 up 23 days, 1 min, 1 user, load average: 0.72, 0.59, 0.50"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002995", "end": "2025-12-18 12:50:11.033561", "msg": "", "rc": 0, "start": "2025-12-18 12:50:11.030566", "stderr": "", "stderr_lines": [], "stdout": " 12:50:11 up 4 days, 2:22, 1 user, load average: 0.15, 0.14, 0.16", "stdout_lines": [" 12:50:11 up 4 days, 2:22, 1 user, load average: 0.15, 0.14, 0.16"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003718", "end": "2025-12-18 12:50:11.049828", "msg": "", "rc": 0, "start": "2025-12-18 12:50:11.046110", "stderr": "", "stderr_lines": [], "stdout": " 12:50:11 up 23 days, 2:00, 1 user, load average: 0.07, 0.07, 0.02", "stdout_lines": [" 12:50:11 up 23 days, 2:00, 1 user, load average: 0.07, 0.07, 0.02"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002896", "end": "2025-12-18 12:49:44.027246", "msg": "", "rc": 0, "start": "2025-12-18 12:49:44.024350", "stderr": "", "stderr_lines": [], "stdout": " 12:49:44 up 12 days, 39 min, 0 user, load average: 0.29, 0.16, 0.17", "stdout_lines": [" 12:49:44 up 12 days, 39 min, 0 user, load average: 0.29, 0.16, 0.17"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003438", "end": "2025-12-18 12:49:37.261465", "msg": "", "rc": 0, "start": "2025-12-18 12:49:37.258027", "stderr": "", "stderr_lines": [], "stdout": " 12:49:37 up 18 days, 20:51, 0 user, load average: 0.00, 0.00, 0.00", "stdout_lines": [" 12:49:37 up 18 days, 20:51, 0 user, load average: 0.00, 0.00, 0.00"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008828", "end": "2025-12-18 12:50:11.683242", "msg": "", "rc": 0, "start": "2025-12-18 12:50:11.674414", "stderr": "", "stderr_lines": [], "stdout": " 12:50:11 up 195 days, 4:23, 1 user, load average: 0.18, 0.14, 0.13", "stdout_lines": [" 12:50:11 up 195 days, 4:23, 1 user, load average: 0.18, 0.14, 0.13"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009245", "end": "2025-12-18 12:50:11.712146", "msg": "", "rc": 0, "start": "2025-12-18 12:50:11.702901", "stderr": "", "stderr_lines": [], "stdout": " 12:50:11 up 195 days, 4:23, 1 user, load average: 0.15, 0.20, 0.18", "stdout_lines": [" 12:50:11 up 195 days, 4:23, 1 user, load average: 0.15, 0.20, 0.18"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004860", "end": "2025-12-18 12:50:11.943113", "msg": "", "rc": 0, "start": "2025-12-18 12:50:11.938253", "stderr": "", "stderr_lines": [], "stdout": " 12:50:11 up 4 days, 2:21, 1 user, load average: 0.01, 0.01, 0.00", "stdout_lines": [" 12:50:11 up 4 days, 2:21, 1 user, load average: 0.01, 0.01, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003468", "end": "2025-12-18 12:49:40.430445", "msg": "", "rc": 0, "start": "2025-12-18 12:49:40.426977", "stderr": "", "stderr_lines": [], "stdout": " 12:49:40 up 21 days, 15:43, 0 user, load average: 0.59, 0.52, 0.54", "stdout_lines": [" 12:49:40 up 21 days, 15:43, 0 user, load average: 0.59, 0.52, 0.54"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004140", "end": "2025-12-18 09:50:12.161727", "msg": "", "rc": 0, "start": "2025-12-18 09:50:12.157587", "stderr": "", "stderr_lines": [], "stdout": " 9:50AM up 22 days, 23:39, 1 user, load averages: 0.20, 0.18, 0.20", "stdout_lines": [" 9:50AM up 22 days, 23:39, 1 user, load averages: 0.20, 0.18, 0.20"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002821", "end": "2025-12-18 12:49:47.332056", "msg": "", "rc": 0, "start": "2025-12-18 12:49:47.329235", "stderr": "", "stderr_lines": [], "stdout": " 12:49:47 up 18 days, 2:05, 0 user, load average: 0.14, 0.10, 0.09", "stdout_lines": [" 12:49:47 up 18 days, 2:05, 0 user, load average: 0.14, 0.10, 0.09"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003730", "end": "2025-12-18 12:50:12.365263", "msg": "", "rc": 0, "start": "2025-12-18 12:50:12.361533", "stderr": "", "stderr_lines": [], "stdout": " 12:50:12 up 4 days, 2:21, 1 user, load average: 0.08, 0.04, 0.07", "stdout_lines": [" 12:50:12 up 4 days, 2:21, 1 user, load average: 0.08, 0.04, 0.07"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004900", "end": "2025-12-18 12:50:13.468674", "msg": "", "rc": 0, "start": "2025-12-18 12:50:13.463774", "stderr": "", "stderr_lines": [], "stdout": " 12:50:13 up 9:01, 1 user, load average: 2.09, 1.58, 1.49", "stdout_lines": [" 12:50:13 up 9:01, 1 user, load average: 2.09, 1.58, 1.49"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019684", "end": "2025-12-18 12:50:12.366180", "msg": "", "rc": 0, "start": "2025-12-18 12:50:12.346496", "stderr": "", "stderr_lines": [], "stdout": " 12:50:12 up 16 days, 2:16, 1 user, load average: 0.22, 0.16, 0.12", "stdout_lines": [" 12:50:12 up 16 days, 2:16, 1 user, load average: 0.22, 0.16, 0.12"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004105", "end": "2025-12-18 12:50:12.866560", "msg": "", "rc": 0, "start": "2025-12-18 12:50:12.862455", "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-18 12:50:12.900783", "msg": "", "rc": 0, "start": "2025-12-18 12:50:12.896638", "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.004646", "end": "2025-12-18 12:50:12.921288", "msg": "", "rc": 0, "start": "2025-12-18 12:50:12.916642", "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.004991", "end": "2025-12-18 12:50:12.930601", "msg": "", "rc": 0, "start": "2025-12-18 12:50:12.925610", "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.005620", "end": "2025-12-18 12:50:12.944680", "msg": "", "rc": 0, "start": "2025-12-18 12:50:12.939060", "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.005343", "end": "2025-12-18 12:49:45.927009", "msg": "", "rc": 0, "start": "2025-12-18 12:49:45.921666", "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.005500", "end": "2025-12-18 12:49:39.161773", "msg": "", "rc": 0, "start": "2025-12-18 12:49:39.156273", "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.010483", "end": "2025-12-18 12:50:13.637330", "msg": "", "rc": 0, "start": "2025-12-18 12:50:13.626847", "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.011628", "end": "2025-12-18 12:50:13.635226", "msg": "", "rc": 0, "start": "2025-12-18 12:50:13.623598", "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.005842", "end": "2025-12-18 12:50:13.823543", "msg": "", "rc": 0, "start": "2025-12-18 12:50:13.817701", "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.005222", "end": "2025-12-18 12:49:42.315257", "msg": "", "rc": 0, "start": "2025-12-18 12:49:42.310035", "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.005501", "end": "2025-12-18 09:50:14.092618", "msg": "", "rc": 0, "start": "2025-12-18 09:50:14.087117", "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.004830", "end": "2025-12-18 12:49:49.292973", "msg": "", "rc": 0, "start": "2025-12-18 12:49:49.288143", "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.005274", "end": "2025-12-18 12:50:14.249009", "msg": "", "rc": 0, "start": "2025-12-18 12:50:14.243735", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007898", "end": "2025-12-18 12:50:15.457121", "msg": "", "rc": 0, "start": "2025-12-18 12:50:15.449223", "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.024856", "end": "2025-12-18 12:50:14.257613", "msg": "", "rc": 0, "start": "2025-12-18 12:50:14.232757", "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.004227", "end": "2025-12-18 12:50:14.777799", "msg": "", "rc": 0, "start": "2025-12-18 12:50:14.773572", "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.004822", "end": "2025-12-18 12:50:14.803919", "msg": "", "rc": 0, "start": "2025-12-18 12:50:14.799097", "stderr": "", "stderr_lines": [], "stdout": "49.5%", "stdout_lines": ["49.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.004098", "end": "2025-12-18 12:50:14.802628", "msg": "", "rc": 0, "start": "2025-12-18 12:50:14.798530", "stderr": "", "stderr_lines": [], "stdout": "22.8%", "stdout_lines": ["22.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.005278", "end": "2025-12-18 12:50:14.817388", "msg": "", "rc": 0, "start": "2025-12-18 12:50:14.812110", "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.005823", "end": "2025-12-18 12:50:14.830144", "msg": "", "rc": 0, "start": "2025-12-18 12:50:14.824321", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.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.004234", "end": "2025-12-18 12:49:47.834937", "msg": "", "rc": 0, "start": "2025-12-18 12:49:47.830703", "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.004426", "end": "2025-12-18 12:49:41.069008", "msg": "", "rc": 0, "start": "2025-12-18 12:49:41.064582", "stderr": "", "stderr_lines": [], "stdout": "64.5%", "stdout_lines": ["64.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.010883", "end": "2025-12-18 12:50:15.516070", "msg": "", "rc": 0, "start": "2025-12-18 12:50:15.505187", "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-18 12:50:15.515356", "msg": "", "rc": 0, "start": "2025-12-18 12:50:15.503172", "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.005805", "end": "2025-12-18 12:50:15.754537", "msg": "", "rc": 0, "start": "2025-12-18 12:50:15.748732", "stderr": "", "stderr_lines": [], "stdout": "36.3%", "stdout_lines": ["36.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.004118", "end": "2025-12-18 12:49:44.232242", "msg": "", "rc": 0, "start": "2025-12-18 12:49:44.228124", "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.005075", "end": "2025-12-18 09:50:15.969794", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 09:50:15.964719", "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.003440", "end": "2025-12-18 12:49:51.166085", "msg": "", "rc": 0, "start": "2025-12-18 12:49:51.162645", "stderr": "", "stderr_lines": [], "stdout": "46.8%", "stdout_lines": ["46.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.005768", "end": "2025-12-18 12:50:16.178778", "msg": "", "rc": 0, "start": "2025-12-18 12:50:16.173010", "stderr": "", "stderr_lines": [], "stdout": "14.2%", "stdout_lines": ["14.2%"]}
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.007131", "end": "2025-12-18 12:50:17.465868", "msg": "", "rc": 0, "start": "2025-12-18 12:50:17.458737", "stderr": "", "stderr_lines": [], "stdout": "13.2%", "stdout_lines": ["13.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.025909", "end": "2025-12-18 12:50:16.187721", "msg": "", "rc": 0, "start": "2025-12-18 12:50:16.161812", "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.005321", "end": "2025-12-18 12:50:16.695880", "msg": "", "rc": 0, "start": "2025-12-18 12:50:16.690559", "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.004749", "end": "2025-12-18 12:50:16.702464", "msg": "", "rc": 0, "start": "2025-12-18 12:50:16.697715", "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.005871", "end": "2025-12-18 12:50:16.705846", "msg": "", "rc": 0, "start": "2025-12-18 12:50:16.699975", "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.003299", "end": "2025-12-18 12:50:16.754266", "msg": "", "rc": 0, "start": "2025-12-18 12:50:16.750967", "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.006752", "end": "2025-12-18 12:50:16.754788", "msg": "", "rc": 0, "start": "2025-12-18 12:50:16.748036", "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.002824", "end": "2025-12-18 12:49:49.770134", "msg": "", "rc": 0, "start": "2025-12-18 12:49:49.767310", "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.002894", "end": "2025-12-18 12:49:42.994494", "msg": "", "rc": 0, "start": "2025-12-18 12:49:42.991600", "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.011717", "end": "2025-12-18 12:50:17.378054", "msg": "", "rc": 0, "start": "2025-12-18 12:50:17.366337", "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.013073", "end": "2025-12-18 12:50:17.414176", "msg": "", "rc": 0, "start": "2025-12-18 12:50:17.401103", "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.003409", "end": "2025-12-18 12:50:17.694535", "msg": "", "rc": 0, "start": "2025-12-18 12:50:17.691126", "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.002771", "end": "2025-12-18 12:49:46.166696", "msg": "", "rc": 0, "start": "2025-12-18 12:49:46.163925", "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.003757", "end": "2025-12-18 09:50:17.864801", "msg": "", "rc": 0, "start": "2025-12-18 09:50:17.861044", "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.002761", "end": "2025-12-18 12:49:53.031306", "msg": "", "rc": 0, "start": "2025-12-18 12:49:53.028545", "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.003003", "end": "2025-12-18 12:50:18.107323", "msg": "", "rc": 0, "start": "2025-12-18 12:50:18.104320", "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.004850", "end": "2025-12-18 12:50:19.460904", "msg": "", "rc": 0, "start": "2025-12-18 12:50:19.456054", "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.028581", "end": "2025-12-18 12:50:18.087496", "msg": "", "rc": 0, "start": "2025-12-18 12:50:18.058915", "stderr": "", "stderr_lines": [], "stdout": "36.4°C", "stdout_lines": ["36.4°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.004358", "end": "2025-12-18 12:50:18.604140", "msg": "", "rc": 0, "start": "2025-12-18 12:50:18.599782", "stderr": "", "stderr_lines": [], "stdout": "0.05", "stdout_lines": ["0.05"]}
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.003992", "end": "2025-12-18 12:50:18.612005", "msg": "", "rc": 0, "start": "2025-12-18 12:50:18.608013", "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.004869", "end": "2025-12-18 12:50:18.611377", "msg": "", "rc": 0, "start": "2025-12-18 12:50:18.606508", "stderr": "", "stderr_lines": [], "stdout": "0.85", "stdout_lines": ["0.85"]}
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-18 12:50:18.649816", "msg": "", "rc": 0, "start": "2025-12-18 12:50:18.644253", "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.004530", "end": "2025-12-18 12:50:18.654831", "msg": "", "rc": 0, "start": "2025-12-18 12:50:18.650301", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
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.004296", "end": "2025-12-18 12:49:51.645651", "msg": "", "rc": 0, "start": "2025-12-18 12:49:51.641355", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
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.005422", "end": "2025-12-18 12:49:44.862047", "msg": "", "rc": 0, "start": "2025-12-18 12:49:44.856625", "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.011225", "end": "2025-12-18 12:50:19.381615", "msg": "", "rc": 0, "start": "2025-12-18 12:50:19.370390", "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.010103", "end": "2025-12-18 12:50:19.386552", "msg": "", "rc": 0, "start": "2025-12-18 12:50:19.376449", "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.005650", "end": "2025-12-18 12:50:19.559523", "msg": "", "rc": 0, "start": "2025-12-18 12:50:19.553873", "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.005350", "end": "2025-12-18 12:49:48.084918", "msg": "", "rc": 0, "start": "2025-12-18 12:49:48.079568", "stderr": "", "stderr_lines": [], "stdout": "0.54", "stdout_lines": ["0.54"]}
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.005901", "end": "2025-12-18 09:50:19.845861", "msg": "", "rc": 0, "start": "2025-12-18 09:50:19.839960", "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.004415", "end": "2025-12-18 12:49:55.050367", "msg": "", "rc": 0, "start": "2025-12-18 12:49:55.045952", "stderr": "", "stderr_lines": [], "stdout": "0.20", "stdout_lines": ["0.20"]}
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.005347", "end": "2025-12-18 12:50:19.974362", "msg": "", "rc": 0, "start": "2025-12-18 12:50:19.969015", "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.006571", "end": "2025-12-18 12:50:20.089744", "msg": "", "rc": 0, "start": "2025-12-18 12:50:20.083173", "stderr": "", "stderr_lines": [], "stdout": "2.00", "stdout_lines": ["2.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.024498", "end": "2025-12-18 12:50:19.986341", "msg": "", "rc": 0, "start": "2025-12-18 12:50:19.961843", "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: 12:50:11 up 4 days, 2:22, 1 user, load average: 0.15, 0.14, 0.16\nDisk Usage: 22%\nMemory Usage: 22.8%\nCPU Load: 0.14\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:50:10 up 22 days, 23:41, 1 user, load average: 0.06, 0.12, 0.09\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.05\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:50:11 up 23 days, 1 min, 1 user, load average: 0.72, 0.59, 0.50\nDisk Usage: 14%\nMemory Usage: 49.5%\nCPU Load: 0.85\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:50:11 up 23 days, 1:14, 1 user, load average: 0.42, 0.48, 0.54\nDisk Usage: 14%\nMemory Usage: 58.7%\nCPU Load: 0.47\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:50:11 up 23 days, 2:00, 1 user, load average: 0.07, 0.07, 0.02\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: 12:50:12 up 16 days, 2:16, 1 user, load average: 0.22, 0.16, 0.12\nDisk Usage: 21%\nMemory Usage: 20.9%\nCPU Load: 0.27\nCPU Temp: 36.4°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:50:11 up 195 days, 4:23, 1 user, load average: 0.15, 0.20, 0.18\nDisk Usage: 6%\nMemory Usage: 12.9%\nCPU Load: 0.14\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:50:11 up 195 days, 4:23, 1 user, load average: 0.18, 0.14, 0.13\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.25\nCPU Temp: 31.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:49:44 up 12 days, 39 min, 0 user, load average: 0.29, 0.16, 0.17\nDisk Usage: 48%\nMemory Usage: 70.7%\nCPU Load: 0.26\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:49:37 up 18 days, 20:51, 0 user, load average: 0.00, 0.00, 0.00\nDisk Usage: 24%\nMemory Usage: 64.5%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:50:11 up 4 days, 2:21, 1 user, load average: 0.01, 0.01, 0.00\nDisk Usage: 1%\nMemory Usage: 36.3%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:49:40 up 21 days, 15:43, 0 user, load average: 0.59, 0.52, 0.54\nDisk Usage: 28%\nMemory Usage: 27.3%\nCPU Load: 0.54\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:49:47 up 18 days, 2:05, 0 user, load average: 0.14, 0.10, 0.09\nDisk Usage: 76%\nMemory Usage: 46.8%\nCPU Load: 0.20\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:50AM up 22 days, 23:39, 1 user, load averages: 0.20, 0.18, 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: 12:50:12 up 4 days, 2:21, 1 user, load average: 0.08, 0.04, 0.07\nDisk Usage: 79%\nMemory Usage: 14.2%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:50:13 up 9:01, 1 user, load average: 2.09, 1.58, 1.49\nDisk Usage: 1%\nMemory Usage: 13.2%\nCPU Load: 2.00\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-18T17:50:20.971572+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `c72fca3e84ff413cabb6e14da8dad644` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T17:55:00.001619+00:00 |
| **Fin** | 2025-12-18T17:55:22.506617+00:00 |
| **Durée** | 22.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: [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: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003444", "end": "2025-12-18 12:55:11.430452", "msg": "", "rc": 0, "start": "2025-12-18 12:55:11.427008", "stderr": "", "stderr_lines": [], "stdout": " 12:55:11 up 23 days, 6 min, 1 user, load average: 0.72, 0.66, 0.56", "stdout_lines": [" 12:55:11 up 23 days, 6 min, 1 user, load average: 0.72, 0.66, 0.56"]}
ok: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003972", "end": "2025-12-18 12:55:11.461724", "msg": "", "rc": 0, "start": "2025-12-18 12:55:11.457752", "stderr": "", "stderr_lines": [], "stdout": " 12:55:11 up 23 days, 2:05, 1 user, load average: 0.00, 0.02, 0.00", "stdout_lines": [" 12:55:11 up 23 days, 2:05, 1 user, load average: 0.00, 0.02, 0.00"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002878", "end": "2025-12-18 12:55:11.466338", "msg": "", "rc": 0, "start": "2025-12-18 12:55:11.463460", "stderr": "", "stderr_lines": [], "stdout": " 12:55:11 up 4 days, 2:27, 1 user, load average: 0.11, 0.17, 0.17", "stdout_lines": [" 12:55:11 up 4 days, 2:27, 1 user, load average: 0.11, 0.17, 0.17"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003956", "end": "2025-12-18 12:55:11.464259", "msg": "", "rc": 0, "start": "2025-12-18 12:55:11.460303", "stderr": "", "stderr_lines": [], "stdout": " 12:55:11 up 23 days, 1:19, 1 user, load average: 0.37, 0.47, 0.52", "stdout_lines": [" 12:55:11 up 23 days, 1:19, 1 user, load average: 0.37, 0.47, 0.52"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002871", "end": "2025-12-18 12:54:44.459455", "msg": "", "rc": 0, "start": "2025-12-18 12:54:44.456584", "stderr": "", "stderr_lines": [], "stdout": " 12:54:44 up 12 days, 44 min, 0 user, load average: 0.17, 0.12, 0.14", "stdout_lines": [" 12:54:44 up 12 days, 44 min, 0 user, load average: 0.17, 0.12, 0.14"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008304", "end": "2025-12-18 12:55:12.112872", "msg": "", "rc": 0, "start": "2025-12-18 12:55:12.104568", "stderr": "", "stderr_lines": [], "stdout": " 12:55:12 up 195 days, 4:28, 1 user, load average: 0.23, 0.14, 0.12", "stdout_lines": [" 12:55:12 up 195 days, 4:28, 1 user, load average: 0.23, 0.14, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009185", "end": "2025-12-18 12:55:12.153231", "msg": "", "rc": 0, "start": "2025-12-18 12:55:12.144046", "stderr": "", "stderr_lines": [], "stdout": " 12:55:12 up 195 days, 4:28, 1 user, load average: 0.17, 0.17, 0.18", "stdout_lines": [" 12:55:12 up 195 days, 4:28, 1 user, load average: 0.17, 0.17, 0.18"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004027", "end": "2025-12-18 12:55:12.429077", "msg": "", "rc": 0, "start": "2025-12-18 12:55:11.425050", "stderr": "", "stderr_lines": [], "stdout": " 12:55:11 up 22 days, 23:46, 1 user, load average: 0.26, 0.16, 0.10", "stdout_lines": [" 12:55:11 up 22 days, 23:46, 1 user, load average: 0.26, 0.16, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003546", "end": "2025-12-18 12:54:38.104286", "msg": "", "rc": 0, "start": "2025-12-18 12:54:38.100740", "stderr": "", "stderr_lines": [], "stdout": " 12:54:38 up 18 days, 20:56, 0 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 12:54:38 up 18 days, 20:56, 0 user, load average: 0.00, 0.01, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004901", "end": "2025-12-18 12:55:12.598457", "msg": "", "rc": 0, "start": "2025-12-18 12:55:12.593556", "stderr": "", "stderr_lines": [], "stdout": " 12:55:12 up 4 days, 2:26, 1 user, load average: 0.00, 0.01, 0.00", "stdout_lines": [" 12:55:12 up 4 days, 2:26, 1 user, load average: 0.00, 0.01, 0.00"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003245", "end": "2025-12-18 12:54:41.014253", "msg": "", "rc": 0, "start": "2025-12-18 12:54:41.011008", "stderr": "", "stderr_lines": [], "stdout": " 12:54:41 up 21 days, 15:48, 0 user, load average: 0.44, 0.44, 0.50", "stdout_lines": [" 12:54:41 up 21 days, 15:48, 0 user, load average: 0.44, 0.44, 0.50"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004275", "end": "2025-12-18 09:55:12.839560", "msg": "", "rc": 0, "start": "2025-12-18 09:55:12.835285", "stderr": "", "stderr_lines": [], "stdout": " 9:55AM up 22 days, 23:45, 1 user, load averages: 0.21, 0.19, 0.20", "stdout_lines": [" 9:55AM up 22 days, 23:45, 1 user, load averages: 0.21, 0.19, 0.20"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002935", "end": "2025-12-18 12:54:48.027102", "msg": "", "rc": 0, "start": "2025-12-18 12:54:48.024167", "stderr": "", "stderr_lines": [], "stdout": " 12:54:48 up 18 days, 2:10, 0 user, load average: 0.19, 0.11, 0.10", "stdout_lines": [" 12:54:48 up 18 days, 2:10, 0 user, load average: 0.19, 0.11, 0.10"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019429", "end": "2025-12-18 12:55:12.818544", "msg": "", "rc": 0, "start": "2025-12-18 12:55:12.799115", "stderr": "", "stderr_lines": [], "stdout": " 12:55:12 up 16 days, 2:21, 1 user, load average: 0.21, 0.14, 0.11", "stdout_lines": [" 12:55:12 up 16 days, 2:21, 1 user, load average: 0.21, 0.14, 0.11"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.005864", "end": "2025-12-18 12:55:13.703063", "msg": "", "rc": 0, "start": "2025-12-18 12:55:13.697199", "stderr": "", "stderr_lines": [], "stdout": " 12:55:13 up 9:06, 1 user, load average: 1.48, 1.35, 1.40", "stdout_lines": [" 12:55:13 up 9:06, 1 user, load average: 1.48, 1.35, 1.40"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003680", "end": "2025-12-18 12:55:13.006268", "msg": "", "rc": 0, "start": "2025-12-18 12:55:13.002588", "stderr": "", "stderr_lines": [], "stdout": " 12:55:12 up 4 days, 2:26, 1 user, load average: 0.07, 0.02, 0.04", "stdout_lines": [" 12:55:12 up 4 days, 2:26, 1 user, load average: 0.07, 0.02, 0.04"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004140", "end": "2025-12-18 12:55:13.404561", "msg": "", "rc": 0, "start": "2025-12-18 12:55:13.400421", "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.004241", "end": "2025-12-18 12:55:13.418604", "msg": "", "rc": 0, "start": "2025-12-18 12:55:13.414363", "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.004663", "end": "2025-12-18 12:55:13.431040", "msg": "", "rc": 0, "start": "2025-12-18 12:55:13.426377", "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.004856", "end": "2025-12-18 12:55:13.462046", "msg": "", "rc": 0, "start": "2025-12-18 12:55:13.457190", "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.005809", "end": "2025-12-18 12:55:13.484048", "msg": "", "rc": 0, "start": "2025-12-18 12:55:13.478239", "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.004787", "end": "2025-12-18 12:54:46.451236", "msg": "", "rc": 0, "start": "2025-12-18 12:54:46.446449", "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.005415", "end": "2025-12-18 12:54:39.688090", "msg": "", "rc": 0, "start": "2025-12-18 12:54:39.682675", "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.010554", "end": "2025-12-18 12:55:14.158065", "msg": "", "rc": 0, "start": "2025-12-18 12:55:14.147511", "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.011726", "end": "2025-12-18 12:55:14.187626", "msg": "", "rc": 0, "start": "2025-12-18 12:55:14.175900", "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.005941", "end": "2025-12-18 12:55:14.391430", "msg": "", "rc": 0, "start": "2025-12-18 12:55:14.385489", "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.005339", "end": "2025-12-18 12:54:42.857836", "msg": "", "rc": 0, "start": "2025-12-18 12:54:42.852497", "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.005372", "end": "2025-12-18 09:55:14.634218", "msg": "", "rc": 0, "start": "2025-12-18 09:55:14.628846", "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.005165", "end": "2025-12-18 12:54:49.800126", "msg": "", "rc": 0, "start": "2025-12-18 12:54:49.794961", "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.005334", "end": "2025-12-18 12:55:14.800979", "msg": "", "rc": 0, "start": "2025-12-18 12:55:14.795645", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.007705", "end": "2025-12-18 12:55:15.634503", "msg": "", "rc": 0, "start": "2025-12-18 12:55:15.626798", "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.025896", "end": "2025-12-18 12:55:14.781445", "msg": "", "rc": 0, "start": "2025-12-18 12:55:14.755549", "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.004224", "end": "2025-12-18 12:55:15.293285", "msg": "", "rc": 0, "start": "2025-12-18 12:55:15.289061", "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.004257", "end": "2025-12-18 12:55:15.322486", "msg": "", "rc": 0, "start": "2025-12-18 12:55:15.318229", "stderr": "", "stderr_lines": [], "stdout": "22.8%", "stdout_lines": ["22.8%"]}
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-18 12:55:15.334626", "msg": "", "rc": 0, "start": "2025-12-18 12:55:15.329719", "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.005233", "end": "2025-12-18 12:55:15.350852", "msg": "", "rc": 0, "start": "2025-12-18 12:55:15.345619", "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.005637", "end": "2025-12-18 12:55:15.361975", "msg": "", "rc": 0, "start": "2025-12-18 12:55:15.356338", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.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.003623", "end": "2025-12-18 12:54:48.341667", "msg": "", "rc": 0, "start": "2025-12-18 12:54:48.338044", "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.004240", "end": "2025-12-18 12:54:41.579873", "msg": "", "rc": 0, "start": "2025-12-18 12:54:41.575633", "stderr": "", "stderr_lines": [], "stdout": "64.6%", "stdout_lines": ["64.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.010964", "end": "2025-12-18 12:55:16.038325", "msg": "", "rc": 0, "start": "2025-12-18 12:55:16.027361", "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-18 12:55:16.034535", "msg": "", "rc": 0, "start": "2025-12-18 12:55:16.022517", "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.005905", "end": "2025-12-18 12:55:16.232983", "msg": "", "rc": 0, "start": "2025-12-18 12:55:16.227078", "stderr": "", "stderr_lines": [], "stdout": "36.2%", "stdout_lines": ["36.2%"]}
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.004058", "end": "2025-12-18 12:54:44.738661", "msg": "", "rc": 0, "start": "2025-12-18 12:54:44.734603", "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.005126", "end": "2025-12-18 09:55:16.494826", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 09:55:16.489700", "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.004021", "end": "2025-12-18 12:54:51.679066", "msg": "", "rc": 0, "start": "2025-12-18 12:54:51.675045", "stderr": "", "stderr_lines": [], "stdout": "47.6%", "stdout_lines": ["47.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.005387", "end": "2025-12-18 12:55:16.669816", "msg": "", "rc": 0, "start": "2025-12-18 12:55:16.664429", "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.007612", "end": "2025-12-18 12:55:17.589502", "msg": "", "rc": 0, "start": "2025-12-18 12:55:17.581890", "stderr": "", "stderr_lines": [], "stdout": "13.2%", "stdout_lines": ["13.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.025501", "end": "2025-12-18 12:55:16.686442", "msg": "", "rc": 0, "start": "2025-12-18 12:55:16.660941", "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.005268", "end": "2025-12-18 12:55:17.213606", "msg": "", "rc": 0, "start": "2025-12-18 12:55:17.208338", "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.004865", "end": "2025-12-18 12:55:17.233912", "msg": "", "rc": 0, "start": "2025-12-18 12:55:17.229047", "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.006364", "end": "2025-12-18 12:55:17.243493", "msg": "", "rc": 0, "start": "2025-12-18 12:55:17.237129", "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.003500", "end": "2025-12-18 12:55:17.248990", "msg": "", "rc": 0, "start": "2025-12-18 12:55:17.245490", "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.006679", "end": "2025-12-18 12:55:17.266695", "msg": "", "rc": 0, "start": "2025-12-18 12:55:17.260016", "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.002863", "end": "2025-12-18 12:54:50.249754", "msg": "", "rc": 0, "start": "2025-12-18 12:54:50.246891", "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.003127", "end": "2025-12-18 12:54:43.467871", "msg": "", "rc": 0, "start": "2025-12-18 12:54:43.464744", "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.011878", "end": "2025-12-18 12:55:17.917881", "msg": "", "rc": 0, "start": "2025-12-18 12:55:17.906003", "stderr": "", "stderr_lines": [], "stdout": "33.6°C", "stdout_lines": ["33.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.013024", "end": "2025-12-18 12:55:17.966450", "msg": "", "rc": 0, "start": "2025-12-18 12:55:17.953426", "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.003141", "end": "2025-12-18 12:55:18.161484", "msg": "", "rc": 0, "start": "2025-12-18 12:55:18.158343", "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.009603", "end": "2025-12-18 12:54:46.649680", "msg": "", "rc": 0, "start": "2025-12-18 12:54:46.640077", "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.004129", "end": "2025-12-18 09:55:18.425990", "msg": "", "rc": 0, "start": "2025-12-18 09:55:18.421861", "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.003351", "end": "2025-12-18 12:54:53.600906", "msg": "", "rc": 0, "start": "2025-12-18 12:54:53.597555", "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.002997", "end": "2025-12-18 12:55:18.576831", "msg": "", "rc": 0, "start": "2025-12-18 12:55:18.573834", "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.004254", "end": "2025-12-18 12:55:19.604561", "msg": "", "rc": 0, "start": "2025-12-18 12:55:19.600307", "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.028466", "end": "2025-12-18 12:55:18.625617", "msg": "", "rc": 0, "start": "2025-12-18 12:55:18.597151", "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.004396", "end": "2025-12-18 12:55:19.143366", "msg": "", "rc": 0, "start": "2025-12-18 12:55:19.138970", "stderr": "", "stderr_lines": [], "stdout": "0.22", "stdout_lines": ["0.22"]}
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.004021", "end": "2025-12-18 12:55:19.145402", "msg": "", "rc": 0, "start": "2025-12-18 12:55:19.141381", "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.004968", "end": "2025-12-18 12:55:19.153344", "msg": "", "rc": 0, "start": "2025-12-18 12:55:19.148376", "stderr": "", "stderr_lines": [], "stdout": "0.61", "stdout_lines": ["0.61"]}
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.004984", "end": "2025-12-18 12:55:19.185788", "msg": "", "rc": 0, "start": "2025-12-18 12:55:19.180804", "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.005766", "end": "2025-12-18 12:55:19.204886", "msg": "", "rc": 0, "start": "2025-12-18 12:55:19.199120", "stderr": "", "stderr_lines": [], "stdout": "0.58", "stdout_lines": ["0.58"]}
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.004534", "end": "2025-12-18 12:54:52.201331", "msg": "", "rc": 0, "start": "2025-12-18 12:54:52.196797", "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.005253", "end": "2025-12-18 12:54:45.412982", "msg": "", "rc": 0, "start": "2025-12-18 12:54:45.407729", "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.010075", "end": "2025-12-18 12:55:19.906659", "msg": "", "rc": 0, "start": "2025-12-18 12:55:19.896584", "stderr": "", "stderr_lines": [], "stdout": "0.21", "stdout_lines": ["0.21"]}
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.011128", "end": "2025-12-18 12:55:19.944232", "msg": "", "rc": 0, "start": "2025-12-18 12:55:19.933104", "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.005664", "end": "2025-12-18 12:55:20.105700", "msg": "", "rc": 0, "start": "2025-12-18 12:55:20.100036", "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.004919", "end": "2025-12-18 12:54:48.562918", "msg": "", "rc": 0, "start": "2025-12-18 12:54:48.557999", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
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.004761", "end": "2025-12-18 12:54:55.550532", "msg": "", "rc": 0, "start": "2025-12-18 12:54:55.545771", "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.006990", "end": "2025-12-18 09:55:20.397930", "msg": "", "rc": 0, "start": "2025-12-18 09:55:20.390940", "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.005245", "end": "2025-12-18 12:55:20.520476", "msg": "", "rc": 0, "start": "2025-12-18 12:55:20.515231", "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.007192", "end": "2025-12-18 12:55:21.604975", "msg": "", "rc": 0, "start": "2025-12-18 12:55:21.597783", "stderr": "", "stderr_lines": [], "stdout": "1.44", "stdout_lines": ["1.44"]}
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.024172", "end": "2025-12-18 12:55:20.524090", "msg": "", "rc": 0, "start": "2025-12-18 12:55:20.499918", "stderr": "", "stderr_lines": [], "stdout": "0.26", "stdout_lines": ["0.26"]}
TASK [Display health status] ***************************************************
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:55:11 up 4 days, 2:27, 1 user, load average: 0.11, 0.17, 0.17\nDisk Usage: 22%\nMemory Usage: 22.8%\nCPU Load: 0.18\nCPU Temp: 47.0°C\n═══════════════════════════════════════\n"
}
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:55:11 up 22 days, 23:46, 1 user, load average: 0.26, 0.16, 0.10\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.22\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:55:11 up 23 days, 6 min, 1 user, load average: 0.72, 0.66, 0.56\nDisk Usage: 14%\nMemory Usage: 49.5%\nCPU Load: 0.61\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:55:11 up 23 days, 1:19, 1 user, load average: 0.37, 0.47, 0.52\nDisk Usage: 14%\nMemory Usage: 58.7%\nCPU Load: 0.58\nCPU Temp: 52.5°C\n═══════════════════════════════════════\n"
}
ok: [mimi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: mimi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:55:11 up 23 days, 2:05, 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: 12:55:12 up 16 days, 2:21, 1 user, load average: 0.21, 0.14, 0.11\nDisk Usage: 21%\nMemory Usage: 19.6%\nCPU Load: 0.26\nCPU Temp: 36.3°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:55:12 up 195 days, 4:28, 1 user, load average: 0.17, 0.17, 0.18\nDisk Usage: 6%\nMemory Usage: 13.0%\nCPU Load: 0.22\nCPU Temp: 37.5°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:55:12 up 195 days, 4:28, 1 user, load average: 0.23, 0.14, 0.12\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.21\nCPU Temp: 33.6°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:54:44 up 12 days, 44 min, 0 user, load average: 0.17, 0.12, 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: 12:54:38 up 18 days, 20:56, 0 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 24%\nMemory Usage: 64.6%\nCPU Load: 0.08\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:55:12 up 4 days, 2:26, 1 user, load average: 0.00, 0.01, 0.00\nDisk Usage: 1%\nMemory Usage: 36.2%\nCPU Load: 0.00\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:54:41 up 21 days, 15:48, 0 user, load average: 0.44, 0.44, 0.50\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.41\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:54:48 up 18 days, 2:10, 0 user, load average: 0.19, 0.11, 0.10\nDisk Usage: 76%\nMemory Usage: 47.6%\nCPU Load: 0.16\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 9:55AM up 22 days, 23:45, 1 user, load averages: 0.21, 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: 12:55:12 up 4 days, 2:26, 1 user, load average: 0.07, 0.02, 0.04\nDisk Usage: 79%\nMemory Usage: 14.0%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [localhost] => {
"msg": "═══════════════════════════════════════\nHost: localhost\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:55:13 up 9:06, 1 user, load average: 1.48, 1.35, 1.40\nDisk Usage: 1%\nMemory Usage: 13.2%\nCPU Load: 1.44\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-18T17:55:22.549737+00:00*
@@ -0,0 +1,224 @@
# ✅ [Planifié] Health-check-5min
## Informations
| Propriété | Valeur |
|-----------|--------|
| **ID** | `f3b5ce5cbd654ab1b2eecc3010eed198` |
| **Nom** | [Planifié] Health-check-5min |
| **Cible** | `all` |
| **Statut** | completed |
| **Type** | Planifié |
| **Progression** | 100% |
| **Début** | 2025-12-18T18:00:00.001080+00:00 |
| **Fin** | 2025-12-18T18:00:21.952682+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: [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: [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: [mimi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003499", "end": "2025-12-18 13:00:10.972353", "msg": "", "rc": 0, "start": "2025-12-18 13:00:10.968854", "stderr": "", "stderr_lines": [], "stdout": " 13:00:10 up 23 days, 2:10, 1 user, load average: 0.03, 0.01, 0.00", "stdout_lines": [" 13:00:10 up 23 days, 2:10, 1 user, load average: 0.03, 0.01, 0.00"]}
ok: [hp3.i5.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004141", "end": "2025-12-18 13:00:10.989548", "msg": "", "rc": 0, "start": "2025-12-18 13:00:10.985407", "stderr": "", "stderr_lines": [], "stdout": " 13:00:10 up 23 days, 1:24, 1 user, load average: 0.61, 0.60, 0.56", "stdout_lines": [" 13:00:10 up 23 days, 1:24, 1 user, load average: 0.61, 0.60, 0.56"]}
ok: [ali2v.xeon.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002831", "end": "2025-12-18 13:00:11.000723", "msg": "", "rc": 0, "start": "2025-12-18 13:00:10.997892", "stderr": "", "stderr_lines": [], "stdout": " 13:00:10 up 4 days, 2:32, 1 user, load average: 0.31, 0.16, 0.16", "stdout_lines": [" 13:00:10 up 4 days, 2:32, 1 user, load average: 0.31, 0.16, 0.16"]}
ok: [raspi.8gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.008459", "end": "2025-12-18 13:00:11.642779", "msg": "", "rc": 0, "start": "2025-12-18 13:00:11.634320", "stderr": "", "stderr_lines": [], "stdout": " 13:00:11 up 195 days, 4:33, 1 user, load average: 0.17, 0.14, 0.12", "stdout_lines": [" 13:00:11 up 195 days, 4:33, 1 user, load average: 0.17, 0.14, 0.12"]}
ok: [raspi.4gb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.009242", "end": "2025-12-18 13:00:11.692370", "msg": "", "rc": 0, "start": "2025-12-18 13:00:11.683128", "stderr": "", "stderr_lines": [], "stdout": " 13:00:11 up 195 days, 4:33, 1 user, load average: 0.20, 0.15, 0.16", "stdout_lines": [" 13:00:11 up 195 days, 4:33, 1 user, load average: 0.20, 0.15, 0.16"]}
ok: [hp.nas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004472", "end": "2025-12-18 13:00:11.959198", "msg": "", "rc": 0, "start": "2025-12-18 13:00:10.954726", "stderr": "", "stderr_lines": [], "stdout": " 13:00:10 up 22 days, 23:51, 1 user, load average: 0.14, 0.15, 0.10", "stdout_lines": [" 13:00:10 up 22 days, 23:51, 1 user, load average: 0.14, 0.15, 0.10"]}
ok: [hp2.i7.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:01.004488", "end": "2025-12-18 13:00:11.964497", "msg": "", "rc": 0, "start": "2025-12-18 13:00:10.960009", "stderr": "", "stderr_lines": [], "stdout": " 13:00:10 up 23 days, 11 min, 1 user, load average: 0.44, 0.49, 0.51", "stdout_lines": [" 13:00:10 up 23 days, 11 min, 1 user, load average: 0.44, 0.49, 0.51"]}
ok: [dev.lab.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002710", "end": "2025-12-18 12:59:44.700154", "msg": "", "rc": 0, "start": "2025-12-18 12:59:44.697444", "stderr": "", "stderr_lines": [], "stdout": " 12:59:44 up 12 days, 49 min, 0 user, load average: 0.01, 0.06, 0.10", "stdout_lines": [" 12:59:44 up 12 days, 49 min, 0 user, load average: 0.01, 0.06, 0.10"]}
ok: [media.labb.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003480", "end": "2025-12-18 12:59:37.923800", "msg": "", "rc": 0, "start": "2025-12-18 12:59:37.920320", "stderr": "", "stderr_lines": [], "stdout": " 12:59:37 up 18 days, 21:01, 0 user, load average: 0.02, 0.01, 0.00", "stdout_lines": [" 12:59:37 up 18 days, 21:01, 0 user, load average: 0.02, 0.01, 0.00"]}
ok: [ali2v.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004879", "end": "2025-12-18 13:00:12.405727", "msg": "", "rc": 0, "start": "2025-12-18 13:00:12.400848", "stderr": "", "stderr_lines": [], "stdout": " 13:00:12 up 4 days, 2:31, 1 user, load average: 0.04, 0.04, 0.00", "stdout_lines": [" 13:00:12 up 4 days, 2:31, 1 user, load average: 0.04, 0.04, 0.00"]}
ok: [orangepi.pc.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.019179", "end": "2025-12-18 13:00:12.346653", "msg": "", "rc": 0, "start": "2025-12-18 13:00:12.327474", "stderr": "", "stderr_lines": [], "stdout": " 13:00:12 up 16 days, 2:26, 1 user, load average: 0.21, 0.12, 0.10", "stdout_lines": [" 13:00:12 up 16 days, 2:26, 1 user, load average: 0.21, 0.12, 0.10"]}
ok: [automate.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003587", "end": "2025-12-18 12:59:40.784708", "msg": "", "rc": 0, "start": "2025-12-18 12:59:40.781121", "stderr": "", "stderr_lines": [], "stdout": " 12:59:40 up 21 days, 15:53, 0 user, load average: 0.25, 0.35, 0.44", "stdout_lines": [" 12:59:40 up 21 days, 15:53, 0 user, load average: 0.25, 0.35, 0.44"]}
ok: [dev.prod.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.002874", "end": "2025-12-18 12:59:47.767232", "msg": "", "rc": 0, "start": "2025-12-18 12:59:47.764358", "stderr": "", "stderr_lines": [], "stdout": " 12:59:47 up 18 days, 2:15, 0 user, load average: 0.08, 0.09, 0.09", "stdout_lines": [" 12:59:47 up 18 days, 2:15, 0 user, load average: 0.08, 0.09, 0.09"]}
ok: [hp.truenas.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.004201", "end": "2025-12-18 10:00:12.670525", "msg": "", "rc": 0, "start": "2025-12-18 10:00:12.666324", "stderr": "", "stderr_lines": [], "stdout": "10:00AM up 22 days, 23:50, 1 user, load averages: 0.21, 0.19, 0.18", "stdout_lines": ["10:00AM up 22 days, 23:50, 1 user, load averages: 0.21, 0.19, 0.18"]}
ok: [localhost] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.006814", "end": "2025-12-18 13:00:13.076240", "msg": "", "rc": 0, "start": "2025-12-18 13:00:13.069426", "stderr": "", "stderr_lines": [], "stdout": " 13:00:13 up 9:11, 1 user, load average: 1.50, 1.27, 1.33", "stdout_lines": [" 13:00:13 up 9:11, 1 user, load average: 1.50, 1.27, 1.33"]}
ok: [jump.point.home] => {"changed": false, "cmd": ["uptime"], "delta": "0:00:00.003752", "end": "2025-12-18 13:00:12.819159", "msg": "", "rc": 0, "start": "2025-12-18 13:00:12.815407", "stderr": "", "stderr_lines": [], "stdout": " 13:00:12 up 4 days, 2:31, 1 user, load average: 0.12, 0.06, 0.04", "stdout_lines": [" 13:00:12 up 4 days, 2:31, 1 user, load average: 0.12, 0.06, 0.04"]}
TASK [Get disk usage] **********************************************************
ok: [hp.nas.home] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.004162", "end": "2025-12-18 13:00:13.219440", "msg": "", "rc": 0, "start": "2025-12-18 13:00:13.215278", "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.004361", "end": "2025-12-18 13:00:13.241314", "msg": "", "rc": 0, "start": "2025-12-18 13:00:13.236953", "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.004644", "end": "2025-12-18 13:00:13.249927", "msg": "", "rc": 0, "start": "2025-12-18 13:00:13.245283", "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.004818", "end": "2025-12-18 13:00:13.272195", "msg": "", "rc": 0, "start": "2025-12-18 13:00:13.267377", "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.005636", "end": "2025-12-18 13:00:13.289464", "msg": "", "rc": 0, "start": "2025-12-18 13:00:13.283828", "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.005626", "end": "2025-12-18 12:59:46.311046", "msg": "", "rc": 0, "start": "2025-12-18 12:59:46.305420", "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.005495", "end": "2025-12-18 12:59:39.523893", "msg": "", "rc": 0, "start": "2025-12-18 12:59:39.518398", "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.010520", "end": "2025-12-18 13:00:14.031828", "msg": "", "rc": 0, "start": "2025-12-18 13:00:14.021308", "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.011417", "end": "2025-12-18 13:00:14.066129", "msg": "", "rc": 0, "start": "2025-12-18 13:00:14.054712", "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.006300", "end": "2025-12-18 13:00:14.215447", "msg": "", "rc": 0, "start": "2025-12-18 13:00:14.209147", "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.005523", "end": "2025-12-18 12:59:42.682610", "msg": "", "rc": 0, "start": "2025-12-18 12:59:42.677087", "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.005326", "end": "2025-12-18 10:00:14.539578", "msg": "", "rc": 0, "start": "2025-12-18 10:00:14.534252", "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.005360", "end": "2025-12-18 12:59:49.702954", "msg": "", "rc": 0, "start": "2025-12-18 12:59:49.697594", "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.005275", "end": "2025-12-18 13:00:14.652836", "msg": "", "rc": 0, "start": "2025-12-18 13:00:14.647561", "stderr": "", "stderr_lines": [], "stdout": "79%", "stdout_lines": ["79%"]}
ok: [localhost] => {"changed": false, "cmd": "df -h / | tail -1 | awk '{print $5}'", "delta": "0:00:00.019285", "end": "2025-12-18 13:00:15.093090", "msg": "", "rc": 0, "start": "2025-12-18 13:00:15.073805", "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.025510", "end": "2025-12-18 13:00:14.643900", "msg": "", "rc": 0, "start": "2025-12-18 13:00:14.618390", "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.004213", "end": "2025-12-18 13:00:15.159423", "msg": "", "rc": 0, "start": "2025-12-18 13:00:15.155210", "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.004173", "end": "2025-12-18 13:00:15.179941", "msg": "", "rc": 0, "start": "2025-12-18 13:00:15.175768", "stderr": "", "stderr_lines": [], "stdout": "22.7%", "stdout_lines": ["22.7%"]}
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.004614", "end": "2025-12-18 13:00:15.198843", "msg": "", "rc": 0, "start": "2025-12-18 13:00:15.194229", "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.004639", "end": "2025-12-18 13:00:15.205757", "msg": "", "rc": 0, "start": "2025-12-18 13:00:15.201118", "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.005698", "end": "2025-12-18 13:00:15.213893", "msg": "", "rc": 0, "start": "2025-12-18 13:00:15.208195", "stderr": "", "stderr_lines": [], "stdout": "58.7%", "stdout_lines": ["58.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.003801", "end": "2025-12-18 12:59:48.181885", "msg": "", "rc": 0, "start": "2025-12-18 12:59:48.178084", "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.004356", "end": "2025-12-18 12:59:41.426711", "msg": "", "rc": 0, "start": "2025-12-18 12:59:41.422355", "stderr": "", "stderr_lines": [], "stdout": "64.5%", "stdout_lines": ["64.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.010891", "end": "2025-12-18 13:00:15.848425", "msg": "", "rc": 0, "start": "2025-12-18 13:00:15.837534", "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.011945", "end": "2025-12-18 13:00:15.878446", "msg": "", "rc": 0, "start": "2025-12-18 13:00:15.866501", "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-18 13:00:16.110519", "msg": "", "rc": 0, "start": "2025-12-18 13:00:16.104631", "stderr": "", "stderr_lines": [], "stdout": "36.2%", "stdout_lines": ["36.2%"]}
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.004013", "end": "2025-12-18 12:59:44.582105", "msg": "", "rc": 0, "start": "2025-12-18 12:59:44.578092", "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.003864", "end": "2025-12-18 12:59:51.475313", "msg": "", "rc": 0, "start": "2025-12-18 12:59:51.471449", "stderr": "", "stderr_lines": [], "stdout": "48.1%", "stdout_lines": ["48.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.005060", "end": "2025-12-18 10:00:16.322070", "msg": "non-zero return code", "rc": 2, "start": "2025-12-18 10:00:16.317010", "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.005399", "end": "2025-12-18 13:00:16.527218", "msg": "", "rc": 0, "start": "2025-12-18 13:00:16.521819", "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.009175", "end": "2025-12-18 13:00:17.088761", "msg": "", "rc": 0, "start": "2025-12-18 13:00:17.079586", "stderr": "", "stderr_lines": [], "stdout": "13.1%", "stdout_lines": ["13.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.025764", "end": "2025-12-18 13:00:16.547147", "msg": "", "rc": 0, "start": "2025-12-18 13:00:16.521383", "stderr": "", "stderr_lines": [], "stdout": "20.3%", "stdout_lines": ["20.3%"]}
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.004951", "end": "2025-12-18 13:00:17.054800", "msg": "", "rc": 0, "start": "2025-12-18 13:00:17.049849", "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.005332", "end": "2025-12-18 13:00:17.057833", "msg": "", "rc": 0, "start": "2025-12-18 13:00:17.052501", "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.005883", "end": "2025-12-18 13:00:17.069126", "msg": "", "rc": 0, "start": "2025-12-18 13:00:17.063243", "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.002850", "end": "2025-12-18 13:00:17.093920", "msg": "", "rc": 0, "start": "2025-12-18 13:00:17.091070", "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.006707", "end": "2025-12-18 13:00:17.106306", "msg": "", "rc": 0, "start": "2025-12-18 13:00:17.099599", "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.002741", "end": "2025-12-18 12:59:50.081769", "msg": "", "rc": 0, "start": "2025-12-18 12:59:50.079028", "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.003366", "end": "2025-12-18 12:59:43.306355", "msg": "", "rc": 0, "start": "2025-12-18 12:59:43.302989", "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.012156", "end": "2025-12-18 13:00:17.726861", "msg": "", "rc": 0, "start": "2025-12-18 13:00:17.714705", "stderr": "", "stderr_lines": [], "stdout": "34.1°C", "stdout_lines": ["34.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.012901", "end": "2025-12-18 13:00:17.757607", "msg": "", "rc": 0, "start": "2025-12-18 13:00:17.744706", "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.003098", "end": "2025-12-18 13:00:17.994518", "msg": "", "rc": 0, "start": "2025-12-18 13:00:17.991420", "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.002872", "end": "2025-12-18 12:59:46.467011", "msg": "", "rc": 0, "start": "2025-12-18 12:59:46.464139", "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.003064", "end": "2025-12-18 12:59:53.354086", "msg": "", "rc": 0, "start": "2025-12-18 12:59:53.351022", "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.003854", "end": "2025-12-18 10:00:18.201532", "msg": "", "rc": 0, "start": "2025-12-18 10:00:18.197678", "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.002965", "end": "2025-12-18 13:00:18.416429", "msg": "", "rc": 0, "start": "2025-12-18 13:00:18.413464", "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.005470", "end": "2025-12-18 13:00:19.040525", "msg": "", "rc": 0, "start": "2025-12-18 13:00:19.035055", "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.028202", "end": "2025-12-18 13:00:18.432797", "msg": "", "rc": 0, "start": "2025-12-18 13:00:18.404595", "stderr": "", "stderr_lines": [], "stdout": "35.6°C", "stdout_lines": ["35.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.004092", "end": "2025-12-18 13:00:18.956805", "msg": "", "rc": 0, "start": "2025-12-18 13:00:18.952713", "stderr": "", "stderr_lines": [], "stdout": "0.41", "stdout_lines": ["0.41"]}
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.004380", "end": "2025-12-18 13:00:18.967166", "msg": "", "rc": 0, "start": "2025-12-18 13:00:18.962786", "stderr": "", "stderr_lines": [], "stdout": "0.12", "stdout_lines": ["0.12"]}
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.004483", "end": "2025-12-18 13:00:18.981163", "msg": "", "rc": 0, "start": "2025-12-18 13:00:18.976680", "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.005762", "end": "2025-12-18 13:00:19.014162", "msg": "", "rc": 0, "start": "2025-12-18 13:00:19.008400", "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.005328", "end": "2025-12-18 13:00:19.026611", "msg": "", "rc": 0, "start": "2025-12-18 13:00:19.021283", "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.004434", "end": "2025-12-18 12:59:52.003793", "msg": "", "rc": 0, "start": "2025-12-18 12:59:51.999359", "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.005244", "end": "2025-12-18 12:59:45.247978", "msg": "", "rc": 0, "start": "2025-12-18 12:59:45.242734", "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.010242", "end": "2025-12-18 13:00:19.755128", "msg": "", "rc": 0, "start": "2025-12-18 13:00:19.744886", "stderr": "", "stderr_lines": [], "stdout": "0.24", "stdout_lines": ["0.24"]}
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.010947", "end": "2025-12-18 13:00:19.766377", "msg": "", "rc": 0, "start": "2025-12-18 13:00:19.755430", "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.006232", "end": "2025-12-18 13:00:19.924933", "msg": "", "rc": 0, "start": "2025-12-18 13:00:19.918701", "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.005080", "end": "2025-12-18 12:59:48.393063", "msg": "", "rc": 0, "start": "2025-12-18 12:59:48.387983", "stderr": "", "stderr_lines": [], "stdout": "0.23", "stdout_lines": ["0.23"]}
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.005847", "end": "2025-12-18 10:00:20.215639", "msg": "", "rc": 0, "start": "2025-12-18 10:00:20.209792", "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.004411", "end": "2025-12-18 12:59:55.406134", "msg": "", "rc": 0, "start": "2025-12-18 12:59:55.401723", "stderr": "", "stderr_lines": [], "stdout": "0.06", "stdout_lines": ["0.06"]}
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.005308", "end": "2025-12-18 13:00:20.355359", "msg": "", "rc": 0, "start": "2025-12-18 13:00:20.350051", "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.007020", "end": "2025-12-18 13:00:21.065794", "msg": "", "rc": 0, "start": "2025-12-18 13:00:21.058774", "stderr": "", "stderr_lines": [], "stdout": "1.50", "stdout_lines": ["1.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.024055", "end": "2025-12-18 13:00:20.343760", "msg": "", "rc": 0, "start": "2025-12-18 13:00:20.319705", "stderr": "", "stderr_lines": [], "stdout": "0.27", "stdout_lines": ["0.27"]}
TASK [Display health status] ***************************************************
ok: [hp.nas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.nas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:00:10 up 22 days, 23:51, 1 user, load average: 0.14, 0.15, 0.10\nDisk Usage: 23%\nMemory Usage: 77.4%\nCPU Load: 0.12\nCPU Temp: 30.0°C\n═══════════════════════════════════════\n"
}
ok: [ali2v.xeon.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.xeon.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:00:10 up 4 days, 2:32, 1 user, load average: 0.31, 0.16, 0.16\nDisk Usage: 22%\nMemory Usage: 22.7%\nCPU Load: 0.41\nCPU Temp: 46.0°C\n═══════════════════════════════════════\n"
}
ok: [hp2.i7.home] => {
"msg": "═══════════════════════════════════════\nHost: hp2.i7.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:00:10 up 23 days, 11 min, 1 user, load average: 0.44, 0.49, 0.51\nDisk Usage: 14%\nMemory Usage: 49.5%\nCPU Load: 0.37\nCPU Temp: 0.0°C\n═══════════════════════════════════════\n"
}
ok: [hp3.i5.home] => {
"msg": "═══════════════════════════════════════\nHost: hp3.i5.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:00:10 up 23 days, 1:24, 1 user, load average: 0.61, 0.60, 0.56\nDisk Usage: 14%\nMemory Usage: 58.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: 13:00:10 up 23 days, 2:10, 1 user, load average: 0.03, 0.01, 0.00\nDisk Usage: 9%\nMemory Usage: 9.0%\nCPU Load: 0.11\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [orangepi.pc.home] => {
"msg": "═══════════════════════════════════════\nHost: orangepi.pc.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:00:12 up 16 days, 2:26, 1 user, load average: 0.21, 0.12, 0.10\nDisk Usage: 21%\nMemory Usage: 20.3%\nCPU Load: 0.27\nCPU Temp: 35.6°C\n═══════════════════════════════════════\n"
}
ok: [raspi.4gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.4gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:00:11 up 195 days, 4:33, 1 user, load average: 0.20, 0.15, 0.16\nDisk Usage: 6%\nMemory Usage: 12.8%\nCPU Load: 0.18\nCPU Temp: 36.0°C\n═══════════════════════════════════════\n"
}
ok: [raspi.8gb.home] => {
"msg": "═══════════════════════════════════════\nHost: raspi.8gb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:00:11 up 195 days, 4:33, 1 user, load average: 0.17, 0.14, 0.12\nDisk Usage: 3%\nMemory Usage: 6.8%\nCPU Load: 0.24\nCPU Temp: 34.1°C\n═══════════════════════════════════════\n"
}
ok: [dev.lab.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.lab.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:59:44 up 12 days, 49 min, 0 user, load average: 0.01, 0.06, 0.10\nDisk Usage: 48%\nMemory Usage: 70.7%\nCPU Load: 0.01\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [media.labb.home] => {
"msg": "═══════════════════════════════════════\nHost: media.labb.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:59:37 up 18 days, 21:01, 0 user, load average: 0.02, 0.01, 0.00\nDisk Usage: 24%\nMemory Usage: 64.5%\nCPU Load: 0.10\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [ali2v.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: ali2v.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 13:00:12 up 4 days, 2:31, 1 user, load average: 0.04, 0.04, 0.00\nDisk Usage: 1%\nMemory Usage: 36.2%\nCPU Load: 0.03\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [automate.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: automate.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:59:40 up 21 days, 15:53, 0 user, load average: 0.25, 0.35, 0.44\nDisk Usage: 28%\nMemory Usage: 27.2%\nCPU Load: 0.23\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [dev.prod.home] => {
"msg": "═══════════════════════════════════════\nHost: dev.prod.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 12:59:47 up 18 days, 2:15, 0 user, load average: 0.08, 0.09, 0.09\nDisk Usage: 76%\nMemory Usage: 48.1%\nCPU Load: 0.06\nCPU Temp: N/A\n═══════════════════════════════════════\n"
}
ok: [hp.truenas.home] => {
"msg": "═══════════════════════════════════════\nHost: hp.truenas.home\nStatus: OK\n═══════════════════════════════════════\nUptime: 10:00AM up 22 days, 23:50, 1 user, load averages: 0.21, 0.19, 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:00:12 up 4 days, 2:31, 1 user, load average: 0.12, 0.06, 0.04\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: 13:00:13 up 9:11, 1 user, load average: 1.50, 1.27, 1.33\nDisk Usage: 1%\nMemory Usage: 13.1%\nCPU Load: 1.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-18T18:00:22.004871+00:00*